Browse Source

Reintegrate wbw -> trunk

pull/3/head
wayne 13 years ago
parent
commit
f5f4892f81
  1. 45
      Apps/Source/Build.cmd
  2. 4
      Apps/Source/applvers.h
  3. 6
      Apps/Source/applvers.lib
  4. 171
      Apps/Source/cnamept1.c
  5. 113
      Apps/Source/cnamept2.c
  6. 216
      Apps/Source/cnamept3.c
  7. 198
      Apps/Source/cnamept4.c
  8. 98
      Apps/Source/cnfgdata.h
  9. 120
      Apps/Source/cpmname.c
  10. 3
      Apps/Source/syscfg.h
  11. 4
      ReadMe.txt
  12. 202
      Source/cnfgdata.inc
  13. 2
      Source/config_n8_2312.asm
  14. 2
      Source/config_n8_2511.asm
  15. 2
      Source/config_n8vem_cvdu.asm
  16. 2
      Source/config_n8vem_dide.asm
  17. 2
      Source/config_n8vem_diskio.asm
  18. 2
      Source/config_n8vem_diskio3.asm
  19. 2
      Source/config_n8vem_dsd.asm
  20. 2
      Source/config_n8vem_ppide.asm
  21. 2
      Source/config_n8vem_ppisd.asm
  22. 2
      Source/config_n8vem_propio.asm
  23. 2
      Source/config_n8vem_simh.asm
  24. 2
      Source/config_n8vem_std.asm
  25. 2
      Source/config_n8vem_vdu.asm
  26. 2
      Source/config_zeta_ppp.asm
  27. 2
      Source/config_zeta_std.asm
  28. 5
      Source/loader.asm
  29. 143
      Source/syscfg.asm
  30. 4
      Source/ver.inc

45
Apps/Source/Build.cmd

@ -32,16 +32,16 @@ if exist %TGT% del %TGT%
zx as bioscall
zx as bdoscall
zx as diagnose
zx cz --o cmemory.a80 cmemory
zx cz --o cmemory.a80 --DTINY cmemory
zx as cmemory.a80
zx cz --o cbanner.a80 cbanner
zx cz --o cbanner.a80 --DTINY cbanner
zx as cbanner.a80
zx cz --o ctermcap.a80 ctermcap
zx cz --o ctermcap.a80 --DTINY ctermcap
zx as ctermcap.a80
zx cz --o clogical.a80 clogical
zx cz --o clogical.a80 --DTINY clogical
zx as clogical.a80
zx as asmiface
zx cz --o sectorio.a80 sectorio
zx cz --o sectorio.a80 --DTINY sectorio
zx as sectorio.a80
zx libutil --o dwg.lib cbanner.o clogical.o ctermcap.o sectorio.o asmiface.o
zx libutil --o dwg.lib dwg.lib bioscall.o bdoscall.o diagnose.o cmemory.o clogical.o
@ -61,17 +61,11 @@ echo Building CPMNAME.COM...
echo.
set TGT=cpmname.com
if exist %TGT% del %TGT%
zx cz --o cpmname.a80 cpmname
zx cz --o cpmname.a80 --DTINY cpmname
zx as cpmname.a80
zx cz --o cnamept1.a80 cnamept1
zx cz --o cnamept1.a80 --DTINY cnamept1
zx as cnamept1.a80
zx cz --o cnamept2.a80 cnamept2
zx as cnamept2.a80
zx cz --o cnamept3.a80 cnamept3
zx as cnamept3.a80
zx cz --o cnamept4.a80 cnamept4
zx as cnamept4.a80
zx ln cpmname.o cnamept1.o cnamept2.o cnamept3.o cnamept4.o --ldwg --lt --lc
zx ln cpmname.o cnamept1.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
@ -88,7 +82,7 @@ echo Building MAP.COM...
echo.
set TGT=map.com
if exist %TGT% del %TGT%
zx cz --o map.a80 map
zx cz --o map.a80 --DTINY map
zx as map.a80
zx ln map.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@ -98,7 +92,7 @@ echo Building META.COM...
echo.
set TGT=meta.com
if exist %TGT% del %TGT%
zx cz --o meta.a80 meta
zx cz --o meta.a80 --DTINY meta
zx as meta.a80
zx ln meta.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@ -108,7 +102,7 @@ echo Building MULTIFMT.COM...
echo.
set TGT=multifmt.com
if exist %TGT% del %TGT%
zx cz --o multifmt.a80 multifmt
zx cz --o multifmt.a80 --DTINY multifmt
zx as multifmt.a80
zx ln multifmt.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@ -136,7 +130,7 @@ echo Building SYSGEN.COM...
echo.
set TGT=sysgen.com
if exist %TGT% del %TGT%
zx cz --o sysgen.a80 sysgen
zx cz --o sysgen.a80 --DTINY sysgen
zx as sysgen.a80
zx ln sysgen.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@ -146,7 +140,7 @@ echo Building TERMTYPE.COM...
echo.
set TGT=termtype.com
if exist %TGT% del %TGT%
zx cz --o termtype.a80 termtype
zx cz --o termtype.a80 --DTINY termtype
zx as termtype.a80
zx ln termtype.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@ -156,7 +150,7 @@ echo Building VIEW.COM...
echo.
set TGT=view.com
if exist %TGT% del %TGT%
zx cz --o view.a80 view
zx cz --o view.a80 --DTINY view
zx as view.a80
zx ln view.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@ -164,21 +158,21 @@ if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building N8VIDTST.COM / TMSSTAT.COM...
echo.
zx cz --o n8chars.a80 n8chars
zx cz --o n8chars.a80 --DTINY n8chars
zx as n8chars.a80
zx cz --o tms9918.a80 tms9918
zx cz --o tms9918.a80 --DTINY tms9918
zx as tms9918.a80
set TGT=n8vidtst.com
if exist %TGT% del %TGT%
zx cz --o n8vidtst.a80 n8vidtst
zx cz --o n8vidtst.a80 --DTINY n8vidtst
zx as n8vidtst.a80
zx ln n8vidtst.o n8chars.o tms9918.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
set TGT=tmsstat.com
if exist %TGT% del %TGT%
zx cz --o tmsstat.a80 tmsstat
zx cz --o tmsstat.a80 --DTINY tmsstat
zx as tmsstat.a80
zx ln tmsstat.o n8chars.o tms9918.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@ -186,7 +180,6 @@ if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Generating Output...
echo.
if exist %OUTDIR% rd /s /q %OUTDIR%
md %OUTDIR%
if exist %OUTDIR%\*.* del /f /q %OUTDIR%\*.*
for %%f in (%COREAPPS%) do echo %%f... && copy %%f.COM %OUTDIR%
echo DWG-APPS.MAN... && copy DWG-APPS.MAN %OUTDIR%

4
Apps/Source/applvers.h

@ -5,10 +5,10 @@
#define A_RMJ 2
#define A_RMN 5
#define A_RUP 0
#define A_RTP 8
#define A_RTP 9
#define A_MONTH 5
#define A_DAY 10
#define A_DAY 16
#define A_YEAR 2013
#define A_YR 13

6
Apps/Source/applvers.lib

@ -3,14 +3,14 @@
A$RMJ equ 2
A$RMN equ 5
A$RUP equ 0
A$RTP equ 8
A$RTP equ 9
A$MONTH equ 5
A$DAY equ 10
A$DAY equ 16
A$YEAR equ 2013
date macro
dat db ' 5/10/2013$'
dat db ' 5/16/2013$'
endm
serial macro

171
Apps/Source/cnamept1.c

@ -10,95 +10,140 @@
#include "syscfg.h"
extern pager();
extern char * fmthexbyte();
extern char * fmthexword();
extern char * fmtbool();
extern char * fmtenable();
extern putscpm();
char cache[17];
char None[] = "*NONE*";
char * PltName[] = {None, "N8VEM Z80", "ZETA Z80", "N8 Z180"};
char * CIOName[] = {"UART", "ASCI", "VDU", "CVDU", "UPD7220",
"N8V", "PRPCON", "PPPCON", "CRT", "BAT", "NUL"};
char * DIOName[] = {"MD", "FD", "IDE", "ATAPI", "PPIDE",
"SD", "PRPSD", "PPPSD", "HDSK"};
char * VDAName[] = {None, "VDU", "CVDU", "UPD7220", "N8V"};
char * EmuName[] = {None, "TTY", "ANSI"};
char * TermName[] = {"TTY", "ANSI", "WYSE", "VT52"};
char * DiskMapName[] = {None, "ROM", "RAM", "FD", "IDE",
"PPIDE", "SD", "PRPSD", "PPPSD", "HDSK"};
char * ClrRamName[] = {"Never", "Auto", "Always"};
char * FDModeName[] = {None, "DIO", "ZETA", "DIDE", "N8", "DIO3"};
char * FDMediaName[] = {"720K", "1.44M", "360k", "1.2M", "1.11M"};
char * IDEModeName[] = {None, "DIO", "DIDE"};
cnamept1(syscfg)
struct SYSCFG * syscfg;
cnamept1(pSysCfg)
struct SYSCFG * pSysCfg;
{
strcpy(cache,"syscfg->cnfgdata");
struct CNFGDATA * pCfg;
char buf[5];
char buf2[5];
printf("syscfg->jmp jp 0%04xh",syscfg->jmp.address);
pCfg = &(pSysCfg->cnfgdata);
printf("%s @ %dMHz, RAM=%dMB, ROM=%dMB",
PltName[pCfg->platform],
pCfg->freq,
pCfg->ramsize,
pCfg->romsize);
pager();
printf("syscfg->cnfloc .dw 0%04xh",syscfg->cnfloc);
printf("RomWBW Version %d.%d.%d.%d, ",
pCfg->rmj, pCfg->rmn,
pCfg->rup, pCfg->rtp);
putscpm((unsigned int)pSysCfg + (unsigned int)pSysCfg->tstloc);
pager();
printf("syscfg->tstloc .dw 0%04xh",syscfg->tstloc);
if (pCfg->diskboot)
printf("Disk Boot Device=%s, Unit=%d, LU=%d",
DIOName[pCfg->devunit >> 4],
pCfg->devunit & 0xF, pCfg->bootlu);
else
printf("ROM Boot");
pager();
printf("syscfg->varloc .dw 0%04xh",syscfg->varloc);
pager();
printf("%s.rmj = %d",cache,syscfg->cnfgdata.rmj);
printf("Default Console: %s, Alternate Console: %s",
CIOName[pCfg->defcon], CIOName[pCfg->altcon]);
pager();
printf("%s.rmn = %d",cache,syscfg->cnfgdata.rmn);
printf ("Default Video Display: %s, Default Emulation: %s",
VDAName[pCfg->defvda], EmuName[pCfg->defemu]);
pager();
printf("%s.rup = %d",cache,syscfg->cnfgdata.rup);
printf ("Current Terminal Type: %s",
TermName[pCfg->termtype]);
pager();
printf("%s.rtp = %d",cache,syscfg->cnfgdata.rtp);
printf("Default IO Byte: 0x%s, Alternate IO Byte: 0x%s",
fmthexbyte(pCfg->defiobyte, buf),
fmthexbyte(pCfg->altiobyte, buf2));
pager();
printf("%s.diskboot = ",cache);
switch(syscfg->cnfgdata.diskboot) {
case TRUE: printf("TRUE"); break;
case FALSE: printf("FALSE"); break;
}
printf("Disk Write Caching=%s, Disk IO Tracing=%s",
fmtbool(pCfg->wrtcache), fmtbool(pCfg->dsktrace));
pager();
printf("%s.devunit = 0x%02x",cache,
syscfg->cnfgdata.devunit);
printf("Disk Mapping Priority: %s, Clear RAM Disk: %s",
DiskMapName[pCfg->dskmap], ClrRamName[pCfg->clrramdsk]);
pager();
printf("%s.bootlu = 0x%04x",cache,
syscfg->cnfgdata.bootlu);
pager();
printf("%s.freq = %dMHz",cache,syscfg->cnfgdata.freq);
printf("DSKY %s", fmtenable(pCfg->dskyenable));
pager();
printf("%s.platform = ",cache);
switch(syscfg->cnfgdata.platform) {
case PLT_N8VEM: printf("N8VEM"); break;
case PLT_ZETA: printf("ZETA"); break;
case PLT_N8: printf("N8"); break;
}
printf("UART %s, FIFO=%s, AFC=%s, Baudrate=0x%s",
fmtenable(pCfg->uartenable),
fmtbool(pCfg->uartfifo), fmtbool(pCfg->uartafc),
fmthexword(pCfg->baudrate, buf));
pager();
printf("VDU %s", fmtenable(pCfg->vduenable));
pager();
printf("CVDU %s", fmtenable(pCfg->cvduenable));
pager();
printf("UPD7220 %s", fmtenable(pCfg->upd7220enable));
pager();
printf("N8V %s", fmtenable(pCfg->n8venable));
pager();
printf("%s.dioplat = ",cache);
switch(syscfg->cnfgdata.dioplat) {
case DPNONE: printf("DIOPLT_NONE"); break;
case DPDIO: printf("DIOPLT_DISKIO"); break;
case DPZETA: printf("DIOPLT_ZETA"); break;
case DPDIDE: printf("DIOPLT_DIDE"); break;
case DPN8: printf("DIOPLT_N8"); break;
case DPDIO3: printf("DIOPLT_DISKIO3"); break;
default: printf("Unknown"); break;
}
pager();
printf("%s.vdumode = ",cache);
switch(syscfg->cnfgdata.vdumode) {
case VPNONE: printf("VDUPLT_NONE"); break;
case VPVDU: printf("VDUPLT_VDU"); break;
case VPVDUC: printf("VDUPLT_VDUC"); break;
case VPPROPIO: printf("VDUPLT_PROPIO"); break;
case VPN8: printf("VDUPLT_VPN8"); break;
default: printf("Unknown!!"); break;
}
pager();
printf("%s.romsize = %d",cache,
syscfg->cnfgdata.romsize);
printf("FD %s, Mode=%s, TraceLevel=%d, Media=%s/%s, Auto=%s",
fmtenable(pCfg->fdenable), FDModeName[pCfg->fdmode],
pCfg->fdtrace,
FDMediaName[pCfg->fdmedia], FDMediaName[pCfg->fdmediaalt],
fmtbool(pCfg->fdmauto));
pager();
printf("IDE %s, Mode=%s, TraceLevel=%d, 8bit=%s, Size=%dMB",
fmtenable(pCfg->ideenable), IDEModeName[pCfg->idemode],
pCfg->idetrace, fmtbool(pCfg->ide8bit), pCfg->idecapacity);
pager();
printf("PPIDE %s, Mode=%s, TraceLevel=%d, 8bit=%s, Slow=%s, Size=%dMB",
fmtenable(pCfg->ppideenable), IDEModeName[pCfg->ppidemode],
pCfg->ppidetrace, fmtbool(pCfg->ppide8bit),
fmtbool(pCfg->ppideslow), pCfg->ppidecapacity);
pager();
printf("PRP %s, SD %s, TraceLevel=%d, Size=%dMB, Console %s",
fmtenable(pCfg->prpenable), fmtenable(pCfg->prpsdenable),
pCfg->prpsdtrace, pCfg->prpsdcapacity,
fmtenable(pCfg->prpconenable));
pager();
printf("PPP %s, SD %s, TraceLevel=%d, Size=%dMB, Console %s",
fmtenable(pCfg->pppenable), fmtenable(pCfg->pppsdenable),
pCfg->pppsdtrace, pCfg->pppsdcapacity,
fmtenable(pCfg->pppconenable));
pager();
printf("HDSK %s, TraceLevel=%d, Size=%dMB",
fmtenable(pCfg->hdskenable),
pCfg->hdsktrace, pCfg->hdskcapacity);
pager();
pager();
printf("%s.ramsize = %d",cache,
syscfg->cnfgdata.ramsize);
printf("PPK %s, TraceLevel=%d",
fmtenable(pCfg->ppkenable), pCfg->ppktrace);
pager();
printf("KBD %s, TraceLevel=%d",
fmtenable(pCfg->kbdenable), pCfg->kbdtrace);
pager();
pager();
printf("TTY %s", fmtenable(pCfg->ttyenable));
pager();
printf("ANSI %s, TraceLevel=%d",
fmtenable(pCfg->ansienable), pCfg->ansitrace);
pager();
}

113
Apps/Source/cnamept2.c

@ -1,113 +0,0 @@
/* cnamept2.c 5/24/2012 dwg - */
#include "stdio.h"
#include "stdlib.h"
#include "portab.h"
#include "std.h"
#include "cnfgdata.h"
#include "syscfg.h"
extern pager();
char cache[17];
cnamept2(syscfg)
struct SYSCFG * syscfg;
{
strcpy(cache,"syscfg->cnfgdata");
printf("%s.clrramdk = ",cache);
switch(syscfg->cnfgdata.clrramdk) {
case CLRNEV: printf("CLR_NEVER"); break;
case CLRAUTO: printf("CLR_AUTO"); break;
case CLRALLW: printf("CLR_ALLWAYS"); break;
}
pager();
printf("%s.dskyenable = ",cache);
switch(syscfg->cnfgdata.dskyenable) {
case TRUE: printf("TRUE"); break;
case FALSE: printf("FALSE"); break;
}
pager();
printf("%s.uartenable = ",cache);
switch(syscfg->cnfgdata.uartenable) {
case TRUE: printf("TRUE"); break;
case FALSE: printf("FALSE"); break;
}
pager();
printf("%s.vduenable = ",cache);
switch(syscfg->cnfgdata.vduenable) {
case TRUE: printf("TRUE"); break;
case FALSE: printf("FALSE"); break;
}
pager();
printf("%s.fdenable = ",cache);
switch(syscfg->cnfgdata.fdenable) {
case TRUE: printf("TRUE"); break;
case FALSE: printf("FALSE"); break;
}
pager();
if(TRUE == syscfg->cnfgdata.fdenable) {
printf("%s.fdtrace = ",cache);
switch(syscfg->cnfgdata.fdtrace) {
case 0: printf("Silent"); break;
case 1: printf("Fatal Errors"); break;
case 2: printf("All Errors"); break;
case 3: printf("Everything"); break;
default: printf("Unknown!!"); break;
}
pager();
printf("%s.fdmedia = ",cache);
switch(syscfg->cnfgdata.fdmedia) {
case FDM720: printf("FDM720");
printf(" 3.5 720KB 2-sided 80 Trks 9 Sectors");
break;
case FDM144: printf("FDM144");
printf(" 3.5 1.44MB 2-sided 80 Trks 18 Sectors");
break;
case FDM360: printf("FDM360");
printf(" 5.25 360KB 2-sided 40 Trks 9 Sectors");
break;
case FDM120: printf("FDM120");
printf(" 3.5 1.2MB 2-sided 80 Trks 15 Sectors");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.fdmediaalt = ",cache);
switch(syscfg->cnfgdata.fdmediaalt) {
case FDM720: printf("FDM720");
printf(" 3.5 720KB 2-sided 80 Trks 9 Sectors");
break;
case FDM144: printf("FDM144");
printf(" 3.5 1.44MB 2-sided 80 Trks 18 Sectors");
break;
case FDM360: printf("FDM360");
printf(" 5.25 360KB 2-sided 40 Trks 9 Sectors");
break;
case FDM120: printf("FDM120");
printf(" 3.5 1.2MB 2-sided 80 Trks 15 Sectors");
break;
}
pager();
}
}
/********************/
/* eof - cnamept2.c */
/********************/


216
Apps/Source/cnamept3.c

@ -1,216 +0,0 @@
/* cnamept2.c 5/24/2012 dwg - */
#include "stdio.h"
#include "stdlib.h"
#include "portab.h"
#include "std.h"
#include "cnfgdata.h"
#include "syscfg.h"
extern pager();
char cache[17];
cnamept3(syscfg)
struct SYSCFG * syscfg;
{
strcpy(cache,"syscfg->cnfgdata");
printf("%s.fdmauto = ",cache);
switch(syscfg->cnfgdata.fdmauto) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
}
pager();
printf("%s.ideenable = ",cache);
switch(syscfg->cnfgdata.ideenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
}
pager();
if(TRUE == syscfg->cnfgdata.ideenable) {
printf("%s.idetrace = ",cache);
switch(syscfg->cnfgdata.idetrace) {
case 0: printf("SILENT");
break;
case 1: printf("ERRORS");
break;
case 2: printf("EVERYTHING");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.de8bit = ",cache);
switch(syscfg->cnfgdata.ide8bit) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.idecapacity = %dMB",cache,
syscfg->cnfgdata.idecapacity);
pager();
}
printf("%s.ppideenable = ",cache);
switch(syscfg->cnfgdata.ppideenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
}
pager();
if(TRUE == syscfg->cnfgdata.ppideenable) {
printf("%s.ppidetrace = ",cache);
switch(syscfg->cnfgdata.ppidetrace) {
case 0: printf("SILENT");
break;
case 1: printf("ERRORS");
break;
case 2: printf("EVERYTHING");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.ppide8bit = ",cache);
switch(syscfg->cnfgdata.ppide8bit) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.ppidecapacity = %dKB",cache,
syscfg->cnfgdata.ppidecapacity);
pager();
printf("%s.ppideslow = ",cache);
switch(syscfg->cnfgdata.ppideslow) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
}
printf("%s.boottype = ",cache);
switch(syscfg->cnfgdata.boottype) {
case BTMENU: printf("BT_MENU");
break;
case BTAUTO: printf("BT_AUTO");
break;
}
pager();
printf("%s.boottimeout = %d seconds",cache,
syscfg->cnfgdata.boottimeout);
pager();
printf("%s.bootdefault = %c:",cache,
syscfg->cnfgdata.bootdefault);
pager();
printf("%s.baudrate = %u (0x%04x) Baud",cache,
syscfg->cnfgdata.baudrate,syscfg->cnfgdata.baudrate);
pager();
if(PLT_N8 == syscfg->cnfgdata.platform) {
printf("%s.ckdiv = %d",cache,
syscfg->cnfgdata.ckdiv);
pager();
printf("%s.memwait = 0x%02x",cache,
syscfg->cnfgdata.memwait);
pager();
printf("%s.iowait = 0x%02x",cache,syscfg->cnfgdata.iowait);
pager();
printf("%s.cntlb0 = 0x%02x",cache,syscfg->cnfgdata.cntlb0);
pager();
printf("%s.cntlb1 = 0x%02x",cache,syscfg->cnfgdata.cntlb1);
pager();
printf("%s.sdenable = ",cache);
switch(syscfg->cnfgdata.sdenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.sdtrace = ",cache);
switch(syscfg->cnfgdata.sdtrace) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
}
}
/********************/
/* eof - cnamept3.c */
/********************/
/*
unsigned char ckdiv;
unsigned char memwait;
unsigned char iowait;
unsigned char cntlb0;
unsigned char cntlb1;
unsigned char sdenable;
unsigned char sdtrace;
unsigned int sdcapacity;
unsigned char sdcsio;
unsigned char sdcsiofast;
unsigned char defiobyte;
unsigned char termtype;
unsigned int revision;
unsigned char prpsdenable;
unsigned char prpsdtrace;
unsigned int prpsdcapacity;
unsigned char prpconenable;
unsigned int biossize;
*/


198
Apps/Source/cnamept4.c

@ -1,198 +0,0 @@
/* cnamept2.c 5/24/2012 dwg - */
#include "stdio.h"
#include "stdlib.h"
#include "portab.h"
#include "std.h"
#include "cnfgdata.h"
#include "syscfg.h"
extern pager();
char cache[17];
cnamept4(syscfg)
struct SYSCFG * syscfg;
{
strcpy(cache,"syscfg->cnfgdata");
if(PLT_N8 == syscfg->cnfgdata.platform) {
printf("%s.sdcapacity = %uKB",cache,
syscfg->cnfgdata.sdcapacity);
pager();
printf("%s.sdcsio = ",cache);
switch(syscfg->cnfgdata.sdcsio) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default:
printf("Unknown!!");
break;
}
pager();
printf("%s.sdcsiofast = ",cache);
switch(syscfg->cnfgdata.sdcsiofast) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
}
printf("%s.defiobyte = 0x%02x",cache,
syscfg->cnfgdata.defiobyte);
pager();
printf("%s.termtype = ",cache);
switch(syscfg->cnfgdata.termtype) {
case TERM_TTY: printf("TERM_TTY");
break;
case TERM_ANSI: printf("TERM_ANSI");
break;
case TERM_WYSE: printf("TERM_WYSE");
break;
case TERM_VT52: printf("TERM_VT52");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.revision = %d",cache,
syscfg->cnfgdata.revision);
pager();
printf("%s.prpenable = ",cache);
switch(syscfg->cnfgdata.prpenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
if(TRUE == syscfg->cnfgdata.prpenable) {
printf("%s.prpsdenable = ");
switch(syscfg->cnfgdata.prpsdenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
if(TRUE == syscfg->cnfgdata.prpsdenable) {
printf("%s.prpsdtrace = ",cache);
switch(syscfg->cnfgdata.prpsdtrace) {
case 0: printf("SILENT");
break;
case 1: printf("ERRORS");
break;
case 2: printf("EVERYTHING");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.prpsdcapacity = ",cache);
pager();
printf("%s.prpconenable = ",cache);
switch(syscfg->cnfgdata.prpconenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
}
}
printf("%s.biossize = %d",cache,
syscfg->cnfgdata.biossize);
pager();
printf("%s.pppenable = ",cache);
switch(syscfg->cnfgdata.pppenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
if(TRUE == syscfg->cnfgdata.pppenable) {
printf("%s.pppsdenable = ",cache);
switch(syscfg->cnfgdata.pppsdenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.pppsdtrace = ",cache);
switch(syscfg->cnfgdata.pppsdtrace) {
case 0: printf("SILENT");
break;
case 1: printf("ERRORS");
break;
case 2: printf("EVERYTHING");
break;
default: printf("Unknown!!");
break;
}
pager();
printf("%s.pppcapacity = %d",cache,
syscfg->cnfgdata.prpsdcapacity);
pager();
printf("%s.pppconenable = ",cache);
switch(syscfg->cnfgdata.pppconenable) {
case TRUE: printf("TRUE");
break;
case FALSE: printf("FALSE");
break;
default: printf("Unknown!!");
break;
}
pager();
}
}
/********************/
/* eof - cnamept4.c */
/********************/


98
Apps/Source/cnfgdata.h

@ -1,73 +1,121 @@
/* cnfgdata.h 6/04/2012 dwg - */
struct CNFGDATA {
unsigned char rmj;
unsigned char rmn;
unsigned char rup;
unsigned char rtp;
unsigned int revision;
unsigned char diskboot;
unsigned char devunit;
unsigned int bootlu;
unsigned char year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char month;
unsigned char day;
unsigned char year;
unsigned char freq;
unsigned char platform;
unsigned char dioplat;
unsigned char vdumode;
unsigned int romsize;
unsigned char freq;
unsigned int ramsize;
unsigned char clrramdk;
unsigned int romsize;
unsigned char ckdiv;
unsigned char memwait;
unsigned char iowait;
unsigned char cntlb0;
unsigned char cntlb1;
unsigned char boottype;
unsigned char boottimeout;
unsigned char bootdefault;
unsigned char defcon;
unsigned char altcon;
unsigned char defvda;
unsigned char defemu;
unsigned char termtype;
unsigned char defiobyte;
unsigned char altiobyte;
unsigned char wrtcache;
unsigned char dsktrace;
unsigned char dskmap;
unsigned char clrramdsk;
unsigned char dskyenable;
unsigned char uartenable;
unsigned char uartfifo;
unsigned char uartafc;
unsigned int baudrate;
unsigned char vduenable;
unsigned char cvduenable;
unsigned char upd7220enable;
unsigned char n8venable;
unsigned char fdenable;
unsigned char fdmode;
unsigned char fdtrace;
unsigned char fdmedia;
unsigned char fdmediaalt;
unsigned char fdmauto;
unsigned char ideenable;
unsigned char idemode;
unsigned char idetrace;
unsigned char ide8bit;
unsigned int idecapacity;
unsigned char ppideenable;
unsigned char ppidemode;
unsigned char ppidetrace;
unsigned char ppide8bit;
unsigned int ppidecapacity;
unsigned char ppideslow;
unsigned char boottype;
unsigned char boottimeout;
unsigned char bootdefault;
unsigned int baudrate;
unsigned char ckdiv;
unsigned char memwait;
unsigned char iowait;
unsigned char cntlb0;
unsigned char cntlb1;
unsigned char sdenable;
unsigned char sdmode;
unsigned char sdtrace;
unsigned int sdcapacity;
unsigned char sdcsio;
unsigned char sdcsiofast;
unsigned char defiobyte;
unsigned char termtype;
unsigned int revision;
unsigned char prpenable;
unsigned char prpsdenable;
unsigned char prpsdtrace;
unsigned int prpsdcapacity;
unsigned char prpconenable;
unsigned int biossize;
unsigned char pppenable;
unsigned char pppsdenable;
unsigned char pppsdtrace;
unsigned int pppsdcapacity;
unsigned int pppsdcapacity;
unsigned char pppconenable;
unsigned char prpenable;
unsigned char hdskenable;
unsigned char hdsktrace;
unsigned int hdskcapacity;
unsigned char ppkenable;
unsigned char ppktrace;
unsigned char kbdenable;
unsigned char kbdtrace;
unsigned char ttyenable;
unsigned char ansienable;
unsigned char ansitrace;
};
/********************/
/* eof - cnfgdata.h */
/********************/
/********************/


120
Apps/Source/cpmname.c

@ -13,47 +13,85 @@
#include "diagnose.h"
#include "std.h"
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
extern cnamept1();
extern cnamept2();
extern cnamept3();
extern cnamept4();
int line = 1;
struct SYSCFG * pSYSCFG;
int line;
char hexmap[] = "0123456789ABCDEF";
int main(argc,argv)
int argc;
char *argv[];
char * fmthexbyte(val, buf)
unsigned char val;
char * buf;
{
buf[0] = hexmap[(val >> 4) & 0xF];
buf[1] = hexmap[(val >> 0) & 0xF];
buf[2] = '\0';
return buf;
}
char * fmthexword(val, buf)
unsigned int val;
char * buf;
{
buf[0] = hexmap[(val >> 12) & 0xF];
buf[1] = hexmap[(val >> 8) & 0xF];
buf[2] = hexmap[(val >> 4) & 0xF];
buf[3] = hexmap[(val >> 0) & 0xF];
buf[4] = '\0';
return buf;
}
char *p;
char c;
int i;
char * fmtbool(val)
unsigned char val;
{
return (val ? "True" : "False");
}
char * pC;
char * fmtenable(val)
unsigned char val;
{
return (val ? "Enabled" : "Disabled");
}
line = 5;
putscpm(p)
char * p;
{
while (*p != '$')
putchar(*(p++));
}
pager()
{
int i;
line++;
printf("\r\n");
if(line >= 24)
{
printf("*** Press any key to continue...");
while (bdos(6, 0xFF) == 0);
putchar('\r');
for (i = 0; i < 40; i++) {putchar(' ');}
putchar('\r');
line = 1;
}
}
int main(argc,argv)
int argc;
char *argv[];
{
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
diagnose(); /* invoke the HBIOS function */
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
printf("CPMNAME.COM %d/%d/%d v%d.%d.%d (%d)",
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP);
printf(" dwg - Display System Configuration");
@ -63,43 +101,19 @@ int main(argc,argv)
ireghl = pGETINFO;
bioscall();
pINFOLIST = ireghl;
printf("pINFOLIST->banptr ==> ");
dregde = pINFOLIST->banptr;
dregbc = 9;
bdoscall();
pager();
hregbc = 0xf000;
putscpm(pINFOLIST->banptr);
pager();
pager();
hregbc = 0xF000;
hregde = HIGHSEG;
diagnose();
pSYSCFG = HIGHSEG;
cnamept1(pSYSCFG);
cnamept2(pSYSCFG);
cnamept3(pSYSCFG);
cnamept4(pSYSCFG);
}
pager()
{
line++;
printf("\n");
if(24 == line) {
printf(" press any key to continue");
dregbc = 1;
bdoscall();
line = 1;
}
cnamept1(HIGHSEG);
}
/********************/
/* eof - ccpmname.c */
/********************/



3
Apps/Source/syscfg.h

@ -19,4 +19,5 @@ struct SYSCFG {
/******************/
/* eof - syscfg.h */
/******************/
/******************/


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-05-10
Version: 2.5 Beta 8
Updated: 2013-05-16
Version: 2.5 Beta 9
This is an adaptation of CP/M-80 2.2 and ZSDOS/ZCPR
targeting ROMs for all N8VEM Z80 hardware variations

202
Source/cnfgdata.inc

@ -1,202 +0,0 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; cnfgdata.inc 6/02/2012 dwg - for 2.0 B8 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 6/04/2012 dwg - add BOOTLU per Wayne email ;
; 6/02/2012 dwg - change BOOTDISK to DEVUNIT ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 5/10/2012 dwg - cleanup for 2.0 architecture ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; cnfgdata.inc 3/14/2012 dwg - for 2.0 X5 ;
; 3/14/2012 dwg - retire LDRCON & DBGCON ;
; cnfgdata.inc 3/04/2012 dwg - for 2.0.0.0 ;
; 3/04/2012 dwg - added ptrs VAR_LOC & TST_LOC ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.DB RMJ,RMN,RUP,RTP ; config data version
; Loader data
;
; This area is for notes left by the loader from when the ccp/bdos/bios were
; placed in memory and kicked off, this allows logging onto the boot drive on startup
;
DISKBOOT .DB FALSE ; FALSE if ROM BOOT, otherwise TRUE
BOOTDEVICE .DB 0 ; if not ROM boot, has DEV/UNIT of boot device
BOOTLU .DW 0 ; logical unit on dev/unit for boot
.DB 0,0,0, 0,0,0 ; system startup time to be filled in by loader (from rtc)
;==================================================================================================
; CONFIGURATION
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
;
;CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS
.DB CPUFREQ
;PLATFORM .EQU PLT_ZETA ; PLT_N8VEM, PLT_ZETA
.DB PLATFORM
;DIOPLT .EQU DIOPLT_ZETA ; DIOPLT_NONE, DIOPLT_DISKIO, DIOPLT_ZETA, DIOPLT_DIDE, DIOPLT_N8, DIOPLT_DISKIO3
.DB DIOPLT
;VDUMODE .EQU VDUPLT_NONE ; VDUPLT_NONE, VDUPLT_VDUV1, VDUPLT_PROPIO, VDUPLT_N8, VDUPLT_V2 (ONLY V1 IMPLEMENTED!)
.DB VDUMODE
;ROMSIZE .EQU 512 ; SIZE OF ROM IN KB, MUST MATCH YOUR HARDWARE!!!
.DW ROMSIZE
;RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
.DW RAMSIZE
;CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA)
.DB CLRRAMDISK
;DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
.DB DSKYENABLE
;UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE)
.DB UARTENABLE
;VDUENABLE .EQU FALSE ; TRUE FOR VDU SERVICES (YOU MUST HAVE THE HARDWARE!)
.DB VDUENABLE
;FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT
.DB FDENABLE
;FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE)
.DB FDTRACE
;FDMEDIA .EQU FDM720 ; FDM720 OR FDM144 (ONLY RELEVANT IF FDENABLE = TRUE)
.DB FDMEDIA
;FDMEDIAALT .EQU FDM144 ; ALTERNATIVE MEDIA TO TRY
.DB FDMEDIAALT
;FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY
.DB FDMAUTO
;IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT
.DB IDEENABLE
;IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
.DB IDETRACE
;IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
.DB IDE8BIT
;IDECAPACITY .EQU 64 ; SIZE OF DEVICE IN MEGABYTES
.DW IDECAPACITY
;PPIDEENABLE .EQU TRUE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
.DB PPIDEENABLE
;PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE)
.DB PPIDETRACE
;PPIDE8BIT .EQU TRUE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
.DB PPIDE8BIT
;PPIDECAPACITY .EQU 64
.DW PPIDECAPACITY ; SIZE OF DEVICE IN MEGABYTES
; PPIDESLOW .EQU FALSE
.DB PPIDESLOW ; Add NOPs to PPIDE driver for recovery time
;BOOTTYPE: .EQU BT_JP2 ; BT_UART, BT_DSKY, BT_JP2
.DB BOOTTYPE
;BOOT_TIMEOUT .EQU 10 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE
.DB BOOT_TIMEOUT
;BOOT_DEFAULT .EQU 'R' ; SELECTION TO INVOKE AT TIMEOUT
.DB BOOT_DEFAULT
;BAUDRATE .EQU 38400 ; IN BPS: 1200, 9600, 38400, ..., 115200
.DW BAUDRATE
#IF (PLATFORM == PLT_N8)
;Z180_CLKDIV .EQU 1 ; 0=XTAL/2, 1=XTAL/1
.DB Z180_CLKDIV
;Z180_MEMWAIT .EQU 0 ; MEMORY WAIT STATES TO INSERT (0-3)
.DB Z180_MEMWAIT
;Z180_IOWAIT .EQU 3 ; IO WAIT STATES TO INSERT (0-3)
.DB Z180_IOWAIT
;Z180_CNTLB0 .EQU 20H ; SERIAL PORT 0 DIV, SEE Z180 CLOCKING DOCUMENT
.DB Z180_CNTLB0
;Z180_CNTLB1 .EQU 20H ; SERIAL PORT 1 DIV, SEE Z180 CLOCKING DOCUMENT
.DB Z180_CNTLB1
.DB SDENABLE ; SD support boolean
.DB SDTRACE ; SD trace type
;SDCAPACITY .EQU 64 ; DEVICE SIZE IN MEGABYTES
.DW SDCAPACITY
.DB SDMODE ; USE CSI/O PORT (boolean)
.DB SDCSIOFAST ; USE FAST CSI/O ALGORITHM (boolean)
#ELSE
.DB 0E5h ; placeholder for Z180_CLKDIV
.DB 0E5h ; placeholder for Z180_MEMWAIT
.DB 0E5h ; placeholder for Z180_IOWAIT
.DB 0E5h ; placeholder for Z180_CNTLB0
.DB 0E5h ; placeholder for Z180_CNTLB1
.DB 0e5h ; placeholder for SDENABLE
.DB 0e5h ; placeholder for SDTARCE
.DW 0e5e5h ; placeholder for SDCAPACITY
.DB 0e5h ; placeholder for SDCSIO
.DB 0e5h ; placeholder for SDCSIOFAST
#ENDIF
; DEFIOBYTE .EQU $00 ; INITIAL VALUE FOR CP/M IOBYTE, $00=TTY, $01=CRT (MUST HAVE CRT HARDWARE);
.DB DEFIOBYTE
; TERMTYPE .EQU TERM_TTY
.DB TERMTYPE
; REVISION .EQU 500 ; approximate svn revision of source tree
.DW REVISION
#IF (PRPSDENABLE)
.DB PRPSDENABLE
.DB PRPSDTRACE
.DW PRPSDCAPACITY
.DB PRPCONENABLE
#ELSE
.DB 0E5h ; placeholder for PRPSDENABLE
.DB 0E5h ; placeholder for PRPSDTARCE
.DW 0E5E5h ; placeholder for PRPSDCAPACITY
.DB 0E5h ; placeholder for PRPCONENABLE
#ENDIF
; DATASIZE .EQU 0700h ;
.DW BIOSSIZE
;PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT
.DB PPPENABLE
;PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
.DB PPPSDENABLE
;PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE)
.DB PPPSDTRACE
;PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB)
.DW PPPSDCAPACITY
;PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
.DB PPPCONENABLE
; PRPENABLE .EQU FALSE
.DB PRPENABLE
;;;;;;;;;;;;;;;;;;;;;;
; eof - cnfgdata.inc ;
;;;;;;;;;;;;;;;;;;;;;;

2
Source/config_n8_2312.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_CSIO ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_CSIO ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8_2511.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_N8 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_N8 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_cvdu.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_dide.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_diskio.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_diskio3.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_dsd.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_DSD ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_DSD ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_ppide.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_ppisd.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_propio.asm

@ -55,9 +55,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_simh.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_std.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_n8vem_vdu.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_zeta_ppp.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

2
Source/config_zeta_std.asm

@ -54,9 +54,9 @@ PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

5
Source/loader.asm

@ -8,6 +8,7 @@
; INCLUDE GENERIC STUFF
;
#INCLUDE "std.asm"
#INCLUDE "syscfg.exp"
;
; 12/1/2011 dwg -
DRIVES .EQU 1 ; control diskmap display function
@ -470,7 +471,6 @@ DB_DONE:
; PATCH BOOT DRIVE INFO INTO CONFIG DATA
LD A,1
CALL RAMPG
LD HL,$020D ; LOCATION OF BOOTINFO IN SYSCFG IN RAM PAGE 0
CALL PATBI
CALL RAMPGZ
@ -479,7 +479,8 @@ DB_DONE:
JP (HL)
PATBI:
; PATCH BOOT DRIVE INFO AT ADDRESS SPECIFIED BY HL
; PATCH BOOT DRIVE INFO INTO CONFIG DATA
LD HL,$200 + DISKBOOT ; LOCATION OF BOOTINFO IN SYSCFG IN RAM PAGE 1
LD A,TRUE ; BOOT FROM DISK = TRUE
LD (HL),A ; SAVE IT
INC HL

143
Source/syscfg.asm

@ -2,33 +2,150 @@
;
; syscfg.asm 3/04/2012 2.0.0.0 dwg - added required configuration information
;
; Include standard BIOS definitions
; INCLUDE STANDARD BIOS DEFINITIONS
;
#INCLUDE "std.asm"
;
.ORG 0000H ; ALL ADDRESSES GENERATED WILL BE ZERO BASED
.ORG 0 ; ALL ADDRESSES GENERATED WILL BE ZERO BASED
;
JP 0000H ; DUMMY JP INSTRUCTION FOR COMPATIBILITY
JP 0 ; DUMMY JP INSTRUCTION FOR COMPATIBILITY
;
; Reserved for Configuration Information
;
.DW cnf_loc
.DW tst_loc1
.DW var_loc1
.DW SC_CNF ; OFFSET OF CONFIG DATA
.DW SC_TST ; OFFSET OF TIMESTAMP STRING
.DW SC_VAR ; OFFSET OF VARIANT STRING
;
; BIOS configuration data
;
cnf_loc:
#INCLUDE "cnfgdata.inc"
SC_CNF:
;
; Build information strings
; BIOS REVISION
;
tst_loc1 .DB TIMESTAMP
var_loc1 .DB VARIANT
.DB '$' ; provide terminator for variable length field
.DB RMJ, RMN ; MAJOR, MINOR
.DB RUP, RTP ; UPDATE, PATCH
.DW REVISION ; SVN REVISION
;
; LOADER DATA
;
; THIS AREA IS FOR NOTES LEFT BY THE LOADER FROM WHEN THE CCP/BDOS/BIOS WERE
; PLACED IN MEMORY AND KICKED OFF, THIS ALLOWS LOGGING ONTO THE BOOT DRIVE ON STARTUP
;
DISKBOOT .DB FALSE ; FALSE IF ROM BOOT, OTHERWISE TRUE
BOOTDEVICE .DB 0 ; IF NOT ROM BOOT, HAS DEV/UNIT OF BOOT DEVICE
BOOTLU .DW 0 ; LOGICAL UNIT ON DEV/UNIT FOR BOOT
BOOTTIME .DB 0,0,0,0,0,0 ; SYSTEM STARTUP TIME (YY,MM,DD,HH,MM,SS)
;
; BUILD CONFIGURATION OPTIONS
;
.DB PLATFORM
.DB CPUFREQ
.DW RAMSIZE
.DW ROMSIZE
#IF (PLATFORM == PLT_N8)
.DB Z180_CLKDIV
.DB Z180_MEMWAIT
.DB Z180_IOWAIT
.DB Z180_CNTLB0
.DB Z180_CNTLB1
#ELSE
.FILL 5,$FF
#ENDIF
.DB BOOTTYPE
.DB BOOT_TIMEOUT
.DB BOOT_DEFAULT
.DB DEFCON
.DB ALTCON
.DB DEFVDA
.DB DEFEMU
.DB TERMTYPE
.DB DEFIOBYTE
.DB ALTIOBYTE
.DB WRTCACHE
.DB DSKTRACE
.DB DSKMAP
.DB CLRRAMDISK
.DB DSKYENABLE
.DB UARTENABLE
.DB UARTFIFO
.DB UARTAFC
.DW BAUDRATE
.DB VDUENABLE
.DB CVDUENABLE
.DB UPD7220ENABLE
.DB N8VENABLE
.DB FDENABLE
.DB FDMODE
.DB FDTRACE
.DB FDMEDIA
.DB FDMEDIAALT
.DB FDMAUTO
.DB IDEENABLE
.DB IDEMODE
.DB IDETRACE
.DB IDE8BIT
.DW IDECAPACITY
.DB PPIDEENABLE
.DB PPIDEMODE
.DB PPIDETRACE
.DB PPIDE8BIT
.DW PPIDECAPACITY
.DB PPIDESLOW
.DB SDENABLE
.DB SDMODE
.DB SDTRACE
.DW SDCAPACITY
.DB SDCSIOFAST
.DB PRPENABLE
.DB PRPSDENABLE
.DB PRPSDTRACE
.DW PRPSDCAPACITY
.DB PRPCONENABLE
.DB PPPENABLE
.DB PPPSDENABLE
.DB PPPSDTRACE
.DW PPPSDCAPACITY
.DB PPPCONENABLE
.DB HDSKENABLE
.DB HDSKTRACE
.DW HDSKCAPACITY
.DB PPKENABLE
.DB PPKTRACE
.DB KBDENABLE
.DB KBDTRACE
.DB TTYENABLE
.DB ANSIENABLE
.DB ANSITRACE
;
; BUILD INFORMATION STRINGS
;
SC_TST .DB TIMESTAMP,'$'
SC_VAR .DB VARIANT,'$'
;
.EXPORT DISKBOOT,BOOTDEVICE,BOOTLU
;
.FILL 200H - $,$FF
.FILL $200-$,$FF
;
.END

4
Source/ver.inc

@ -1,6 +1,6 @@
#DEFINE RMJ 2
#DEFINE RMN 5
#DEFINE RUP 0
#DEFINE RTP 8
#DEFINE BIOSVER "2.5 - Beta 8"
#DEFINE RTP 9
#DEFINE BIOSVER "2.5 - Beta 9"
#DEFINE REVISION 412

Loading…
Cancel
Save