diff --git a/Apps/Source/applvers.h b/Apps/Source/applvers.h index cf162f5a..29992bc9 100644 --- a/Apps/Source/applvers.h +++ b/Apps/Source/applvers.h @@ -1,16 +1,16 @@ /************************************/ -/* applvers.h dwg - 2.5.0.1 Beta */ +/* applvers.h dwg - 2.5.0.14 Beta */ /************************************/ -#define A_RMJ 2 -#define A_RMN 5 -#define A_RUP 0 -#define A_RTP 13 +#define A_RMJ 2 +#define A_RMN 5 +#define A_RUP 0 +#define A_RTP 14 #define A_MONTH 6 -#define A_DAY 7 -#define A_YEAR 2013 -#define A_YR 13 +#define A_DAY 9 +#define A_YEAR 2013 +#define A_YR 13 /********************/ /* eof - applvers.h */ diff --git a/Apps/Source/applvers.lib b/Apps/Source/applvers.lib index b5f4af68..7599ea5c 100644 --- a/Apps/Source/applvers.lib +++ b/Apps/Source/applvers.lib @@ -1,16 +1,16 @@ -; applvers.lib 3/31/2012 dwg - For RomWBW 2.5.0.1 Release +; applvers.lib 3/31/2012 dwg - For RomWBW 2.5.0.14 Release A$RMJ equ 2 A$RMN equ 5 A$RUP equ 0 -A$RTP equ 13 +A$RTP equ 14 A$MONTH equ 6 -A$DAY equ 7 +A$DAY equ 9 A$YEAR equ 2013 date macro -dat db ' 6/7/2013$' +dat db ' 6/9/2013$' endm serial macro @@ -30,5 +30,3 @@ myname db ' Douglas W Goodall $' endm ; eof - applvers.lib - - diff --git a/Apps/Source/cbanner.c b/Apps/Source/cbanner.c index 0735bee5..83eb6511 100644 --- a/Apps/Source/cbanner.c +++ b/Apps/Source/cbanner.c @@ -15,7 +15,7 @@ sbanner(program) char szTemp[128]; printf("%s ",program); - printf("%2d/%2d/%4d ",A_MONTH,A_DAY,A_YEAR); + printf("%d/%d/%d ",A_MONTH,A_DAY,A_YEAR); printf("Version %d.%d.%d.%d ",A_RMJ,A_RMN,A_RUP,A_RTP); printf("COPR Douglas Goodall Licensed w/GPLv3\n"); } @@ -31,11 +31,9 @@ banner(program) strcat(szTemp," "); } printf("%s ",szTemp); - printf("%2d/%2d/%4d ",A_MONTH,A_DAY,A_YEAR); + printf("%d/%d/%d ",A_MONTH,A_DAY,A_YEAR); printf("Version %d.%d.%d.%d\n",A_RMJ,A_RMN,A_RUP,A_RTP); printf("%s\n",line2); printf("%s\n",line3); printf("%s\n",lines); } - - \ No newline at end of file diff --git a/Apps/Source/map.c b/Apps/Source/map.c index 91a83dcb..c7dbe07d 100644 --- a/Apps/Source/map.c +++ b/Apps/Source/map.c @@ -392,8 +392,16 @@ int main(argc,argv) /* 123456789012345678901234567890123456789 */ printf(" "); } - + for(i=startlu;i= 100) + pad = 0; + else if (i >= 10) + pad = 1; + else + pad = 2; + luscur(drive,i); readsec(drive,0,11,&metadata); metadata.term = 0; @@ -404,16 +412,16 @@ int main(argc,argv) switch(column++) { case 0: - crtlc(line,COL1A+LGUT-2); - printf("%3d %s %s",i,szWP,metadata.label); + crtlc(line,COL1A+LGUT-2+pad); + printf("%d %s %s",i,szWP,metadata.label); break; case 1: - crtlc(line,COL2A+LGUT-2); - printf("%3d %s %s",i,szWP,metadata.label); + crtlc(line,COL2A+LGUT-2+pad); + printf("%d %s %s",i,szWP,metadata.label); break; case 2: - crtlc(line,COL3A+LGUT-2); - printf("%3d %s %s",i,szWP,metadata.label); + crtlc(line,COL3A+LGUT-2+pad); + printf("%d %s %s",i,szWP,metadata.label); column = 0; line++; break; diff --git a/Apps/Source/meta.c b/Apps/Source/meta.c index add52dbd..a1ee0271 100644 --- a/Apps/Source/meta.c +++ b/Apps/Source/meta.c @@ -35,9 +35,39 @@ int numlu; struct SYSCFG * pSYSCFG = HIGHSEG; +char hexchar(val, bitoff) +{ + static char hexmap[] = "0123456789ABCDEF"; + + return hexmap[(val >> bitoff) & 0xF]; +} + +char * fmthexbyte(val, buf) + unsigned char val; + char * buf; +{ + buf[0] = hexchar(val, 4); + buf[1] = hexchar(val, 0); + buf[2] = '\0'; + + return buf; +} + +char * fmthexword(val, buf) + unsigned int val; + char * buf; +{ + buf[0] = hexchar(val, 12); + buf[1] = hexchar(val, 8); + fmthexbyte(val, buf + 2); + + return buf; +} + display() { int i; + char buf[5]; /* Set Current Logical Unit */ luscur(drive,logunit); @@ -46,10 +76,10 @@ display() rdsector(drive,0,11,&metadata); crtlc(METALINE+0,METACOL); - printf("metadata.signature = 0x%x",metadata.signature); + printf("metadata.signature = 0x%s", fmthexword(metadata.signature, buf)); crtlc(METALINE+1,METACOL); - printf("metadata.platform = 0x%x",metadata.platform); + printf("metadata.platform = 0x%s", fmthexbyte(metadata.platform, buf)); crtlc(METALINE+2,METACOL); printf("metadata.formatter = \""); @@ -92,16 +122,16 @@ display() } printf("\""); crtlc(METALINE+9,METACOL); - printf("metadata.infloc = 0x%x",metadata.infloc); + printf("metadata.infloc = 0x%s", fmthexword(metadata.infloc, buf)); crtlc(METALINE+10,METACOL); - printf("metadata.cpmloc = 0x%x",metadata.cpmloc); + printf("metadata.cpmloc = 0x%s", fmthexword(metadata.cpmloc, buf)); crtlc(METALINE+11,METACOL); - printf("metadata.cpmend = 0x%x",metadata.cpmend); + printf("metadata.cpmend = 0x%s", fmthexword(metadata.cpmend, buf)); crtlc(METALINE+12,METACOL); - printf("metadata.cpment = 0x%x",metadata.cpment); + printf("metadata.cpment = 0x%s", fmthexword(metadata.cpment, buf)); } diff --git a/Apps/Source/multifmt.c b/Apps/Source/multifmt.c index 5f6e7576..56495f22 100644 --- a/Apps/Source/multifmt.c +++ b/Apps/Source/multifmt.c @@ -83,8 +83,7 @@ * and labels the drive for future reference. * * - * The problem this programs solves is how to prepare a large media device -a few + * The problem this programs solves is how to prepare a large media device a few * logical units, or an entire device, possible having hundreds of logical * units. * @@ -103,7 +102,7 @@ a few * It should only be necessary to run multifmt once to create the prefixes * and clear the directories. The clrdir program can be used ad hoc to clear * individual logical units as needed. - + * * Now that a this is understood, the code of the program will make a lot * more sense. The main function calls the gather funtion that queries the * for constraints, then it call the logical formatter to deal with high @@ -112,9 +111,6 @@ a few * work done and make changes to the target media. Because of this structure, * it is possible to operate the program in a sort of demo mode by disabling * the operation of the physical format function. - - - * */ @@ -175,8 +171,8 @@ clrline() if(0 < gTT) { crtlc(2,0); } - printf("%c ",0x0d); - printf(" %c",0x0d); + printf("\r "); + printf(" \r"); } /* The purpose of this routine is to access the BIOS GETDSK function @@ -283,7 +279,7 @@ physfmt(lu) /* LU is not protected or override is enabled */ if(0==gTT) { - printf("Formatting LU# %d%c",lu,0x0d); + printf("Formatting LU# %d\r",lu); clrmeta(lu,-1,-1); clrdir(-1,-1); } else { @@ -404,7 +400,7 @@ gather() } clrline(); - gLast = gNumLU-1; + gLast = gNumLU-1; printf("Please enter last logical unit to format 0-%d (%d):", gNumLU-1,gLast); gets(szTemp); diff --git a/Apps/Source/sysgen.c b/Apps/Source/sysgen.c index c9da55c9..1eb26ffb 100644 --- a/Apps/Source/sysgen.c +++ b/Apps/Source/sysgen.c @@ -22,7 +22,6 @@ /* rdsector(drive,track,sector,buffer); */ - struct DPH * pDPH; struct DPB * pDPB; @@ -36,6 +35,35 @@ unsigned char szDrive[32]; char szTemp[128]; +char hexchar(val, bitoff) +{ + static char hexmap[] = "0123456789ABCDEF"; + + return hexmap[(val >> bitoff) & 0xF]; +} + +char * fmthexbyte(val, buf) + unsigned char val; + char * buf; +{ + buf[0] = hexchar(val, 4); + buf[1] = hexchar(val, 0); + buf[2] = '\0'; + + return buf; +} + +char * fmthexword(val, buf) + unsigned int val; + char * buf; +{ + buf[0] = hexchar(val, 12); + buf[1] = hexchar(val, 8); + fmthexbyte(val, buf + 2); + + return buf; +} + rdimage(filename,bufptr,bufsiz) char * filename; char * bufptr; @@ -83,13 +111,14 @@ sysgen(drive,trk,sec,ptr,spt,cnt) int spt; int cnt; { + char buf[5]; + while ( 0 < cnt ) { wrsector(drive,trk,sec,ptr); - printf("drive=%c:, trk=%d, sec=%3d, ptr=0x0%4x ", - drive+'A', trk, sec, ptr); - printf("%c",0x0d); + printf("drive=%c:, trk=%d, sec=%d, ptr=0x%s \r", + drive+'A', trk, sec, fmthexword(ptr, buf)); ptr += 128; sec++; if(sec == spt) { @@ -98,8 +127,7 @@ sysgen(drive,trk,sec,ptr,spt,cnt) } cnt--; } - printf(" "); - printf("%c",0x0d); + printf(" \r"); } diff --git a/Apps/Source/view.c b/Apps/Source/view.c index e37384cb..4eae24fb 100644 --- a/Apps/Source/view.c +++ b/Apps/Source/view.c @@ -45,31 +45,63 @@ struct SYSCFG * pSYSCFG = HIGHSEG; +char hexchar(val, bitoff) +{ + static char hexmap[] = "0123456789ABCDEF"; + + return hexmap[(val >> bitoff) & 0xF]; +} + +char * fmthexbyte(val, buf) + unsigned char val; + char * buf; +{ + buf[0] = hexchar(val, 4); + buf[1] = hexchar(val, 0); + buf[2] = '\0'; + + return buf; +} + +char * fmthexword(val, buf) + unsigned int val; + char * buf; +{ + buf[0] = hexchar(val, 12); + buf[1] = hexchar(val, 8); + fmthexbyte(val, buf + 2); + + return buf; +} + dispdpb(line,column,pDPB) int line; int column; - struct DPB * pDPB; + struct DPB * pDPB; { + char buf[5]; + char buf2[5]; + crtlc(line+0,column); - printf("[%x] spt =%x",&pDPB->spt,pDPB->spt); + printf("[%s] spt =%s", fmthexword(&pDPB->spt, buf), fmthexword(pDPB->spt, buf2)); crtlc(line+1,column); - printf("[%x] bsh =%x",&pDPB->bsh,pDPB->bsh); + printf("[%s] bsh =%s", fmthexword(&pDPB->bsh, buf), fmthexword(pDPB->bsh, buf2)); crtlc(line+2,column); - printf("[%x] blm =%x",&pDPB->blm,pDPB->blm); + printf("[%s] blm =%s", fmthexword(&pDPB->blm, buf), fmthexbyte(pDPB->blm, buf2)); crtlc(line+3,column); - printf("[%x] exm =%x",&pDPB->exm,pDPB->exm); + printf("[%s] exm =%s", fmthexword(&pDPB->exm, buf), fmthexbyte(pDPB->exm, buf2)); crtlc(line+4,column); - printf("[%x] dsm =%x",&pDPB->dsm,pDPB->dsm); + printf("[%s] dsm =%s", fmthexword(&pDPB->dsm, buf), fmthexword(pDPB->dsm, buf2)); crtlc(line+5,column); - printf("[%x] drm =%x",&pDPB->drm,pDPB->drm); + printf("[%s] drm =%s", fmthexword(&pDPB->drm, buf), fmthexword(pDPB->drm, buf2)); crtlc(line+6,column); - printf("[%x] al0 =%x",&pDPB->al0,pDPB->al0); + printf("[%s] al0 =%s", fmthexword(&pDPB->al0, buf), fmthexbyte(pDPB->al0, buf2)); crtlc(line+7,column); - printf("[%x] al1 =%x",&pDPB->al1,pDPB->al1); + printf("[%s] al1 =%s", fmthexword(&pDPB->al1, buf), fmthexbyte(pDPB->al1, buf2)); crtlc(line+8,column); - printf("[%x] cks =%x",&pDPB->cks,pDPB->cks); + printf("[%s] cks =%s", fmthexword(&pDPB->cks, buf), fmthexword(pDPB->cks, buf2)); crtlc(line+9,column); - printf("[%x] off =%x",&pDPB->off,pDPB->off); + printf("[%s] off =%s", fmthexword(&pDPB->off, buf), fmthexword(pDPB->off, buf2)); } struct DPB * dispdph(drive,line,column) @@ -77,7 +109,8 @@ struct DPB * dispdph(drive,line,column) int line; int column; { - + char buf[5]; + char buf2[5]; struct DPH * pDPH; struct DPB * pDPB; @@ -119,31 +152,31 @@ struct DPB * dispdph(drive,line,column) } - crtlc(line+0,column); printf("[%x] xlt =%x", - &pDPH->xlt,pDPH->xlt); - crtlc(line+1,column); printf("[%x] rv1 =%x", - &pDPH->rv1,pDPH->rv1); - crtlc(line+2,column); printf("[%x] rv2 =%x", - &pDPH->rv2,pDPH->rv2); - crtlc(line+3,column); printf("[%x] rv3 =%x", - &pDPH->rv3,pDPH->rv3); - crtlc(line+4,column); printf("[%x] dbf =%x", - &pDPH->dbf,pDPH->dbf); - crtlc(line+5,column); printf("[%x] dpb =%x", - &pDPH->dpb,pDPH->dpb); - crtlc(line+6,column); printf("[%x] csv =%x", - &pDPH->csv,pDPH->csv); - crtlc(line+7,column); printf("[%x] alv =%x", - &pDPH->alv,pDPH->alv); + crtlc(line+0,column); + printf("[%s] xlt =%s", fmthexword(&pDPH->xlt, buf), fmthexword(pDPH->xlt, buf2)); + crtlc(line+1,column); + printf("[%s] rv1 =%s", fmthexword(&pDPH->rv1, buf), fmthexword(pDPH->rv1, buf2)); + crtlc(line+2,column); + printf("[%s] rv2 =%s", fmthexword(&pDPH->rv2, buf), fmthexword(pDPH->rv2, buf2)); + crtlc(line+3,column); + printf("[%s] rv3 =%s", fmthexword(&pDPH->rv3, buf), fmthexword(pDPH->rv3, buf2)); + crtlc(line+4,column); + printf("[%s] dbf =%s", fmthexword(&pDPH->dbf, buf), fmthexword(pDPH->dbf, buf2)); + crtlc(line+5,column); + printf("[%s] dpb =%s", fmthexword(&pDPH->dpb, buf), fmthexword(pDPH->dpb, buf2)); + crtlc(line+6,column); + printf("[%s] csv =%s", fmthexword(&pDPH->csv, buf), fmthexword(pDPH->csv, buf2)); + crtlc(line+7,column); + printf("[%s] alv =%s", fmthexword(&pDPH->alv, buf), fmthexword(pDPH->alv, buf2)); if( ('L' == pDPH->sigl) && ('U' == pDPH->sigu) ) { crtlc(line+8,column); - printf("[%x] sigl=%x",&pDPH->sigl,pDPH->sigl); + printf("[%s] sigl=%s", fmthexword(&pDPH->sigl, buf), fmthexbyte(pDPH->sigl, buf2)); crtlc(line+9,column); - printf("[%x] sigu=%x",&pDPH->sigu,pDPH->sigu); + printf("[%s] sigu=%s", fmthexword(&pDPH->sigu, buf), fmthexbyte(pDPH->sigu, buf2)); crtlc(line+10,column); - printf("[%x] curr=%x",&pDPH->current,pDPH->current); + printf("[%s] curr=%s", fmthexword(&pDPH->current, buf), fmthexword(pDPH->current, buf2)); crtlc(line+11,column); - printf("[%x] numb=%x",&pDPH->number,pDPH->number); + printf("[%s] numb=%s", fmthexword(&pDPH->number, buf), fmthexword(pDPH->number, buf2)); } if(DSM720 == pDPB->dsm) { diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index 38748ea6..06e82856 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -17,9 +17,10 @@ Version 2.5 - WBW: Added ZX CPM emulator and integrated with build process - WBW: Updated Apps built with Aztec C to use the TINY library - WBW: Updated CPMNAME application to reflect latest config data block -- WBW: Support up to 4 UART devices +- WBW: Support multiple UART devices (up to 2 for now) - WBW: Partial support for Multifunction / PIC (UART & PPIDE) - WBW: Add chip detection to UART driver +- WBW: Move ram/rom disk code into separate driver (md.asm) Version 2.1.1 ------------- diff --git a/Doc/ZSystem.txt b/Doc/ZSystem.txt index ff807ebf..21518b29 100644 --- a/Doc/ZSystem.txt +++ b/Doc/ZSystem.txt @@ -4,7 +4,7 @@ The starting point was the general public release of ZSDOS that is generally ava The actual ZSDOS source code was minimally modified to achieve TASM assembler compatibility. In order to minimize the number of changes to the source, I created a "wrapper" that defines a bunch of helper macros to improve compatibility. The wrapper uses a #INCLUDE to imbed the actual ZSDOS source. -ZSDOS is really two things. ZSDOS and ZDDOS. It is the same source file, an equate determines which variation you want to build. The wrapper mentioned above can be changed to pick either one. Basically, ZSDOS has more features. ZDDOS has less features, but inlcudes date stamping code. Refer to the zsdos.pdf file for more information. I have chosen to use ZSDOS to pick up the maximum number of features. DateStamping is still available, it just uses memory outside of the OS. +ZSDOS is really two things. ZSDOS and ZDDOS. It is the same source file, an equate determines which variation you want to build. The wrapper mentioned above can be changed to pick either one. Basically, ZSDOS has more features. ZDDOS has less features, but includes date stamping code. Refer to the zsdos.pdf file for more information. I have chosen to use ZSDOS to pick up the maximum number of features. DateStamping is still available, it just uses memory outside of the OS. The source also allows you to compile the OS code as either v1.1 or v1.2 via an equate. This can be controled by the wrapper just like the choice of ZSDOS/ZDDOS. Version 1.2 has only a couple of small changes versus v1.1 (apparently a minor bug fix). However, there are warnings in the source that compiling the DOS as v1.2 will make it incompatible with existing overlays and applications. I encountered this myself with the date stamping code -- won't work with v1.2 because it does a version check. For now, I have chosen to use v1.1 to maximize compatibility (seems to be what everyone is doing). Ultimately, I may go back and try to rebuild everything in the distribution to bring it all up to v1.2. That is for the future though. @@ -16,13 +16,13 @@ The remainder of this document details the changes I made as I went along. In a 1. CLOCKS.DAT has been updated to include the N8VEM clock drivers, N8VEMCLK AND N8CLK. I have also added the SIMHCLOK clock driver. -2. STAMPS.DAT has been replaced with an updated version. The update was called STAMPS11.DAT and was found on the Walnut Creek CP/M CDROM. The original version has a bug that prevents RSX (resident system extension) mode to fail to load properly. +2. STAMPS.DAT has been replaced with an updated version. The update was called STAMPS11.DAT and was found on the Walnut Creek CP/M CDROM. The original version has a bug that prevents RSX (resident system extension) mode to load properly. -3. The original LDTIMD and LDTIMP were built against ZSDOS 1.0 and refused to load under ZSDOS 1.1. Used SETUPZST to recreate LDTIMD and LDTIMP for compatibility with ZSDOS 1.1. They were built exactly the same as previously: Relative Clock driver and RSX mode loading. +3. The original LDTIMD and LDTIMP were built against ZSDOS 1.0 and refused to load under ZSDOS 1.1. I used SETUPZST to recreate LDTIMD and LDTIMP for compatibility with ZSDOS 1.1. They were built exactly the same as previously: Relative Clock driver and RSX mode loading. 4. Updated FILEDATE.COM and FILEDATE.CFG from original v1.7 to v2.1. The FILEDATE.CFG originally supplied was invalid. -5. Updated COPY.CFG. The original one was invalid and appeared to be for a much oder version of COPY. +5. Updated COPY.CFG. The original one was invalid and appeared to be for a much older version of COPY. 6. Updated FILEATTR to v1.6A. Original FILEATTR.CFG was invalid. FILEATTR.CFG replaced with FA16.CFG. Added associated files FA16.DOC, FA16A.FOR, FA16CFG.TXT. @@ -44,4 +44,4 @@ Usage Notes 6. After using PUTDS to initialize a directory for ZDS date stamping, I am finding that it is necessary to run RELOG before the stamping routines will actually start working. -7. Generic CP/M PIP and ZSDOS path searching do not mix well if you use PIP to copy to or from a directory in the ZSDOS search path. Best to use COPY from the ZSDOS distribution. \ No newline at end of file +7. Generic CP/M PIP and ZSDOS path searching do not play well together if you use PIP to copy to or from a directory in the ZSDOS search path. Best to use COPY from the ZSDOS distribution. \ No newline at end of file diff --git a/FixPowerShell.cmd b/FixPowerShell.cmd index 8b66d0a5..86301911 100644 --- a/FixPowerShell.cmd +++ b/FixPowerShell.cmd @@ -1,10 +1,29 @@ @echo off -echo Setting PowerShell ExecutionPolicy = RemoteSigned... +echo By default, PowerShell is configured to block the +echo execution of unsigned scripts on your local system. +echo This command file will attempt to modify your +echo PowerShell ExecutionPolicy to "RemoteSigned" +echo which means that local scripts can be run without +echo being signed. This is required to use the RomWBW +echo build process. +echo. +PowerShell -command Write-Host "Your PowerShell ExecutionPolicy is currently (Get-ExecutionPolicy)" +echo. +echo In order to modify the ExecutionPolicy, this command +echo file *MUST* be run with administrator privileges. +echo Generally, this means you want to right-click the +echo command file called FixPowerShell.cmd and choose +echo "Run as Administrator". If you attempt to continue +echo without administrator privileges, the modification +echo will fail with an error message, but no harm is done. +echo. +choice /m "Do you want to proceed" +if errorlevel 2 goto :eof +echo. +echo Attempting to change Execution Policy... echo. PowerShell Set-ExecutionPolicy RemoteSigned -echo PowerShell ExecutionPolicy is now: -PowerShell Get-ExecutionPolicy echo. -echo The execution policy should be "RemoteSigned" +PowerShell -command Write-Host "Your new PowerShell ExecutionPolicy is now (Get-ExecutionPolicy)" echo. pause \ No newline at end of file diff --git a/ReadMe.txt b/ReadMe.txt index 6a695573..8591f733 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -8,8 +8,8 @@ Builders: Wayne Warthen (wwarthen@gmail.com) Douglas Goodall (douglas_goodall@mac.com) David Giles (vk5dg@internode.on.net) -Updated: 2013-06-07 -Version: 2.5 Beta 13 +Updated: 2013-06-09 +Version: 2.5 Beta 14 This is an adaptation of CP/M-80 2.2 and ZSDOS/ZCPR targeting ROMs for all N8VEM Z80 hardware variations diff --git a/Source/Build.ps1 b/Source/Build.ps1 index 0f782d59..d5697ded 100644 --- a/Source/Build.ps1 +++ b/Source/Build.ps1 @@ -51,7 +51,6 @@ $env:PATH = $TasmPath + ';' + $CpmToolsPath + ';' + $env:PATH $OutDir = "../Output" $RomFmt = "rom${RomSize}KB" $BlankFile = "blank${RomSize}KB.dat" -#$ConfigFile = "Config_${Config}.asm" $RomDiskFile = "RomDisk.tmp" $RomFile = "${OutDir}/${RomName}.rom" $SysImgFile = "${OutDir}/${RomName}.sys" @@ -61,8 +60,7 @@ $LoaderFile = "${OutDir}/${RomName}.com" "Building ${RomName}: ${ROMSize}KB ROM configuration ${Config} for Z${CPUType}..." "" -$TimeStamp = '"' + (Get-Date -Format 'yyMMddThhmm') + '"' -$Variant = '"RomWBW-' + $Env:UserName + '"' +$TimeStamp = '"' + (Get-Date -Format 'dd-MMM-yyyy') + '"' Function Asm($Component, $Opt, $Architecture=$CPUType, $Output="${Component}.bin") { @@ -84,12 +82,11 @@ Function Concat($InputFileList, $OutputFile) # Generate the build settings include file @" -; RomWBW Configured for ${Platform} ${Config}, $(Get-Date) +; RomWBW Configured for ${Platform} ${Config}, $(Get-Date -Format "s") ; #DEFINE TIMESTAMP ${TimeStamp} -#DEFINE VARIANT ${Variant} ; -ROMSIZE .EQU ${ROMSize} ; SIZE OF ROM IN KB +ROMSIZE .EQU ${ROMSize} ; SIZE OF ROM IN KB PLATFORM .EQU PLT_${Platform} ; HARDWARE PLATFORM ; ; INCLUDE PLATFORM SPECIFIC DEVICE DEFINITIONS diff --git a/Source/cbios.asm b/Source/cbios.asm index 087d8967..d59f35d8 100644 --- a/Source/cbios.asm +++ b/Source/cbios.asm @@ -6,15 +6,10 @@ ; ROMWBW ADAPTATION BY WAYNE WARTHEN ;__________________________________________________________________________________________________ ; -; cbios.asm 6/04/2012 dwg - added BOOTLU -; cbios.asm 5/21/2012 dwg - added peek and poke for bank 1 frame 0 -; cbios.asm 5/16/2012 dwg - new architecture for 2.0.0.0 Beta 3 -; - ; The std.asm file contains the majority of the standard equates ; that describe data sructures, magic values and bit fields used ; by the CBIOS. - +; #INCLUDE "std.asm" ; #INCLUDE "syscfg.exp" @@ -377,6 +372,11 @@ WRITE: LD A,DOP_WRITE JR READWRITE ; +;__________________________________________________________________________________________________ +READWRITE: + LD (DSKOP),A ; SET THE ACTIVE DISK OPERATION + JR BLKRW +; ;__________________________________________________________________________________________________ BNKSEL: ; @@ -504,53 +504,6 @@ GETINFO: LD HL,INFOLIST RET ; -;__________________________________________________________________________________________________ -READWRITE: - LD (DSKOP),A ; SET THE ACTIVE DISK OPERATION -#IF DSKTRACE - CALL PRTDSKOP ; *DEBUG* -#ENDIF - LD A,(SEKDU) ; GET DEVICE/UNIT - AND 0F0H ; ISOLATE DEVICE NIBBLE -; JR Z,DIRRW ; DEVICE = 0 = MD, SO DIRECT R/W -; JP BLKRW ; OTHERWISE, (DE)BLOCKING R/W - JR NZ,BLKRW ; DEVICE != 0, (DE)BLOCKING R/W -; - LD (STKSAV),SP ; SAVE STACK - LD SP,TMPSTK ; TEMP STACK - CALL DIRRW ; DEVICE = 0 = MD, SO DIRECT R/W - LD SP,(STKSAV) ; RESTORE STACK - RET ; DONE -; -; NEED TO FORCE STACK INTO UPPER MEMORY DUE TO PAGING OF LOWER MEMORY -; -STKSAV .DW 0 - .FILL 16 -TMPSTK .EQU $ -; -;================================================================================================== -; DIRECT READ/WRITE (NO (DE)BLOCKING, NO BUFFERING, 128 BYTE SECTOR) -;================================================================================================== -; -DIRRW: - CALL BLKFLSH ; FLUSH ANY PENDING WRITES SO WE CAN USE SEC BUF - RET NZ ; RETURN ON ERROR - - CALL BLKRES ; RESET (DE)BLOCKING ALG, BUF IS NO LONGER VALID - - ; AT THIS POINT THE ACCESS IS HARDCODED TO POINT TO MEMORY DISK DRIVER - ; SINCE THERE IS NO OTHER DIRECT READ/WRITE DEVICE - - LD A,(DSKOP) - - CP DOP_READ - JP Z,MD_READ - - CP DOP_WRITE - JP Z,MD_WRITE - - CALL PANIC -; ;================================================================================================== ; BLOCKED READ/WRITE (BLOCK AND BUFFER FOR 512 BYTE SECTOR) ;================================================================================================== @@ -597,6 +550,10 @@ WRT_UNA .EQU 2 ; WRITE TO UNALLOCATED ; PHYSICAL READ/WRITE ROUTINES APPROPRIATELY. ; BLKRW: +#IF DSKTRACE + CALL PRTDSKOP ; *DEBUG* +#ENDIF + ; FIX!!! WE ABORT ON FIRST ERROR, DRI SEEMS TO PASS ERROR STATUS TO THE END!!! ; IF WRITE OPERATION, GO TO SPECIAL WRITE PROCESSING @@ -798,6 +755,10 @@ UNA_INC: ; PHYSICAL READ/WRITE ROUTINES APPROPRIATELY. ; BLKRW: +#IF DSKTRACE + CALL PRTDSKOP ; *DEBUG* +#ENDIF + CALL BLK_XLT ; SECTOR XLAT: SEK... -> XLT... CALL BLK_CMP ; IN BUFFER? JR Z,BLKRW1 ; YES, BYPASS READ @@ -1002,15 +963,6 @@ NUL_OST: ; PHYSICAL DISK INTERFACE ;================================================================================================== ; -DSK_DISP: - LD A,C ; GET DEVICE/UNIT TO A - AND 0F0H ; ISOLATE DEVICE - CP DIODEV_MD ; MEMORY DISK? (RAM/ROM) - JP Z,MD_DISPATCH ; YES, GO TO MEMORY DISK DISPATCH - - RST 08 ; OTHERWISE, HANDLE IN HBIOS - RET ; AND RETURN -; ; LOOKUP DPH BASED ON CPM DRIVE NUMBER ; ENTER WITH C=CPM DRIVE NUMBER ; RETURNS WITH HL = DPH ADDRESS (0 ON ERROR) @@ -1106,7 +1058,7 @@ DSK_SELECT1: LD A,(SEKDU) ; GET DEVICE/UNIT LD C,A ; STORE IN C LD B,BF_DIOMED ; DRIVER FUNCTION = DISK MEDIA - CALL DSK_DISP ; CALL DRIVER, RETURNS WITH A=MEDIA ID + RST 08 ; CALL DRIVER, RETURNS WITH A=MEDIA ID ; CHECK FOR NO MEDIA LD HL,0 ; ASSUME NO MEDIA FAILURE, HL = 0 @@ -1157,7 +1109,8 @@ DSK_STATUS: ; VALID DRIVE, DISPATCH TO DRIVER LD C,B ; C=DEVICE/UNIT LD B,BF_DIOST ; SET B = FUNCTION: STATUS - JP DSK_DISP ; DISPATCH + RST 08 ; DISPATCH + RET ; ; ; @@ -1186,38 +1139,10 @@ DSK_IO: LD A,(HSTDU) ; LOAD DEVICE/UNIT VALUE LD C,A ; SAVE IN C ; DISPATCH TO DRIVER - CALL DSK_DISP ; CALL DRIVER + RST 08 ; CALL DRIVER OR A ; SET FLAGS BASED ON RESULT RET ; -;================================================================================================== -; IN MEMORY DISK DRIVERS (ROM/RAM) -;================================================================================================== -; -; USES ROM/RAM STORAGE NOT USED BY SYSTEM/OS FOR DISK STORAGE -; ROM DRIVE: -; FIRST 32KB OF ROM RESERVED FOR SYSTEM BOOT AREA. REMAINDER IS ALLOCATED -; AS READ-ONLY DISK STORAGE. -; RAM DRIVE: -; FIRST AND LAST 32KB OF RAM IS RESERVED AND MAPPED TO FIRST AND LAST 32KB -; OF CPU MEMORY SPACE (FOR 64KB TOTAL). EVERYTHING ELSE IS ALLOCATED AS -; READ/WRITE DISK STORAGE. -; ROUTINES BELOW TRANSLATE REQUESTS FOR RAM/ROM STORAGE ACCESS BY CP/M BY -; TEMPORARILY MAPPING RAM/ROM INTO LOWER 32KB OF CPU MEMORY SPACE AND COPYING -; THE REQUESTED 128 BYTE BLOCK INTO THE CP/M DMA BUFFER. -; -MD_DISPATCH: - LD A,B ; GET REQUESTED FUNCTION - AND $0F - JR Z,MD_READ - DEC A - JR Z,MD_WRITE - DEC A - JR Z,MD_READY - DEC A - JR Z,MD_SELECT - CALL PANIC -; ;__________________________________________________________________________________________________ MD_INIT: ; @@ -1268,90 +1193,6 @@ CLRRAM3: #ENDIF RET ; -;__________________________________________________________________________________________________ -MD_READY: - LD A,TRUE - RET -; -;__________________________________________________________________________________________________ -MD_SELECT: - LD A,C - AND 0FH - ADD A,MID_MDROM - RET -; -;__________________________________________________________________________________________________ -MD_READ: - CALL MD_PGSEL ; SET PAGER BASED ON DRIVE AND TRACK - LD DE,(BUFADR) ; SETUP SECTOR BUF AS DESTINATION - CALL MD_SECADR ; SETUP RAM/ROM PAGE ADDRESS IN HL - CALL MD_DMACPY ; MOVE SECTOR TO SECBUF - CALL RAMPGZ ; RESTORE NORMAL 32K LOWER CPU RAM - LD DE,(DMAADR) ; SETUP FOR COPY TO DMA ADDRESS - LD HL,(BUFADR) ; FROM BUFFER - CALL MD_DMACPY ; COPY FROM BUF TO DMA - LD A,00H ; SIGNAL SUCCESS - RET -; -;__________________________________________________________________________________________________ -MD_WRITE: - ; CHECK FOR WRITE ACCESS TO ROM - LD A,(SEKDU) ; GET DRIVE - OR A ; DEVICE = 0, UNIT = 0 MEANS ROM DISK (READ ONLY!) - JR Z,MD_RDONLY - - LD DE,(BUFADR) ; GET SECTOR BUF ADDRESS - LD HL,(DMAADR) ; GET DMA BUF ADDRESS - CALL MD_DMACPY ; MOVE FROM DMA BUF TO SECTOR BUF - CALL MD_PGSEL ; SET PAGER BASED ON DRIVE AND TRACK - CALL MD_SECADR ; SETUP PAGE ADDRESS IN HL - LD DE,(BUFADR) ; SECTOR BUF ADDRESS IN DE - EX DE,HL ; REVERSE THEM TO... - CALL MD_DMACPY ; COPY FROM SECTOR BUF TO RAM PAGE - CALL RAMPGZ ; RESTORE NORMAL 32K LOWER CPU RAM - LD A,00H ; SIGNAL SUCCESS - RET - -MD_RDONLY: - LD DE,STR_READONLY ; SET DE TO START OF ERROR MESSAGE - CALL WRITESTR ; PRINT ERROR MESSAGE - LD A,1 ; SEND BAD SECTOR ERROR BACK - RET ; BDOS WILL ALSO PRINT ITS OWN ERROR MESSAGE -; -;__________________________________________________________________________________________________ -MD_SECADR: -; DETERMINE MEMORY ADDRESS CORRESPONDING TO CURRENT SECTOR -; SECTOR SIZE = 128, SO JUST MULTIPLY BY 128 -; RETURNS ADDRESS IN HL - LD HL,(SEKSEC) ; GET SECTOR INTO HL - LD B,7 -MD_SECADR1: - ADD HL,HL - DJNZ MD_SECADR1 - RET -;__________________________________________________________________________________________________ -MD_PGSEL: -; SELECT MEMORY PAGE BASED ON DRIVE AND TRACK -; DRIVE UNIT 0 = ROM, OTHERWISE RAM - - LD A,(SEKTRK) - INC A ; OFFSET PAST RESERVED 32KB SYSTEM AREA OF RAM/ROM! - INC A ; OFFSET ANOTHER 32K PAST DRIVER BANK - LD C,A - LD A,(SEKDU) - OR A - LD A,C - JP Z,ROMPG ; DEVICE/UNIT = 0? YES, ROM PAGE - JP RAMPG ; ELSE RAM PAGE -; -;__________________________________________________________________________________________________ -MD_DMACPY: -; COPIES ONE CPM SECTOR FROM ONE MEMORY ADDRESS TO ANOTHER -; INPUT DE=SOURCE ADDRESS, HL=TARGET ADDRESS, USES BC - LD BC,128 ; BC IS COUNTER FOR FIXED SIZE TRANSFER (128 BYTES) - LDIR ; TRANSFER - RET -; #INCLUDE "memmgr.asm" ; ;================================================================================================== @@ -1452,9 +1293,9 @@ STR_SEC .DB " SEC=$" ; DATA ;================================================================================================== ; -STR_BANNER .DB OSLBL, " for ", PLATFORM_NAME, " (CBIOS v", BIOSVER, ")$" -VAR_LOC .DB VARIANT -TST_LOC .DB TIMESTAMP +STR_BANNER .DB OSLBL, " for ", PLATFORM_NAME, ", CBIOS v", BIOSVER, "$" +STR_BUILD .DB BIOSBLD, "$" +STR_TIMESTAMP .DB TIMESTAMP, "$" ; STR_INITRAMDISK .DB "\r\nFormatting RAMDISK...$" STR_READONLY .DB "\r\nCBIOS Err: Read Only Drive$" @@ -1522,37 +1363,16 @@ DIRBF: .FILL 128,00H ; SCRATCH DIRECTORY AREA ; ; DRIVER STORAGE ; -; MEMORY DISK 00: ROM DISK -; -ROMBLKS .EQU ((ROMSIZE - 64) / 2) -; - .DB DIODEV_MD + 0 -MDDPH0 .DW 0000,0000 - .DW 0000,0000 - .DW DIRBF,DPB_ROM - .DW MDCSV0,MDALV0 -; -CKS_ROM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA -ALS_ROM .EQU ((ROMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) -; -; MEMORY DISK 01: RAM DISK -; -RAMBLKS .EQU ((RAMSIZE - 96) / 2) -; - .DB DIODEV_MD + 1 -MDDPH1 .DW 0000,0000 - .DW 0000,0000 - .DW DIRBF,DPB_RAM - .DW MDCSV1,MDALV1 -; -CKS_RAM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA -ALS_RAM .EQU ((RAMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) -; -MDCSV0: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE -MDALV0: .FILL ALS_ROM,00H ; MAX OF 512 DATA BLOCKS -MDCSV1: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE -MDALV1: .FILL ALS_RAM,00H ; MAX OF 256 DATA BLOCKS ; +#IF (MDENABLE) +ORG_MD_DPH .EQU $ + #INCLUDE "md_dph.asm" +SIZ_MD_DPH .EQU $ - ORG_MD_DPH + .ECHO "MD DPH occupies " + .ECHO SIZ_MD_DPH + .ECHO " bytes.\n" +#ENDIF + #IF (FDENABLE) ORG_FD_DPH .EQU $ #INCLUDE "fd_dph.asm" @@ -1745,7 +1565,7 @@ DPB_FD360: .DW 4 ; OFF: RESERVED TRACKS = 4 TRKS * (512 B/SEC * 36 SEC/TRK) = 18K ;__________________________________________________________________________________________________ ; -; IBM 1.20MB 5.25" FLOPPY DRIVE, 80 TRKS, 60 SECS/TRK, 512 BYTES/SEC +; IBM 1.20MB 5.25" FLOPPY DRIVE, 80 TRKS, 15 SECS/TRK, 512 BYTES/SEC ; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256 ; .DB (2048 / 128) ; RECORDS PER BLOCK (BLS / 128) @@ -1762,7 +1582,7 @@ DPB_FD120: .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 60 SEC/TRK) = 15K ;__________________________________________________________________________________________________ ; -; IBM 1.11MB 8" FLOPPY DRIVE, 74 TRKS, 60 SECS/TRK, 512 BYTES/SEC +; IBM 1.11MB 8" FLOPPY DRIVE, 74 TRKS, 15 SECS/TRK, 512 BYTES/SEC ; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256 ; .DB (2048 / 128) ; RECORDS PER BLOCK (BLS / 128) diff --git a/Source/config_n8_2312.asm b/Source/config_n8_2312.asm index 1bd44972..d6b3049c 100644 --- a/Source/config_n8_2312.asm +++ b/Source/config_n8_2312.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 20 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_ASCI ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_ASCI ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_ASCI ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_N8V ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -25,8 +26,8 @@ UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TR UARTCNT .EQU 0 ; NUMBER OF UARTS ; ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -38,6 +39,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_N8 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -71,7 +74,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8_2511.asm b/Source/config_n8_2511.asm index cd0f3786..4b0cc689 100644 --- a/Source/config_n8_2511.asm +++ b/Source/config_n8_2511.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 20 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_ASCI ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_ASCI ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_ASCI ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_N8V ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -25,8 +26,8 @@ UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TR UARTCNT .EQU 0 ; NUMBER OF UARTS ; ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -38,6 +39,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_N8 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -71,7 +74,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_ci.asm b/Source/config_n8vem_ci.asm index 8cc38960..22391906 100644 --- a/Source/config_n8vem_ci.asm +++ b/Source/config_n8vem_ci.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -33,8 +34,8 @@ UART1FIFO .EQU TRUE ; UART1 FIFO ENABLED FOR CASSETTE INTERFACE UART1AFC .EQU FALSE ; UART1 AUTO FLOW CONTROL DISABLED FOR CASSETTE INTERFACE ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -46,6 +47,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -79,7 +82,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_cvdu.asm b/Source/config_n8vem_cvdu.asm index 80a3bff8..dd7f60ee 100644 --- a/Source/config_n8vem_cvdu.asm +++ b/Source/config_n8vem_cvdu.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_CVDU ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU TRUE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_dide.asm b/Source/config_n8vem_dide.asm index 49b23f79..6b5d05f8 100644 --- a/Source/config_n8vem_dide.asm +++ b/Source/config_n8vem_dide.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIDE ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_diskio.asm b/Source/config_n8vem_diskio.asm index 0f75b2e4..cdc93133 100644 --- a/Source/config_n8vem_diskio.asm +++ b/Source/config_n8vem_diskio.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_diskio3.asm b/Source/config_n8vem_diskio3.asm index 12b882f6..c79024f7 100644 --- a/Source/config_n8vem_diskio3.asm +++ b/Source/config_n8vem_diskio3.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO3 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_dsd.asm b/Source/config_n8vem_dsd.asm index 72cf7c8c..5c21991a 100644 --- a/Source/config_n8vem_dsd.asm +++ b/Source/config_n8vem_dsd.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_mfp.asm b/Source/config_n8vem_mfp.asm index 5b97d0fd..7cae79b2 100644 --- a/Source/config_n8vem_mfp.asm +++ b/Source/config_n8vem_mfp.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -33,8 +34,8 @@ UART1FIFO .EQU TRUE ; UART1 FIFO ENABLED FOR MFPIC UART1AFC .EQU FALSE ; UART1 AUTO FLOW CONTROL DISABLED FOR MFPIC (ENABLE IF DESIRED) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -46,6 +47,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -79,7 +82,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_ppide.asm b/Source/config_n8vem_ppide.asm index 17fdd800..82afe632 100644 --- a/Source/config_n8vem_ppide.asm +++ b/Source/config_n8vem_ppide.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_ppisd.asm b/Source/config_n8vem_ppisd.asm index de1d7322..d421c946 100644 --- a/Source/config_n8vem_ppisd.asm +++ b/Source/config_n8vem_ppisd.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_propio.asm b/Source/config_n8vem_propio.asm index 3dfcdfd3..8af92c1d 100644 --- a/Source/config_n8vem_propio.asm +++ b/Source/config_n8vem_propio.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_PRPCON ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_PRPCON ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU CIODEV_UART ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU $00 ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_simh.asm b/Source/config_n8vem_simh.asm index 1cb159e8..adbe2de8 100644 --- a/Source/config_n8vem_simh.asm +++ b/Source/config_n8vem_simh.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_ALWAYS ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU FALSE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND Z UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_std.asm b/Source/config_n8vem_std.asm index b3e9fca1..d5f77610 100644 --- a/Source/config_n8vem_std.asm +++ b/Source/config_n8vem_std.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_n8vem_vdu.asm b/Source/config_n8vem_vdu.asm index 072aca6e..87b11a81 100644 --- a/Source/config_n8vem_vdu.asm +++ b/Source/config_n8vem_vdu.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_VDU ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU TRUE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_zeta_ppp.asm b/Source/config_zeta_ppp.asm index 03d14257..e40de8d4 100644 --- a/Source/config_zeta_ppp.asm +++ b/Source/config_zeta_ppp.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 20 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_PPPCON ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_PPPCON ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU CIODEV_UART ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU $00 ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_ZETA ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/config_zeta_std.asm b/Source/config_zeta_std.asm index e2511fa7..4c536896 100644 --- a/Source/config_zeta_std.asm +++ b/Source/config_zeta_std.asm @@ -7,7 +7,8 @@ ; CPUFREQ .EQU 20 ; IN MHZ, USED TO COMPUTE DELAY FACTORS ; -DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, DIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON +BOOTCON .EQU CIODEV_UART ; CONSOLE DEVICE FOR BOOT MESSAGES (MUST BE PRIMARY SERIAL PORT FOR PLATFORM) +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_CRT, CIODEV_PRPCON, CIODEV_PPPCON ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) CONBAUD .EQU 38400 ; BAUDRATE FOR CONSOLE DURING HARDWARE INIT DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220) @@ -17,7 +18,7 @@ TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) ; -DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD, DM_HDSK ; DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) ; @@ -29,8 +30,8 @@ UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZE UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -ASCI0BAUD .EQU 38400 ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) -ASCI1BAUD .EQU 38400 ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) +ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_CNTLB0) +ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1) ; VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT @@ -42,6 +43,8 @@ ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS ; +MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) +; FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT FDMODE .EQU FDMODE_ZETA ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) @@ -75,7 +78,7 @@ PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) ; PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) diff --git a/Source/hbios.asm b/Source/hbios.asm index 79b6d5e7..210266f8 100644 --- a/Source/hbios.asm +++ b/Source/hbios.asm @@ -15,12 +15,6 @@ ; #INCLUDE "std.asm" ; -#IF (PLATFORM == PLT_N8) -BOOTCON .EQU CIODEV_ASCI -#ELSE -BOOTCON .EQU CIODEV_UART -#ENDIF -; ;================================================================================================== ; SYSTEM INITIALIZATION ;================================================================================================== @@ -137,6 +131,9 @@ HB_INITTBL: #IF (DSKYENABLE) .DW DSKY_INIT #ENDIF +#IF (MDENABLE) + .DW MD_INIT +#ENDIF #IF (FDENABLE) .DW FD_INIT #ENDIF @@ -298,6 +295,10 @@ DIO_DISPATCH1: LD (HSTDSK),A ; TEMP HACK TO FILL IN HSTDSK AND $F0 ; ISOLATE THE DEVICE PORTION ; +#IF (MDENABLE) + CP DIODEV_MD + JP Z,MD_DISPATCH +#ENDIF #IF (FDENABLE) CP DIODEV_FD JP Z,FD_DISPATCH @@ -679,6 +680,15 @@ SIZ_PPP .EQU $ - ORG_PPP .ECHO " bytes.\n" #ENDIF ; +#IF (MDENABLE) +ORG_MD .EQU $ + #INCLUDE "md.asm" +SIZ_MD .EQU $ - ORG_MD + .ECHO "MD occupies " + .ECHO SIZ_MD + .ECHO " bytes.\n" +#ENDIF + #IF (FDENABLE) ORG_FD .EQU $ #INCLUDE "fd.asm" @@ -781,12 +791,7 @@ CURVDA .DB DEFVDA ; CURRENT VDA TARGET FOR EMULATION ; DIOBUF .DW $FD00 ; PTR TO 512 BYTE DISK XFR BUFFER ; -STR_BANNER .DB "N8VEM HBIOS v", BIOSVER, " (" -VAR_LOC .DB VARIANT, "-" -TST_LOC .DB TIMESTAMP, ")" -; .DB "\r\n", PLATFORM_NAME, DSKYLBL, VDULBL, CVDULBL, UPD7220LBL, N8VLBL -; .DB FDLBL, IDELBL, PPIDELBL, SDLBL, PRPLBL, PPPLBL, HDSKLBL - .DB "$" +STR_BANNER .DB "N8VEM HBIOS v", BIOSVER, ", ", BIOSBLD, ", ", TIMESTAMP, "$" STR_PLATFORM .DB PLATFORM_NAME, "$" ; ;================================================================================================== @@ -869,27 +874,30 @@ HB_BNKCPY2: ; ENTRY POINT FOR BIOS FUNCTIONS (TARGET OF RST 08) ; HB_ENTRY: - EX AF,AF' ; SAVE AF' SO WE CAN USE IT BELOW - PUSH AF ; " + LD (STACKSAV),SP ; SAVE ORIGINAL STACK FRAME + LD SP,STACK ; SETUP NEW STACK FRAME PGRAMF(1) ; MAP RAM PAGE 1 INTO LOWER 32K - LD (HB_STKSAV),SP ; SAVE ORIGINAL STACK FRAME - LD SP,8000H ; SETUP NEW STACK FRAME AT END OF HBIOS - CALL BIOS_DISPATCH ; CALL HBIOS FUNCTION DISPATCHER - EX AF,AF' ; SAVE AF IN AF' + PUSH AF ; SAVE AF (FUNCTION RETURN) PGRAMF(0) ; MAP RAM PAGE 0 INTO LOWER 32K + POP AF ; RESTORE AF - LD SP,(HB_STKSAV) ; RESTORE ORIGINAL STACK FRAME - - POP AF ; RECOVER ORIGINAL AF' - EX AF,AF' ; RESTORE AF' AND GET AF RETURNED FROM DISPATCH BACK + LD SP,(STACKSAV) ; RESTORE ORIGINAL STACK FRAME RET ; RETURN TO CALLER ; -HB_STKSAV .DW 0 ; PREVIOUS STACK POINTER +; PRIVATE DATA +; +STACKSAV .DW 0 +; +; JUST FOR FUN, PRIVATE STACK IS LOCATED AT TOP OF MEMORY... +; +STACK .EQU 0 +; +; ; HB_SLACK .EQU (HB_END - $) .ECHO "STACK space remaining: " diff --git a/Source/infolist.inc b/Source/infolist.inc index 1a062407..99969348 100644 --- a/Source/infolist.inc +++ b/Source/infolist.inc @@ -13,8 +13,8 @@ INFOLIST: .DW 2 ; INFOLIST version 2 6/7/2012 .DW STR_BANNER - .DW VAR_LOC - .DW TST_LOC + .DW STR_BUILD + .DW STR_TIMESTAMP .DW DPB_MAP .DW DPH_MAP .DW CIO_MAP diff --git a/Source/loader.asm b/Source/loader.asm index 1eda572e..ea9f6e0a 100644 --- a/Source/loader.asm +++ b/Source/loader.asm @@ -676,7 +676,7 @@ STR_BOOTMENU .DB "\r\nBoot: (M)onitor, (R)OM, or Drive Letter ===> $" ; STR_SETUPMENU: .DB "\r\n\r\n", PLATFORM_NAME, " Setup & Configuration v", BIOSVER - .DB " (", VARIANT, "-", TIMESTAMP, ")\r\n\r\n" + .DB " (", BIOSBLD, "-", TIMESTAMP, ")\r\n\r\n" ; .DB "(F)ormat RAM Disk\r\n" .DB "e(X)it Setup\r\n" .DB "\r\n===> $" diff --git a/Source/makefile b/Source/makefile index 63cf9e03..30a7641c 100644 --- a/Source/makefile +++ b/Source/makefile @@ -102,7 +102,7 @@ endif CPMTOOLSPATH := ../tools/cpmtools CPMCP := $(CPMTOOLSPATH)/cpmcp.exe -ROMDSKFILES := ../RomDsk/$(SYS)_$(ROMSIZE)KB/*.* ../RomDsk/cfg_$(PLATFORM)_$(CONFIG)/*.* ../Apps/core/*.* +ROMDSKFILES := ../RomDsk/$(SYS)_$(ROMSIZE)KB/*.* ../RomDsk/cfg_$(PLATFORM)_$(CONFIG)/*.* ../Apps/Output/*.* ifeq "$(SYS)" "CPM" DOSBIN := bdosb01.bin @@ -151,11 +151,9 @@ all: $(OUTDIR)\$(ROMNAME).rom $(OUTDIR)\$(ROMNAME).sys $(OUTDIR)\$(ROMNAME).com build.inc: echo ; >$@ - echo ; RomWBW Configured for $(PLATFORM) $(CONFIG), %date% %time% >>$@ - echo ; >>$@ - echo #DEFINE TIMESTAMP "%date:~-4,4%%date:~-10,2%%date:~-7,2%T%time:~0,2%%time:~3,2%" >>$@ - echo #DEFINE VARIANT "WBW-%username%" >>$@ + echo ; RomWBW Configured for $(PLATFORM) $(CONFIG), %date:~4,10% %time% >>$@ echo ; >>$@ + echo #DEFINE TIMESTAMP "%date:~4,10%" >>$@ echo ; >>$@ echo ; INCLUDE PLATFORM SPECIFIC DEVICE DEFINITIONS >>$@ echo ; >>$@ @@ -186,7 +184,7 @@ zcprw.bin : zcprw.asm zcpr.asm zsdos.bin : zsdos.asm zsdos.lib zsdos-gp.z80 $(TASM) $(ASMOPT80) $< $@ -cbios.bin: cbios.asm fd_dph.asm ide_dph.asm ppide_dph.asm sd_dph.asm prp_dph.asm ppp_dph.asm uart.asm vdu.asm std.asm ver.inc build.inc +cbios.bin: cbios.asm fd_dph.asm ide_dph.asm ppide_dph.asm sd_dph.asm prp_dph.asm ppp_dph.asm std.asm ver.inc build.inc $(TASM) $(ASMOPT80) -dBLD_SYS=SYS_$(SYS) $< $@ dbgmon.bin: dbgmon.asm std.asm ver.inc build.inc diff --git a/Source/md.asm b/Source/md.asm new file mode 100644 index 00000000..e43781cd --- /dev/null +++ b/Source/md.asm @@ -0,0 +1,110 @@ +; +;================================================================================================== +; MD DISK DRIVER (MEMORY DISK) +;================================================================================================== +; +MD_DISPATCH: + LD A,B ; GET REQUESTED FUNCTION + AND $0F + JR Z,MD_READ + DEC A + JR Z,MD_WRITE + DEC A + JR Z,MD_STATUS + DEC A + JR Z,MD_MEDIA + CALL PANIC +; +; +; +MD_MEDIA: + LD A,C ; DEVICE/UNIT IS IN C + AND $0F ; ISOLATE UNIT NUM + CP 2 ; CHECK FOR MAX UNIT EXCEEDED + CALL NC,PANIC ; PANIC IF TOO HIGH + ADD A,MID_MDROM ; SET CORRECT MEDIA VALUE + RET +; +; +; +MD_INIT: + PRTS("MD: UNITS=2 $") + PRTS("ROMDISK=$") + LD HL,ROMSIZE - 64 + CALL PRTDEC + PRTS("KB RAMDISK=$") + LD HL,RAMSIZE - 32 - 64 + CALL PRTDEC + PRTS("KB$") + XOR A ; INIT SUCCEEDED + RET ; RETURN +; +; +; +MD_STATUS: + XOR A ; ALWAYS OK + RET +; +; +; +MD_READ: + CALL MD_IOSETUP ; SETUP FOR MEMORY COPY + JR MD_BNKCPY ; DO IT AND RETURN +; +; +; +MD_WRITE: + LD A,C ; DEVICE/UNIT IS IN C + AND $0F ; ISOLATE UNIT NUM + LD A,1 ; PREPARE TO RETURN FALSE + RET Z ; RETURN ERROR IF ROM UNIT + + CALL MD_IOSETUP ; SETUP FOR MEMORY COPY + EX DE,HL ; SWAP SRC/DEST FOR WRITE + JR MD_BNKCPY ; DO IT AND RETURN +; +; +; +MD_BNKCPY: + ; DO THE MEMORY COPY + CALL HB_BNKCPY ; COPY TO/FROM DMA BUFFER + XOR A ; SET SUCCESS + RET +; +; SETUP FOR MEMORY COPY +; A=BANK SELECT +; BC=COPY SIZE +; DE=DESTINATION +; HL=SOURCE +; +; ASSUMES A "READ" OPERATION. HL AND DE CAN BE SWAPPED +; FOR A WRITE OPERATION +; +MD_IOSETUP: + ; SETUP A WITH BANK SELECTION VALUE + ; NOTE THAT HIGH ORDER BIT DETERMINES ROM/RAM ACCESS + ; THE OTHER BITS DETERMINE BANK NUMBER + LD A,(HSTTRK) + INC A ; OFFSET PAST RESERVED 32KB SYSTEM AREA OF RAM/ROM! + INC A ; OFFSET ANOTHER 32K PAST DRIVER BANK + LD C,A ; SAVE IT IN C + + LD A,(HSTDSK) ; GET DEVICE/UNIT + AND $01 ; ISOLATE LOW BIT + RRCA ; MOVE IT TO HIGH BIT + OR C ; COMBINE WITH SAVE PAGE NUM + PUSH AF ; SAVE FOR LATER + + ; SETUP HL WITH MEMORY BANK OFFSET BASED ON SECTOR INDEX + ; WE NEED TO MULTIPLY THE SECTOR INDEX (HSTSEC) + ; BY 512 TO GET THE MEMORY BANK OFFSET + LD A,(HSTSEC) ; GET LSB OF SECTOR INTO A + RLCA ; SHIFT LEFT ONE BIT + LD H,A ; PUT IN H + LD L,0 ; SET L TO ZERO + + ; LOAD DESTINATION AND COUNT + LD DE,(DIOBUF) ; DMA ADDRESS IS DESTINATION + LD BC,512 ; ALWAYS COPY ONE SECTOR + POP AF ; RECOVER PAGE VALUE + RET diff --git a/Source/md_dph.asm b/Source/md_dph.asm new file mode 100644 index 00000000..0d4e34a8 --- /dev/null +++ b/Source/md_dph.asm @@ -0,0 +1,35 @@ +; +;================================================================================================== +; HDSK DISK DRIVER - DATA +;================================================================================================== +; +; MEMORY DISK 00: ROM DISK +; +ROMBLKS .EQU ((ROMSIZE - 64) / 2) +; + .DB DIODEV_MD + 0 +MDDPH0 .DW 0000,0000 + .DW 0000,0000 + .DW DIRBF,DPB_ROM + .DW MDCSV0,MDALV0 +; +CKS_ROM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA +ALS_ROM .EQU ((ROMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) +; +; MEMORY DISK 01: RAM DISK +; +RAMBLKS .EQU ((RAMSIZE - 96) / 2) +; + .DB DIODEV_MD + 1 +MDDPH1 .DW 0000,0000 + .DW 0000,0000 + .DW DIRBF,DPB_RAM + .DW MDCSV1,MDALV1 +; +CKS_RAM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA +ALS_RAM .EQU ((RAMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) +; +MDCSV0: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE +MDALV0: .FILL ALS_ROM,00H ; MAX OF 512 DATA BLOCKS +MDCSV1: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE +MDALV1: .FILL ALS_RAM,00H ; MAX OF 256 DATA BLOCKS diff --git a/Source/syscfg.asm b/Source/syscfg.asm index 2b03e563..d1b8817c 100644 --- a/Source/syscfg.asm +++ b/Source/syscfg.asm @@ -12,13 +12,13 @@ ; ; Reserved for Configuration Information ; - .DW SC_CNF ; OFFSET OF CONFIG DATA - .DW SC_TST ; OFFSET OF TIMESTAMP STRING - .DW SC_VAR ; OFFSET OF VARIANT STRING + .DW SC_CONFIG ; OFFSET OF CONFIG DATA + .DW SC_TIMESTAMP ; OFFSET OF TIMESTAMP STRING + .DW SC_BUILD ; OFFSET OF VARIANT STRING ; ; BIOS configuration data ; -SC_CNF: +SC_CONFIG: ; ; BIOS REVISION ; @@ -176,8 +176,8 @@ BOOTTIME .DB 0,0,0,0,0,0 ; SYSTEM STARTUP TIME (YY,MM,DD,HH,MM,SS) ; ; BUILD INFORMATION STRINGS ; -SC_TST .DB TIMESTAMP,'$' -SC_VAR .DB VARIANT,'$' +SC_TIMESTAMP .DB TIMESTAMP, "$" +SC_BUILD .DB BIOSBLD, "$" ; .EXPORT DISKBOOT,BOOTDEVICE,BOOTLU ; diff --git a/Source/uart.asm b/Source/uart.asm index f55666a7..66a88106 100644 --- a/Source/uart.asm +++ b/Source/uart.asm @@ -510,7 +510,7 @@ UART_DETECT: JR NZ,UART_DETECT1 ; NOPE, HIDDEN, MUST BE 16650/850 ; ; RESET LCR TO DEFAULT - XOR A ; ZERO ACCUM + LD A,$80 ; DLAB BIT ON UART_OUT(UART_LCR) ; RESET LCR ; ; TEST FCR TO ISOLATE 16450/550/550A @@ -526,20 +526,17 @@ UART_DETECT: JR UART_DETECT_16750 ; ONLY THING LEFT IS 16750 ; UART_DETECT1: ; PICK BETWEEN 16650/850 - ; NEED TO RESET LCR - XOR A ; DLAB BIT OFF - UART_OUT(UART_LCR) ; OUTPUT TO LCR (DLAB REGS NOW INACTIVE) ; NOT SURE HOW TO DIFFERENTIATE 16650 FROM 16850 YET JR UART_DETECT_16650 ; ASSUME 16650 RET ; UART_DETECT2: ; PICK BETWEEN 16650A/C ; SET AFC BIT IN FCR - LD A,$20 ; SET AFC BIT, FCR:5 - UART_OUT(UART_FCR) ; WRITE NEW FCR VALUE + LD A,$20 ; SET AFC BIT, MCR:5 + UART_OUT(UART_MCR) ; WRITE NEW FCR VALUE ; ; READ IT BACK, IF SET, WE HAVE 16550C - UART_IN(UART_FCR) ; READ BACK FCR + UART_IN(UART_MCR) ; READ BACK MCR BIT 5,A ; CHECK AFC BIT JR Z,UART_DETECT_16550A ; NOT SET, SO 16550A JR UART_DETECT_16550C ; IS SET, SO 16550C diff --git a/Source/ver.inc b/Source/ver.inc index 3a2cf10f..f6cd57bf 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -1,6 +1,7 @@ #DEFINE RMJ 2 #DEFINE RMN 5 #DEFINE RUP 0 -#DEFINE RTP 13 -#DEFINE BIOSVER "2.5 - Beta 13" +#DEFINE RTP 14 +#DEFINE BIOSVER "2.5" +#DEFINE BIOSBLD "Prerelease Build 14" #DEFINE REVISION 412