mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Support ZZRCC
This commit is contained in:
@@ -271,6 +271,19 @@ diskdef interak
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 256KB ROM (128KB reserved, 128KB ROM Disk)
|
||||
|
||||
diskdef wbw_rom256
|
||||
seclen 512
|
||||
tracks 4
|
||||
sectrk 64
|
||||
blocksize 2048
|
||||
maxdir 256
|
||||
skew 0
|
||||
boottrk 0
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 512KB ROM (128KB reserved, 384KB ROM Disk)
|
||||
|
||||
diskdef wbw_rom512
|
||||
|
||||
@@ -2166,6 +2166,37 @@ INIT2:
|
||||
CALL MD_INIT ; INITIALIZE MEMORY DISK DRIVER (RAM/ROM)
|
||||
CALL DRV_INIT ; INITIALIZE DRIVE MAP
|
||||
CALL DPH_INIT ; INITIALIZE DPH TABLE AND BUFFERS
|
||||
;
|
||||
; SET THE DEFAULT DRIVE
|
||||
XOR A ; ZERO ACCUM
|
||||
LD (DEFDRIVE),A ; SET DEFAULT DRIVE TO A: TO START
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
;
|
||||
; IF WE HAVE MULTIPLE DRIVES AND THE FIRST DRIVE IS RAM DRIVE
|
||||
; THEN MAKE OUR DEFAULT STARTUP DRIVE THE SECOND DRIVE (B:)
|
||||
LD HL,(DRVMAPADR) ; POINT TO DRIVE MAP
|
||||
DEC HL ; BUMP BACK TO DRIVE COUNT
|
||||
LD A,(HL) ; GET IT
|
||||
CP 2 ; COMPARE TO 2
|
||||
JR C,INIT2X ; IF LESS THAN 2, THEN DONE
|
||||
;
|
||||
LD B,BF_DIODEVICE ; HBIOS FUNC: REPORT DEVICE INFO
|
||||
INC HL ; POINT TO UNIT FIELD
|
||||
LD C,(HL) ; ... OF FIRST DRIVE
|
||||
RST 08 ; CALL HBIOS
|
||||
LD A,D ; DEVICE TYPE TO A
|
||||
CP DIODEV_MD ; MEMORY DISK DEVICE?
|
||||
JR NZ,INIT2X ; IF NOT, THEN DONE
|
||||
LD A,C ; GET ATTRIBUTES
|
||||
CP %00101000 ; TYPE = RAM?
|
||||
JR NZ,INIT2X ; IF NOT THEN DONE
|
||||
LD A,1 ; USE SECOND DRIVE AS DEFAULT
|
||||
LD (DEFDRIVE),A ; RECORD DEFAULT DRIVE
|
||||
;
|
||||
INIT2X:
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF PLTUNA
|
||||
; USE A DEDICATED BUFFER FOR UNA PHYSICAL DISK I/O
|
||||
@@ -2419,7 +2450,7 @@ MD_INIT4:
|
||||
LD BC,$01FB ; UNA FUNC = SET BANK
|
||||
LD DE,(BNKRAMD) ; FIRST BANK OF RAM DISK
|
||||
CALL $FFFD ; DO IT (RST 08 NOT SAFE HERE)
|
||||
|
||||
;
|
||||
#IF (CLRRAMDISK == CLR_AUTO)
|
||||
; CHECK FIRST 32 DIRECTORY ENTRIES. IF ANY START WITH AN INVALID
|
||||
; VALUE, INIT THE RAM DISK. VALID ENTRIES ARE E5 (EMPTY ENTRY) OR
|
||||
@@ -2444,15 +2475,15 @@ CLRRAM2:
|
||||
LD BC,$01FB ; UNA FUNC = SET BANK
|
||||
LD DE,(BNKUSER) ; SWITCH BACK TO EXEC BANK FOR WRITESTR
|
||||
CALL $FFFD ; DO IT (RST 08 NOT SAFE HERE)
|
||||
|
||||
;
|
||||
CALL NEWLINE2 ; FORMATTING
|
||||
LD DE,STR_INITRAMDISK ; RAM DISK INIT MESSAGE
|
||||
CALL WRITESTR ; DISPLAY IT
|
||||
|
||||
;
|
||||
LD BC,$01FB ; UNA FUNC = SET BANK
|
||||
LD DE,(BNKRAMD) ; FIRST BANK OF RAM DISK
|
||||
CALL $FFFD ; DO IT (RST 08 NOT SAFE HERE)
|
||||
|
||||
;
|
||||
LD HL,0 ; SOURCE ADR FOR FILL
|
||||
LD BC,$2000 ; LENGTH OF FILL IS 8K
|
||||
LD A,$E5 ; FILL VALUE
|
||||
@@ -2462,17 +2493,19 @@ CLRRAM3:
|
||||
LD DE,(BNKUSER) ; SWITCH BACK TO EXEC BANK
|
||||
CALL $FFFD ; DO IT (RST 08 NOT SAFE HERE)
|
||||
EI ; RESUME INTERRUPTS
|
||||
|
||||
;
|
||||
#ENDIF
|
||||
|
||||
;
|
||||
#ELSE
|
||||
;
|
||||
; INITIALIZE RAM DISK BY FILLING DIRECTORY WITH 'E5' BYTES
|
||||
; FILL FIRST 8K OF RAM DISK TRACK 1 WITH 'E5'
|
||||
;
|
||||
#IF (CLRRAMDISK != CLR_NEVER)
|
||||
DI ; NO INTERRUPTS
|
||||
LD A,(BNKRAMD) ; FIRST BANK OF RAM DISK
|
||||
CP $FF ; $FF SIGNIFIES NO RAM DISK
|
||||
RET Z ; BAIL OUT IF NO RAM DISK
|
||||
DI ; NO INTERRUPTS
|
||||
CALL HB_BNKSEL ; SELECT BANK
|
||||
|
||||
#IF (CLRRAMDISK == CLR_AUTO)
|
||||
@@ -2679,14 +2712,14 @@ DRV_INIT:
|
||||
; GET BOOT UNIT/SLICE INFO
|
||||
LD DE,(HCB + HCB_BOOTVOL) ; BOOT VOLUME (UNIT, SLICE)
|
||||
LD (BOOTVOL),DE ; D -> UNIT, E -> SLICE
|
||||
;
|
||||
; INIT DEFAULT
|
||||
LD A,D ; BOOT UNIT?
|
||||
CP 1 ; IF ROM BOOT, DEF DRIVE SHOULD BE B:
|
||||
JR Z,DRV_INIT1 ; ... SO LEAVE AS IS AND SKIP AHEAD
|
||||
XOR A ; ELSE FORCE TO DRIVE A:
|
||||
DRV_INIT1:
|
||||
LD (DEFDRIVE),A ; STORE IT
|
||||
;;
|
||||
; ; INIT DEFAULT
|
||||
; LD A,D ; BOOT UNIT?
|
||||
; CP 1 ; IF ROM BOOT, DEF DRIVE SHOULD BE B:
|
||||
; JR Z,DRV_INIT1 ; ... SO LEAVE AS IS AND SKIP AHEAD
|
||||
; XOR A ; ELSE FORCE TO DRIVE A:
|
||||
;DRV_INIT1:
|
||||
; LD (DEFDRIVE),A ; STORE IT
|
||||
;
|
||||
; SETUP THE DRVMAP STRUCTURE
|
||||
LD HL,(HEAPTOP) ; GET CURRENT HEAP TOP
|
||||
|
||||
@@ -65,8 +65,8 @@ while ($true)
|
||||
#
|
||||
while ($true)
|
||||
{
|
||||
if (($RomSize -eq "512") -or ($RomSize -eq "1024")) {break}
|
||||
$RomSize = (Read-Host -prompt "ROM Size [512|1024]").Trim()
|
||||
if (($RomSize -eq "256") -or ($RomSize -eq "512") -or ($RomSize -eq "1024")) {break}
|
||||
$RomSize = (Read-Host -prompt "ROM Size [256|512|1024]").Trim()
|
||||
}
|
||||
|
||||
#
|
||||
@@ -227,8 +227,12 @@ foreach ($App in $RomApps)
|
||||
}
|
||||
|
||||
# Add the CP/M and ZSystem system images to the ROM disk (used by SYSCOPY)
|
||||
cpmcp -f $RomFmt $RomDiskFile ..\cpm22\cpm_${Bios}.sys 0:cpm.sys
|
||||
cpmcp -f $RomFmt $RomDiskFile ..\zsdos\zsys_${Bios}.sys 0:zsys.sys
|
||||
if ($RomSize -ne "256")
|
||||
{
|
||||
cpmcp -f $RomFmt $RomDiskFile ..\cpm22\cpm_${Bios}.sys 0:cpm.sys
|
||||
cpmcp -f $RomFmt $RomDiskFile ..\zsdos\zsys_${Bios}.sys 0:zsys.sys
|
||||
}
|
||||
|
||||
|
||||
# Set all the files in the ROM disk image to read only for extra protection under flash file system.
|
||||
cpmchattr -f $RomFmt $RomDiskFile r 0:*.*
|
||||
|
||||
@@ -42,7 +42,7 @@ while ! echo ${configs[@]} | grep -s -w -q "$config" ; do
|
||||
done
|
||||
configfile=Config/${platform}_${config}.asm
|
||||
|
||||
while [ ! '(' "$romsize" = 1024 -o "$romsize" = 512 ')' ] ; do
|
||||
while [ ! '(' "$romsize" = 1024 -o "$romsize" = 512 -o "$romsize" = 256 ')' ] ; do
|
||||
echo -n "Romsize :"
|
||||
read romsize
|
||||
done
|
||||
@@ -142,8 +142,10 @@ for i in ${Apps[@]} ; do
|
||||
done
|
||||
|
||||
echo "copying systems to $romdiskfile"
|
||||
$CPMCP -f $romfmt $romdiskfile ../CPM22/cpm_$BIOS.sys 0:cpm.sys
|
||||
$CPMCP -f $romfmt $romdiskfile ../ZSDOS/zsys_$BIOS.sys 0:zsys.sys
|
||||
if [ $romsize != 256 ] ; then
|
||||
$CPMCP -f $romfmt $romdiskfile ../CPM22/cpm_$BIOS.sys 0:cpm.sys
|
||||
$CPMCP -f $romfmt $romdiskfile ../ZSDOS/zsys_$BIOS.sys 0:zsys.sys
|
||||
fi
|
||||
|
||||
echo "setting files in the ROM disk image to read only"
|
||||
$CPMCH -f $romfmt $romdiskfile r 0:*.*
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ZZ80MB"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "Config/RCZ280_nat.asm"
|
||||
|
||||
44
Source/HBIOS/Config/RCZ280_nat_zzr.asm
Normal file
44
Source/HBIOS/Config/RCZ280_nat_zzr.asm
Normal file
@@ -0,0 +1,44 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; RC2014 Z280 STANDARD CONFIGURATION (NATIVE Z280 MMU W/ LINEAR MEMORY ON ZZRCC)
|
||||
;==================================================================================================
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
|
||||
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
|
||||
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
|
||||
; SETTINGS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ZZRCC"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "Config/RCZ280_nat.asm"
|
||||
;
|
||||
;CPUOSC .SET 29491200 ; CPU OSC FREQ IN MHZ
|
||||
CPUOSC .SET 24000000 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
RAMSIZE .SET 384 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .SET 128 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .SET 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
;
|
||||
RAMLOC .SET 23 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .SET (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
MDROM .SET FALSE ; MD: ENABLE ROM DISK
|
||||
MDRAM .SET TRUE ; MD: ENABLE RAM DISK
|
||||
;
|
||||
Z2U0HFC .SET TRUE ; Z2U 0: ENABLE HARDWARE FLOW CONTROL
|
||||
@@ -15,6 +15,7 @@ else
|
||||
OBJECTS += RCZ280_ext.rom RCZ280_ext.com RCZ280_ext.upd
|
||||
OBJECTS += RCZ280_nat.rom RCZ280_nat.com RCZ280_nat.upd
|
||||
OBJECTS += RCZ280_nat_zz.rom RCZ280_nat_zz.com RCZ280_nat_zz.upd
|
||||
OBJECTS += RCZ280_nat_zzr.rom RCZ280_nat_zzr.com RCZ280_nat_zzr.upd
|
||||
OBJECTS += RCZ80_kio.rom RCZ80_kio.com RCZ80_kio.upd
|
||||
OBJECTS += RCZ80_mt.rom RCZ80_mt.com RCZ80_mt.upd
|
||||
OBJECTS += RCZ80_duart.rom RCZ80_duart.com RCZ80_duart.upd
|
||||
@@ -53,6 +54,7 @@ DIFFPATH = $(DIFFTO)/Binary
|
||||
ROMSIZE=512
|
||||
|
||||
N8_std.rom: ROMSIZE=512
|
||||
RCZ280_nat_zzr.rom: ROMSIZE=256
|
||||
|
||||
%.rom:
|
||||
bash Build.sh $(DIFFBUILD) $(shell echo $* | sed 's/_/ /') $(ROMSIZE)
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
@@ -107,6 +109,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -138,6 +140,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -25,7 +25,9 @@ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .SET MM_NONE ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_NONE ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -189,8 +191,10 @@ VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_NONE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
@@ -125,6 +127,8 @@ VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_N8 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMLOC .EQU 0 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
@@ -128,6 +130,8 @@ VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
@@ -143,6 +145,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
@@ -160,6 +162,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -150,6 +152,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -128,6 +130,8 @@ VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
@@ -138,6 +140,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -22,6 +22,8 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
;
|
||||
RTCIO .EQU $70 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 0 ; INTERRUPT MODE: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -103,6 +105,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -28,6 +28,8 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAM_RESERVE .EQU 0 ; RESERVE FIRST N KB OF RAM (USUALLY 0)
|
||||
ROM_RESERVE .EQU 0 ; RESERVE FIRST N KB OR ROM (USUALLY 0)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -114,6 +116,8 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
|
||||
@@ -271,6 +271,19 @@ diskdef interak
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 256KB ROM (128KB reserved, 128KB ROM Disk)
|
||||
|
||||
diskdef wbw_rom256
|
||||
seclen 512
|
||||
tracks 4
|
||||
sectrk 64
|
||||
blocksize 2048
|
||||
maxdir 256
|
||||
skew 0
|
||||
boottrk 0
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 512KB ROM (128KB reserved, 384KB ROM Disk)
|
||||
|
||||
diskdef wbw_rom512
|
||||
|
||||
@@ -1182,10 +1182,12 @@ PRTSTR:
|
||||
COUT: PUSH AF
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,01H
|
||||
LD C,0
|
||||
LD E,A
|
||||
RST 08
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
POP AF
|
||||
@@ -1202,10 +1204,14 @@ COUTE: PUSH AF
|
||||
; WAIT FOR A CHARACTER FROM THE CONSOLE DEVICE AND RETURN IT IN A
|
||||
;
|
||||
CIN: PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,00H
|
||||
LD C,00H
|
||||
RST 08
|
||||
LD A,E
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
RET
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
; 0x00 MEMORY DISK 0x01 ROM DRIVE %00100000 HD STYLE, NON-REMOVABLE, TYPE-ROM
|
||||
; 0x00 MEMORY DISK 0x01 ROM DRIVE %00111000 HD STYLE, NON-REMOVABLE, TYPE-FLASH
|
||||
;
|
||||
MD_DEVCNT .EQU 2 ; NUMBER OF MD DEVICES SUPPORTED
|
||||
;MD_DEVCNT .EQU 2 ; NUMBER OF MD DEVICES SUPPORTED
|
||||
MD_CFGSIZ .EQU 8 ; SIZE OF CFG TBL ENTRIES
|
||||
;
|
||||
MD_DEV .EQU 0 ; OFFSET OF DEVICE NUMBER (BYTE)
|
||||
@@ -32,18 +32,25 @@ MD_FVAR .EQU 1 ; FLASH VERIFY AFTER WRITE
|
||||
; DEVICE CONFIG TABLE (RAM DEVICE FIRST TO MAKE IT ALWAYS FIRST DRIVE)
|
||||
;
|
||||
MD_CFGTBL:
|
||||
#IF (MDRAM)
|
||||
; DEVICE 1 (RAM)
|
||||
.DB 1 ; DRIVER DEVICE NUMBER
|
||||
.DB 0 ; DEVICE STATUS
|
||||
.DW 0,0 ; CURRENT LBA
|
||||
.DB MID_MDRAM ; DEVICE MEDIA ID
|
||||
.DB MD_ARAM ; DEVICE ATTRIBUTE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (MDROM)
|
||||
; DEVICE 0 (ROM)
|
||||
.DB 0 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE STATUS
|
||||
.DW 0,0 ; CURRENT LBA
|
||||
.DB MID_MDROM ; DEVICE MEDIA ID
|
||||
.DB MD_AROM ; DEVICE ATTRIBUTE
|
||||
#ENDIF
|
||||
;
|
||||
MD_DEVCNT .EQU ($ - MD_CFGTBL) / MD_CFGSIZ
|
||||
;
|
||||
#IF ($ - MD_CFGTBL) != (MD_DEVCNT * MD_CFGSIZ)
|
||||
.ECHO "*** INVALID MD CONFIG TABLE ***\n"
|
||||
@@ -59,35 +66,54 @@ MD_INIT:
|
||||
#ENDIF
|
||||
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("MD: UNITS=2 $")
|
||||
PRTS("ROMDISK=$")
|
||||
PRTS("MD: UNITS=$")
|
||||
LD A,MD_DEVCNT
|
||||
CALL PRTDECB
|
||||
;
|
||||
#IF (MDROM)
|
||||
PRTS(" ROMDISK=$")
|
||||
LD HL,ROMSIZE - 128
|
||||
CALL PRTDEC
|
||||
PRTS("KB RAMDISK=$")
|
||||
PRTS("KB$")
|
||||
#ENDIF
|
||||
;
|
||||
#IF (MDRAM)
|
||||
PRTS(" RAMDISK=$")
|
||||
LD HL,RAMSIZE - 256
|
||||
CALL PRTDEC
|
||||
PRTS("KB$")
|
||||
#ENDIF
|
||||
;
|
||||
; SETUP THE DIO TABLE ENTRIES
|
||||
;
|
||||
#IF (MDFFENABLE)
|
||||
#IF (MDROM & MDFFENABLE)
|
||||
LD A,(MD_FFSEN) ; IF FLASH
|
||||
OR A ; FILESYSTEM
|
||||
JR NZ,MD_IN1 ; CAPABLE,
|
||||
JR NZ,MD_INIT1 ; CAPABLE,
|
||||
LD A,MD_AFSH ; UPDATE ROM DIO
|
||||
LD (MD_CFGTBL + MD_CFGSIZ + MD_ATTRIB),A
|
||||
MD_IN1:
|
||||
MD_INIT1:
|
||||
#ENDIF
|
||||
LD BC,MD_FNTBL
|
||||
;
|
||||
LD DE,MD_CFGTBL
|
||||
PUSH BC
|
||||
CALL DIO_ADDENT ; ADD FIRST ENTRY
|
||||
POP BC
|
||||
LD DE,MD_CFGTBL + MD_CFGSIZ
|
||||
CALL DIO_ADDENT ; ADD SECOND ENTRY
|
||||
|
||||
XOR A ; INIT SUCCEEDED
|
||||
RET ; RETURN
|
||||
;
|
||||
MD_INIT2:
|
||||
LD A,(DE) ; FIRST BYTE OF CONFIG
|
||||
CP $FF ; END OF TABLE?
|
||||
JR NZ,MD_INIT3 ; IF NOT END OF TABLE, CONTINUE
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; AND RETURN
|
||||
;
|
||||
MD_INIT3:
|
||||
LD BC,MD_FNTBL ; BC IS FUNT TBL
|
||||
PUSH DE ; SAVE CFG PTR
|
||||
CALL DIO_ADDENT ; ADD DIO TBL ENTRY
|
||||
POP DE ; RECOVER CFG PTR
|
||||
EX DE,HL ; CFG PTR TO HL
|
||||
LD BC,MD_CFGSIZ ; ENTRY SIZ TO BC
|
||||
ADD HL,BC ; BUMP TO NEXT ENTRY
|
||||
EX DE,HL ; CFG PTR BACK TO DE
|
||||
JR MD_INIT2 ; REPEAT
|
||||
;
|
||||
;
|
||||
;
|
||||
|
||||
@@ -454,21 +454,19 @@ SYSTIM .SET TM_Z280
|
||||
; MEMORY BANK CONFIGURATION
|
||||
;
|
||||
#IF (BIOS == BIOS_UNA)
|
||||
BID_ROM0 .EQU $0000
|
||||
BID_RAM0 .EQU $8000
|
||||
BID_ROM0 .EQU $0000 + (ROM_RESERVE / 32)
|
||||
BID_RAM0 .EQU $8000 + (RAM_RESERVE / 32)
|
||||
#ENDIF
|
||||
;
|
||||
#IF (BIOS == BIOS_WBW)
|
||||
BID_ROM0 .EQU $00
|
||||
BID_RAM0 .EQU $80
|
||||
BID_ROM0 .EQU $00 + (ROM_RESERVE / 32)
|
||||
BID_RAM0 .EQU $80 + (RAM_RESERVE / 32)
|
||||
#ENDIF
|
||||
|
||||
BID_ROMN .EQU (BID_ROM0 + ((ROMSIZE / 32) - 1))
|
||||
BID_RAMN .EQU (BID_RAM0 + ((RAMSIZE / 32) - 1))
|
||||
|
||||
BID_BOOT .EQU BID_ROM0 ; BOOT BANK
|
||||
;BID_BIOSIMG .EQU BID_ROM0 + 1 ; BIOS IMAGE BANK
|
||||
;BID_OSIMG .EQU BID_ROM0 + 2 ; ROM LOADER AND IMAGES BANK
|
||||
BID_IMG0 .EQU BID_ROM0 + 1 ; ROM LOADER AND FIRST IMAGES BANK
|
||||
BID_IMG1 .EQU BID_ROM0 + 2 ; SECOND IMAGES BANK
|
||||
BID_FSFAT .EQU BID_ROM0 + 3 ; FAT FILESYSTEM DRIVER BANK
|
||||
|
||||
@@ -7,10 +7,12 @@ CR .EQU 0DH
|
||||
LF .EQU 0AH
|
||||
;
|
||||
.ORG USR_LOC
|
||||
;
|
||||
;
|
||||
LD SP,USR_END
|
||||
;
|
||||
LD HL,BOOTMSG ; INTRODUCTION
|
||||
CALL PRTSTR
|
||||
|
||||
;
|
||||
CALL CIN ; DO STUFF
|
||||
;
|
||||
LD B,BF_SYSRESET ; SYSTEM RESTART
|
||||
@@ -40,10 +42,13 @@ PRTSTR: LD A,(HL)
|
||||
COUT: PUSH AF
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,01H
|
||||
LD C,0
|
||||
LD E,A
|
||||
RST 08
|
||||
CALL $FFF0
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
POP AF
|
||||
@@ -60,10 +65,14 @@ COUTE: PUSH AF
|
||||
; WAIT FOR A CHARACTER FROM THE CONSOLE DEVICE AND RETURN IT IN A
|
||||
;
|
||||
CIN: PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,00H
|
||||
LD C,00H
|
||||
RST 08
|
||||
LD A,E
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
RET
|
||||
;
|
||||
|
||||
@@ -271,6 +271,19 @@ diskdef interak
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 256KB ROM (128KB reserved, 128KB ROM Disk)
|
||||
|
||||
diskdef wbw_rom256
|
||||
seclen 512
|
||||
tracks 4
|
||||
sectrk 64
|
||||
blocksize 2048
|
||||
maxdir 256
|
||||
skew 0
|
||||
boottrk 0
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 512KB ROM (128KB reserved, 384KB ROM Disk)
|
||||
|
||||
diskdef wbw_rom512
|
||||
|
||||
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/ASM.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/ASM.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/CLRDIR.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/CLRDIR.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/DDT.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/DDT.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/DDTZ.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/DDTZ.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/DUMP.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/DUMP.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/ED.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/ED.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/FLASH.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/FLASH.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/LOAD.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/LOAD.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/PIP.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/PIP.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/RELOG.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/RELOG.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/STAT.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/STAT.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/SUBMIT.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/SUBMIT.COM
Normal file
Binary file not shown.
BIN
Source/RomDsk/ROM_256KB/XSUB.COM
Normal file
BIN
Source/RomDsk/ROM_256KB/XSUB.COM
Normal file
Binary file not shown.
Binary file not shown.
@@ -2,4 +2,4 @@
|
||||
#DEFINE RMN 1
|
||||
#DEFINE RUP 1
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.1.1-pre.55"
|
||||
#DEFINE BIOSVER "3.1.1-pre.56"
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 1
|
||||
rup equ 1
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.1.1-pre.55"
|
||||
db "3.1.1-pre.56"
|
||||
endm
|
||||
|
||||
Reference in New Issue
Block a user