Browse Source

Reintegrate wbw -> trunk

pull/3/head
wayne 13 years ago
parent
commit
5bd0f69467
  1. 16
      Apps/Source/applvers.h
  2. 10
      Apps/Source/applvers.lib
  3. 6
      Apps/Source/cbanner.c
  4. 22
      Apps/Source/map.c
  5. 42
      Apps/Source/meta.c
  6. 16
      Apps/Source/multifmt.c
  7. 40
      Apps/Source/sysgen.c
  8. 97
      Apps/Source/view.c
  9. 3
      Doc/ChangeLog.txt
  10. 10
      Doc/ZSystem.txt
  11. 27
      FixPowerShell.cmd
  12. 4
      ReadMe.txt
  13. 9
      Source/Build.ps1
  14. 244
      Source/cbios.asm
  15. 13
      Source/config_n8_2312.asm
  16. 13
      Source/config_n8_2511.asm
  17. 13
      Source/config_n8vem_ci.asm
  18. 13
      Source/config_n8vem_cvdu.asm
  19. 13
      Source/config_n8vem_dide.asm
  20. 13
      Source/config_n8vem_diskio.asm
  21. 13
      Source/config_n8vem_diskio3.asm
  22. 13
      Source/config_n8vem_dsd.asm
  23. 13
      Source/config_n8vem_mfp.asm
  24. 13
      Source/config_n8vem_ppide.asm
  25. 13
      Source/config_n8vem_ppisd.asm
  26. 13
      Source/config_n8vem_propio.asm
  27. 13
      Source/config_n8vem_simh.asm
  28. 13
      Source/config_n8vem_std.asm
  29. 13
      Source/config_n8vem_vdu.asm
  30. 13
      Source/config_zeta_ppp.asm
  31. 13
      Source/config_zeta_std.asm
  32. 54
      Source/hbios.asm
  33. 4
      Source/infolist.inc
  34. 2
      Source/loader.asm
  35. 10
      Source/makefile
  36. 110
      Source/md.asm
  37. 35
      Source/md_dph.asm
  38. 12
      Source/syscfg.asm
  39. 11
      Source/uart.asm
  40. 5
      Source/ver.inc

16
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 */

10
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

6
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);
}


22
Apps/Source/map.c

@ -392,8 +392,16 @@ int main(argc,argv)
/* 123456789012345678901234567890123456789 */
printf(" ");
}
for(i=startlu;i<limit;i++) {
int pad;
if (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;

42
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));
}

16
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);

40
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");
}

97
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) {

3
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
-------------

10
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.
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.

27
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

4
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

9
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

244
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

13
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)

54
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: "

4
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

2
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===> $"

10
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

110
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

35
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

12
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
;

11
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

5
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

Loading…
Cancel
Save