summaryrefslogtreecommitdiff
path: root/Adam/ABlkDev
diff options
context:
space:
mode:
Diffstat (limited to 'Adam/ABlkDev')
-rw-r--r--Adam/ABlkDev/Patches/Mount2CaseAFDC.HC80
-rw-r--r--Adam/ABlkDev/Patches/Mount2CaseBFDC.HC22
-rw-r--r--Adam/ABlkDev/Patches/Mount2LtrsFDC.HC14
-rw-r--r--Adam/ABlkDev/Patches/Mount2VarsFDC.HC10
-rw-r--r--Adam/ABlkDev/Patches/Mount2VarsFDC2.HC7
5 files changed, 133 insertions, 0 deletions
diff --git a/Adam/ABlkDev/Patches/Mount2CaseAFDC.HC b/Adam/ABlkDev/Patches/Mount2CaseAFDC.HC
new file mode 100644
index 0000000..2e70791
--- /dev/null
+++ b/Adam/ABlkDev/Patches/Mount2CaseAFDC.HC
@@ -0,0 +1,80 @@
+// PATCH: Add the ability to configure floppy BlkDevs (part 1 of 2)
+// FILE: ::/Adam/ABlkDev/Mount.HC
+// TO INSTALL: #include this file at the end of the first switch statement.
+// ADAM PATCH: Must be installed after kernel patches!
+
+case BDT_FLOPPY:
+ do {
+ "Include $PURPLE$0x$FG$ prefix.\nI/O Port Base:\n";
+ GetS(base0_buf,STR_LEN);
+ } while (!Str2I64(base0_buf))
+ do {
+ "Drv Num:\n";
+ unit=GetChar-'0';
+ } while (0<=unit<=3)
+ "If you have a 3.5-inch high-density (1.44 Meg)\n"
+ "floppy disk, there are some default params you can use.\n"
+ "Otherwise, you will need to set the manually (Intel's datasheet\n"
+ "for the 82077AA is very useful here).\n\n"
+ "Use default params ";
+ If (YorN) {
+ defaults=TRUE;
+ } else {
+ "The folowing parameters are used to configure the ctrlr:\n"
+ "Most can be entered in either decimal or hex, but the head\n"
+ "count, sector size, and data rate take single decimal digits.\n"
+ do {
+ "Cylinders:\n";
+ GetS(cyl_buf,STR_LEN);
+ } while (!Str2I64(cyl_buf));
+ do {
+ "Heads:\n";
+ heads=GetChar-'0';
+ } while (1<=heads<=2);
+ do {
+ "Sectors:\n";
+ GetS(spt_buf,STR_LEN);
+ } while (0<=Str2I64(spt_buf)<=255);
+ do {
+ "Sector Size (128<<X bytes):\n";
+ size=GetChar-'0'
+ } while (0<=size<=7);
+ if (size==0) {
+ do {
+ "DTL (data length):\n";
+ GetS(dtl_buf,STR_LEN);
+ } while (1<=Str2I64(dtl_buf)<=128);
+ } else {
+ dtl_buf="0xFF"; // If sect size is not 128, DTL is set to 255
+ }
+ do {
+ "Step Rate:\n";
+ GetS(srt_buf,STR_LEN);
+ } while (0<=Str2I64(srt_buf)<=15);
+ do {
+ "Head Unload Time:\n";
+ GetS(hut_buf,STR_LEN);
+ } while (0<=Str2I64(hut_buf)<=15);
+ do {
+ "Head Load Time:\n";
+ GetS(hlt_buf,STR_LEN);
+ } while (0<=Str2I64(hlt_buf)<=127);
+ do {
+ "GPL1 (normal GAP3 len):\n";
+ GetS(gpl1_buf,STR_LEN);
+ } while (1<=Str2I64(gpl1_buf)<=255);
+ do {
+ "NOTE: Setting GPL2 to 0 will disable low-level fmt!\n";
+ "GPL2 (fmt GAP3 len):\n";
+ GetS(gpl2_buf,STR_LEN);
+ } while (0<=Str2I64(gpl2_buf)<=255);
+ do {
+ "*** Data Rates ***\n"
+ "0=500 Kbit\n"
+ "1=300 Kbit\n"
+ "2=250 Kbit\n"
+ "3=1 Mbit (Not Supported)\n\n";
+ "Data Rate:\n";
+ bps=GetChar-'0'
+ } while (0<=bps<=3);
+ } \ No newline at end of file
diff --git a/Adam/ABlkDev/Patches/Mount2CaseBFDC.HC b/Adam/ABlkDev/Patches/Mount2CaseBFDC.HC
new file mode 100644
index 0000000..2ffaa2f
--- /dev/null
+++ b/Adam/ABlkDev/Patches/Mount2CaseBFDC.HC
@@ -0,0 +1,22 @@
+// PATCH: Add the ability to configure floppy BlkDevs (part 2 of 2)
+// FILE: ::/Adam/ABlkDev/Mount.HC
+// TO INSTALL: #include this file at the end of the second switch statement.
+// ADAM PATCH: Must be installed after kernel patches!
+
+case BDT_FLOPPY:
+ if (defaults) {
+ // These assume a 1.44 Meg, 3.5-inch floppy
+ DocPrint("bd->base0=%s;",base0_buf);
+ DocPrint("bd->blk_size=128<<%d;",2);
+ DocPrint("bd->cyls=%s;bd->heads=%d;bd->spt=%s;","80",2,"18");
+ DocPrint("bd->srt=%s;bd->hut=%s;bd->hlt=%s;","13","5","0");
+ DocPrint("bd->bps=%d;bd->gpl1=%s;bd->gpl2=%s",0,"27","124");
+ DocPrint("bd->dtl=%s","255");
+ } else {
+ DocPrint("bd->base0=%s;",base0_buf);
+ DocPrint("bd->blk_size=128<<%d;",size);
+ DocPrint("bd->cyls=%s;bd->heads=%d;bd->spt=%s;",cyl_buf,heads,spt_buf);
+ DocPrint("bd->srt=%s;bd->hut=%s;bd->hlt=%s;",srt_buf,hut_buf,hlt_buf);
+ DocPrint("bd->bps=%d;bd->gpl1=%s;bd->gpl2=%s",bps,gpl1_buf,gpl2_buf);
+ DocPrint("bd->dtl=%s",dtl_buf);
+ } \ No newline at end of file
diff --git a/Adam/ABlkDev/Patches/Mount2LtrsFDC.HC b/Adam/ABlkDev/Patches/Mount2LtrsFDC.HC
new file mode 100644
index 0000000..5325350
--- /dev/null
+++ b/Adam/ABlkDev/Patches/Mount2LtrsFDC.HC
@@ -0,0 +1,14 @@
+// PATCH: Update ltr lst to reflect remapping of drv ltrs
+// FILE: ::/Adam/ABlkDev/Mount.HC
+// TO INSTALL: Comment out the original Print call.
+// THEN: #include this file after it.
+// ADAM PATCH: Must be installed after kernel patches!
+
+"\n****** Mount Drives ******\n"
+ "$GREEN$A$FG$-$GREEN$B$FG$ are RAM drives.\n"
+ "$GREEN$C$FG$-$GREEN$L$FG$ are ATA hard drives.\n"
+ "$GREEN$M$FG$-$GREEN$P$FG$ are ISO file read drives.\n"
+ "$GREEN$Q$FG$-$GREEN$S$FG$ are ISO file write drives.\n"
+ "$GREEN$T$FG$-$GREEN$V$FG$ are ATAPI CD/DVD drives.\n"
+ "$GREEN$W$FG$-$GREEN$Z$FG$ are floppy drives.\n"
+ "\nDrive Letter ($PURPLE$<ENTER>$FG$ to exit):"; \ No newline at end of file
diff --git a/Adam/ABlkDev/Patches/Mount2VarsFDC.HC b/Adam/ABlkDev/Patches/Mount2VarsFDC.HC
new file mode 100644
index 0000000..d6e4a0e
--- /dev/null
+++ b/Adam/ABlkDev/Patches/Mount2VarsFDC.HC
@@ -0,0 +1,10 @@
+// PATCH: Add more U8 bufs for floppy configuration
+// FILE: ::/Adam/ABlkDev/Mount.HC
+// TO INSTALL: Comment out the original declaration.
+// THEN: #include this file after it.
+// ADAM PATCH: Must be installed after kernel patches!
+
+U8 blks_buf[STR_LEN],addr_buf[STR_LEN],base0_buf[STR_LEN],base1_buf[STR_LEN],
+ cyl_buf[STR_LEN],heads,spt_buf[STR_LEN],size,srt_buf[STR_LEN],
+ hut_buf[STR_LEN],hlt_buf[STR_LEN],bps,gpl1_buf[STR_LEN],
+ gpl2_buf[STR_LEN],dtl_buf[STR_LEN]*filename=NULL,*filename2=NULL,res=0; \ No newline at end of file
diff --git a/Adam/ABlkDev/Patches/Mount2VarsFDC2.HC b/Adam/ABlkDev/Patches/Mount2VarsFDC2.HC
new file mode 100644
index 0000000..d148a83
--- /dev/null
+++ b/Adam/ABlkDev/Patches/Mount2VarsFDC2.HC
@@ -0,0 +1,7 @@
+// PATCH: Add two new Bools for floppy configuration
+// FILE: ::/Adam/ABlkDev/Mount.HC
+// TO INSTALL: Comment out the old Bool declaration.
+// THEN: #include this file after it.
+// ADAM PATCH: Must be installed after kernel patches!
+
+Bool whole_drv,make_free,defaults=FALSE; \ No newline at end of file