Browse Source

Merge pull request #182 from wwarthen/dev

Dev
pull/198/head
b1ackmai1er 5 years ago
committed by GitHub
parent
commit
b71d9655be
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. BIN
      Doc/Microsoft Basic-80 Reference Manual v5.0.pdf
  2. BIN
      Source/Apps/FAT/FAT.com
  3. 9
      Source/Apps/FAT/ReadMe.txt
  4. 230
      Source/BPBIOS/diskdefs
  5. 14
      Source/HBIOS/Build.ps1
  6. 11
      Source/HBIOS/Build.sh
  7. 4
      Source/HBIOS/Makefile
  8. 4
      Source/HBIOS/asci.asm
  9. 1
      Source/HBIOS/cfg_dyno.asm
  10. 1
      Source/HBIOS/cfg_ezz80.asm
  11. 2
      Source/HBIOS/cfg_master.asm
  12. 1
      Source/HBIOS/cfg_mk4.asm
  13. 1
      Source/HBIOS/cfg_n8.asm
  14. 2
      Source/HBIOS/cfg_rcz180.asm
  15. 1
      Source/HBIOS/cfg_rcz280.asm
  16. 1
      Source/HBIOS/cfg_rcz80.asm
  17. 1
      Source/HBIOS/cfg_sbc.asm
  18. 2
      Source/HBIOS/cfg_scz180.asm
  19. 230
      Source/HBIOS/diskdefs
  20. 0
      Source/HBIOS/imgpad1.asm
  21. 12
      Source/HBIOS/imgpad2.asm
  22. BIN
      Source/HBIOS/netboot.mod
  23. 2
      Source/HBIOS/romldr.asm
  24. 9
      Source/HBIOS/sd.asm
  25. 4
      Source/HBIOS/sio.asm
  26. 7
      Source/HBIOS/std.asm
  27. 12
      Source/HBIOS/usrrom.asm
  28. BIN
      Source/Images/d_bp/u0/UNZIP154.COM
  29. BIN
      Source/Images/d_bp/u0/UNZIP186.COM
  30. BIN
      Source/Images/d_cpm22/u0/UNZIP154.COM
  31. BIN
      Source/Images/d_cpm22/u0/UNZIP186.COM
  32. BIN
      Source/Images/d_zsdos/u0/UNZIP154.COM
  33. BIN
      Source/Images/d_zsdos/u0/UNZIP186.COM
  34. 230
      Source/Images/diskdefs
  35. BIN
      Source/RomDsk/ROM_1024KB/FAT.COM
  36. BIN
      Source/RomDsk/ROM_1024KB/UNZIP154.COM
  37. BIN
      Source/RomDsk/ROM_1024KB/UNZIP186.COM
  38. 10
      Source/ZZR/Build.cmd
  39. 10
      Source/ZZR/Makefile
  40. 14
      Source/ZZR/ZZR Disk Layout.txt
  41. BIN
      Source/ZZR/zzr_mon.bin
  42. 99
      Source/ZZR/zzr_romldr.hex
  43. 2
      Source/ver.inc
  44. 2
      Source/ver.lib
  45. 230
      Tools/cpmtools/diskdefs

BIN
Doc/Microsoft Basic-80 Reference Manual v5.0.pdf

Binary file not shown.

BIN
Source/Apps/FAT/FAT.com

Binary file not shown.

9
Source/Apps/FAT/ReadMe.txt

@ -1,7 +1,7 @@
RomWBW HBIOS CP/M FAT Utility ("FAT.COM") RomWBW HBIOS CP/M FAT Utility ("FAT.COM")
Author: Wayne Warthen Author: Wayne Warthen
Updated: 11-Oct-2019
Updated: 12-Apr-2021
Application to manipulate and exchange files with a FAT (DOS) Application to manipulate and exchange files with a FAT (DOS)
filesystem. Runs on any HBIOS hosted CP/M implementation. filesystem. Runs on any HBIOS hosted CP/M implementation.
@ -47,7 +47,7 @@ NOTES:
"C:README.TXT" refers to CP/M file README.TXT on CP/M drive C "C:README.TXT" refers to CP/M file README.TXT on CP/M drive C
"README.TXT" refers to CP/M file README.TXT on current CP/M drive "README.TXT" refers to CP/M file README.TXT on current CP/M drive
- Files with SYS, HIDDEN, or R/O only attributes are not given
- FAT files with SYS, HIDDEN, or R/O only attributes are not given
any special treatment. Such files are found and processed any special treatment. Such files are found and processed
like any other file. However, any attempt to write to a like any other file. However, any attempt to write to a
read-only file will fail and the application will abort. read-only file will fail and the application will abort.
@ -70,7 +70,7 @@ BUILD NOTES:
- Application is based on FatFs. FatFs source is included. - Application is based on FatFs. FatFs source is included.
- SDCC compiler is required to build (v3.9.0 known working).
- SDCC compiler is required to build (v4.0.0 known working).
- ZX CP/M emulator is required to build (from RomWBW distribution). - ZX CP/M emulator is required to build (from RomWBW distribution).
@ -88,6 +88,8 @@ TO DO:
- Do something intelligent with R/O and SYS files on FAT - Do something intelligent with R/O and SYS files on FAT
- Support UNA
HISTORY: HISTORY:
2-May-2019: v0.9 (beta) initial release 2-May-2019: v0.9 (beta) initial release
7-May-2019: v0.9.1 (beta) added REN and DEL 7-May-2019: v0.9.1 (beta) added REN and DEL
@ -98,4 +100,5 @@ HISTORY:
10-Oct-2019: v0.9.6 (beta) added FORMAT 10-Oct-2019: v0.9.6 (beta) added FORMAT
11-Oct-2019: v0.9.7 (beta) fix FORMAT to use existing partition table entries 11-Oct-2019: v0.9.7 (beta) fix FORMAT to use existing partition table entries
add attributes to directory listing add attributes to directory listing
12-Apr-2021: v0.9.8 (beta) support CP/NET drives

230
Source/BPBIOS/diskdefs

@ -416,7 +416,6 @@ diskdef wbw_hd512_3
os 2.2 os 2.2
end end
# RomWBW 8MB Hard Disk (1024 directory entry format) # RomWBW 8MB Hard Disk (1024 directory entry format)
# New format, 1024 dir entries, 16,384 sectors / slice # New format, 1024 dir entries, 16,384 sectors / slice
# Pure filesystem image, no MBR prefix # Pure filesystem image, no MBR prefix
@ -432,7 +431,7 @@ diskdef wbw_hd1024
end end
# First 4 slices of wbw_hd1024 # First 4 slices of wbw_hd1024
# Assumes 128KB prefix (256 sectors)
# Assumes 1MB prefix (2048 sectors)
diskdef wbw_hd1024_0 diskdef wbw_hd1024_0
seclen 512 seclen 512
tracks 1040 tracks 1040
@ -440,7 +439,7 @@ diskdef wbw_hd1024_0
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 18
boottrk 130
os 2.2 os 2.2
end end
@ -451,7 +450,7 @@ diskdef wbw_hd1024_1
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 1042
boottrk 1154
os 2.2 os 2.2
end end
@ -462,7 +461,7 @@ diskdef wbw_hd1024_2
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 2066
boottrk 2178
os 2.2 os 2.2
end end
@ -473,6 +472,225 @@ diskdef wbw_hd1024_3
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 3114
boottrk 3202
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
os 2.2
end
# RC2014 standard hard disk image
# Slices A-P
diskdef rc2014a
seclen 512
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
os 2.2 os 2.2
end end

14
Source/HBIOS/Build.ps1

@ -170,7 +170,7 @@ ROMSIZE .EQU ${ROMSize}
Copy-Item '..\Fonts\font*.asm' '.' Copy-Item '..\Fonts\font*.asm' '.'
# Assemble individual components. Note in the case of UNA, there is less to build. # Assemble individual components. Note in the case of UNA, there is less to build.
$RomComponentList = "dbgmon", "romldr", "eastaegg", "imgpad"
$RomComponentList = "dbgmon", "romldr", "eastaegg"
ForEach ($RomComponentName in $RomComponentList) {Asm $RomComponentName} ForEach ($RomComponentName in $RomComponentList) {Asm $RomComponentName}
if ($Platform -ne "UNA") if ($Platform -ne "UNA")
@ -183,7 +183,8 @@ if ($Platform -ne "UNA")
Asm 'tastybasic' Asm 'tastybasic'
Asm 'game' Asm 'game'
Asm 'usrrom' Asm 'usrrom'
Asm 'imgpad0'
Asm 'imgpad1'
Asm 'imgpad2'
} }
# #
@ -198,10 +199,11 @@ Concat 'romldr.bin', 'eastaegg.bin','dbgmon.bin', "..\cpm22\cpm_${Bios}.bin", ".
# Build 20K OS chunk containing the loader, debug monitor, and one OS image # Build 20K OS chunk containing the loader, debug monitor, and one OS image
Concat 'romldr.bin', 'eastaegg.bin','dbgmon.bin', "..\zsdos\zsys_${Bios}.bin" osimg_small.bin Concat 'romldr.bin', 'eastaegg.bin','dbgmon.bin', "..\zsdos\zsys_${Bios}.bin" osimg_small.bin
# Build second 32K chunk containing supplemental ROM apps (not for UNA)
# Build second and third 32K chunks containing supplemental ROM apps (not for UNA)
if ($Platform -ne "UNA") if ($Platform -ne "UNA")
{ {
Concat '..\Forth\camel80.bin', 'nascom.bin', 'tastybasic.bin', 'game.bin', 'imgpad0.bin', 'usrrom.bin' osimg1.bin
Concat '..\Forth\camel80.bin', 'nascom.bin', 'tastybasic.bin', 'game.bin', 'imgpad1.bin', 'usrrom.bin' osimg1.bin
Concat 'netboot.mod', 'imgpad2.bin' osimg2.bin
} }
# #
@ -253,8 +255,8 @@ if ($Platform -eq "UNA")
} }
else else
{ {
Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg.bin',$RomDiskFile $RomFile
Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg.bin' $UpdFile
Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg2.bin',$RomDiskFile $RomFile
Concat 'hbios_rom.bin','osimg.bin','osimg1.bin','osimg2.bin' $UpdFile
Concat 'hbios_app.bin','osimg_small.bin' $ComFile Concat 'hbios_app.bin','osimg_small.bin' $ComFile
# Concat 'hbios_img.bin','osimg_small.bin' $ImgFile # Concat 'hbios_img.bin','osimg_small.bin' $ImgFile
} }

11
Source/HBIOS/Build.sh

@ -99,10 +99,10 @@ done
cp ../Forth/camel80.bin . cp ../Forth/camel80.bin .
make dbgmon.bin romldr.bin eastaegg.bin imgpad.bin
make dbgmon.bin romldr.bin eastaegg.bin imgpad1.bin imgpad2.bin
if [ $platform != UNA ] ; then if [ $platform != UNA ] ; then
make nascom.bin tastybasic.bin game.bin usrrom.bin imgpad0.bin
make nascom.bin tastybasic.bin game.bin usrrom.bin imgpad1.bin imgpad2.bin
make hbios_rom.bin hbios_app.bin hbios_img.bin make hbios_rom.bin hbios_app.bin hbios_img.bin
fi fi
@ -112,7 +112,8 @@ cat romldr.bin eastaegg.bin dbgmon.bin ../CPM22/cpm_$BIOS.bin ../ZSDOS/zsys_$BIO
cat romldr.bin eastaegg.bin dbgmon.bin ../ZSDOS/zsys_$BIOS.bin >osimg_small.bin cat romldr.bin eastaegg.bin dbgmon.bin ../ZSDOS/zsys_$BIOS.bin >osimg_small.bin
if [ $platform != UNA ] ; then if [ $platform != UNA ] ; then
cat camel80.bin nascom.bin tastybasic.bin game.bin imgpad0.bin usrrom.bin >osimg1.bin
cat camel80.bin nascom.bin tastybasic.bin game.bin imgpad1.bin usrrom.bin >osimg1.bin
cat netboot.mod imgpad2.bin >osimg2.bin
fi fi
echo "Building ${romsize}KB $romname ROM disk data file..." echo "Building ${romsize}KB $romname ROM disk data file..."
@ -161,8 +162,8 @@ if [ $platform = UNA ] ; then
cp $romdiskfile $outdir/UNA_WBW_ROM$romsize.bin cp $romdiskfile $outdir/UNA_WBW_ROM$romsize.bin
cat ../UBIOS/UNA-BIOS.BIN osimg.bin ../UBIOS/FSFAT.BIN $romdiskfile >$romname.rom cat ../UBIOS/UNA-BIOS.BIN osimg.bin ../UBIOS/FSFAT.BIN $romdiskfile >$romname.rom
else else
cat hbios_rom.bin osimg.bin osimg1.bin osimg.bin $romdiskfile >$romname.rom
cat hbios_rom.bin osimg.bin osimg1.bin osimg.bin >$romname.upd
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin $romdiskfile >$romname.rom
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$romname.upd
cat hbios_app.bin osimg_small.bin > $romname.com cat hbios_app.bin osimg_small.bin > $romname.com
# cat hbios_img.bin osimg_small.bin > $romname.img # cat hbios_img.bin osimg_small.bin > $romname.img
fi fi

4
Source/HBIOS/Makefile

@ -34,8 +34,8 @@ else
endif endif
MOREDIFF = camel80.bin game.bin hbios_rom.bin nascom.bin prefix.bin usrrom.bin \ MOREDIFF = camel80.bin game.bin hbios_rom.bin nascom.bin prefix.bin usrrom.bin \
dbgmon.bin hbios_app.bin imgpad0.bin osimg1.bin romldr.bin \
eastaegg.bin hbios_img.bin imgpad.bin osimg.bin tastybasic.bin \
dbgmon.bin hbios_app.bin imgpad1.bin imgpad2.bin osimg1.bin osimg2.bin romldr.bin \
eastaegg.bin hbios_img.bin osimg.bin tastybasic.bin \
game.bin usrrom.bin game.bin usrrom.bin
SUBDIRS = SUBDIRS =

4
Source/HBIOS/asci.asm

@ -232,6 +232,10 @@ ASCI_INTRCV1:
ADD A,8 ; BUMP TO RDR PORT ADD A,8 ; BUMP TO RDR PORT
LD C,A ; PUT IN C, B IS STILL ZERO LD C,A ; PUT IN C, B IS STILL ZERO
IN A,(C) ; READ PORT IN A,(C) ; READ PORT
#IF (ASCIBOOT != 0)
CP ASCIBOOT ; REBOOT REQUEST?
JP Z,SYS_RESCOLD ; IF SO, DO IT, NO RETURN
#ENDIF
LD B,A ; SAVE BYTE READ LD B,A ; SAVE BYTE READ
LD L,(IY+6) ; SET HL TO LD L,(IY+6) ; SET HL TO
LD H,(IY+7) ; ... START OF BUFFER STRUCT LD H,(IY+7) ; ... START OF BUFFER STRUCT

1
Source/HBIOS/cfg_dyno.asm

@ -91,6 +91,7 @@ UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
; ;
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
; ;

1
Source/HBIOS/cfg_ezz80.asm

@ -112,6 +112,7 @@ ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
; ;
SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .EQU SIOMODE_STD ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP] SIO0MODE .EQU SIOMODE_STD ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR

2
Source/HBIOS/cfg_master.asm

@ -138,6 +138,7 @@ UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
; ;
ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
; ;
@ -162,6 +163,7 @@ ACIA1CFG .EQU DEFSERCFG ; ACIA 1: SERIAL LINE CONFIG (SEE STD.ASM)
; ;
SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP] SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR

1
Source/HBIOS/cfg_mk4.asm

@ -106,6 +106,7 @@ UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
; ;
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
; ;

1
Source/HBIOS/cfg_n8.asm

@ -109,6 +109,7 @@ UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
; ;
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
; ;

2
Source/HBIOS/cfg_rcz180.asm

@ -108,6 +108,7 @@ UARTRC .EQU TRUE ; UART: AUTO-DETECT RC UART
; ;
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
; ;
@ -117,6 +118,7 @@ ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
; ;
SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP] SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR

1
Source/HBIOS/cfg_rcz280.asm

@ -134,6 +134,7 @@ ACIA1CFG .EQU DEFSERCFG ; ACIA 1: SERIAL LINE CONFIG (SEE STD.ASM)
; ;
SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP] SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR

1
Source/HBIOS/cfg_rcz80.asm

@ -123,6 +123,7 @@ ACIA1CFG .EQU DEFSERCFG ; ACIA 1: SERIAL LINE CONFIG (SEE STD.ASM)
; ;
SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP] SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR

1
Source/HBIOS/cfg_sbc.asm

@ -107,6 +107,7 @@ ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
; ;
SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
SIOCNT .EQU 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP SIOCNT .EQU 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .EQU SIOMODE_ZP ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP] SIO0MODE .EQU SIOMODE_ZP ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
SIO0BASE .EQU $B0 ; SIO 0: REGISTERS BASE ADR SIO0BASE .EQU $B0 ; SIO 0: REGISTERS BASE ADR

2
Source/HBIOS/cfg_scz180.asm

@ -103,6 +103,7 @@ UARTRC .EQU TRUE ; UART: AUTO-DETECT RC UART
; ;
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
; ;
@ -112,6 +113,7 @@ ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
; ;
SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP] SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR

230
Source/HBIOS/diskdefs

@ -416,7 +416,6 @@ diskdef wbw_hd512_3
os 2.2 os 2.2
end end
# RomWBW 8MB Hard Disk (1024 directory entry format) # RomWBW 8MB Hard Disk (1024 directory entry format)
# New format, 1024 dir entries, 16,384 sectors / slice # New format, 1024 dir entries, 16,384 sectors / slice
# Pure filesystem image, no MBR prefix # Pure filesystem image, no MBR prefix
@ -432,7 +431,7 @@ diskdef wbw_hd1024
end end
# First 4 slices of wbw_hd1024 # First 4 slices of wbw_hd1024
# Assumes 128KB prefix (256 sectors)
# Assumes 1MB prefix (2048 sectors)
diskdef wbw_hd1024_0 diskdef wbw_hd1024_0
seclen 512 seclen 512
tracks 1040 tracks 1040
@ -440,7 +439,7 @@ diskdef wbw_hd1024_0
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 18
boottrk 130
os 2.2 os 2.2
end end
@ -451,7 +450,7 @@ diskdef wbw_hd1024_1
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 1042
boottrk 1154
os 2.2 os 2.2
end end
@ -462,7 +461,7 @@ diskdef wbw_hd1024_2
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 2066
boottrk 2178
os 2.2 os 2.2
end end
@ -473,6 +472,225 @@ diskdef wbw_hd1024_3
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 3114
boottrk 3202
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
os 2.2
end
# RC2014 standard hard disk image
# Slices A-P
diskdef rc2014a
seclen 512
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
os 2.2 os 2.2
end end

0
Source/HBIOS/imgpad0.asm → Source/HBIOS/imgpad1.asm

12
Source/HBIOS/imgpad2.asm

@ -0,0 +1,12 @@
#INCLUDE "std.asm"
;
SLACK .EQU ($8000-NET_SIZ)
.FILL SLACK,00H
;
MON_STACK .EQU $
;
.ECHO "Padspace space created: "
.ECHO SLACK
.ECHO " bytes.\n"
.END

BIN
Source/HBIOS/netboot.mod

Binary file not shown.

2
Source/HBIOS/romldr.asm

@ -2051,6 +2051,7 @@ ra_ent(str_bas, 'B', KY_DE, BID_IMG1, $1700, BAS_LOC, BAS_SIZ, BAS_LOC)
ra_ent(str_tbas, 'T', KY_EN, BID_IMG1, $3700, TBC_LOC, TBC_SIZ, TBC_LOC) ra_ent(str_tbas, 'T', KY_EN, BID_IMG1, $3700, TBC_LOC, TBC_SIZ, TBC_LOC)
ra_ent(str_play, 'P', $FF, BID_IMG1, $4000, GAM_LOC, GAM_SIZ, GAM_LOC) ra_ent(str_play, 'P', $FF, BID_IMG1, $4000, GAM_LOC, GAM_SIZ, GAM_LOC)
ra_ent(str_user, 'U', $FF, BID_IMG1, $7000, USR_LOC, USR_SIZ, USR_LOC) ra_ent(str_user, 'U', $FF, BID_IMG1, $7000, USR_LOC, USR_SIZ, USR_LOC)
ra_ent(str_net, 'N', $FF, BID_IMG2, $0000, NET_LOC, NET_SIZ, NET_LOC)
#endif #endif
#if (DSKYENABLE) #if (DSKYENABLE)
ra_ent(str_dsky, 'Y'+$80, KY_GO, bid_cur, $1000, MON_LOC, MON_SIZ, MON_DSKY) ra_ent(str_dsky, 'Y'+$80, KY_GO, bid_cur, $1000, MON_LOC, MON_SIZ, MON_DSKY)
@ -2080,6 +2081,7 @@ str_tbas .db "Tasty BASIC",0
str_play .db "Play a Game",0 str_play .db "Play a Game",0
str_user .db "User App",0 str_user .db "User App",0
str_egg .db "",0 str_egg .db "",0
str_net .db "Network Boot",0
newcon .db 0 newcon .db 0
newspeed .db 0 newspeed .db 0
; ;

9
Source/HBIOS/sd.asm

@ -1334,10 +1334,11 @@ SD_INITCMD1:
INC HL ; POINT TO NEXT BYTE INC HL ; POINT TO NEXT BYTE
LD (HL),A ; CLEAR IT LD (HL),A ; CLEAR IT
DJNZ SD_INITCMD1 ; LOOP TILL DONE DJNZ SD_INITCMD1 ; LOOP TILL DONE
; CRC POSITION SHOULD BE COMPLETELY IGNORED BECAUSE WE DON'T
; ENABLE IT AND WE ARE IN SPI MODE. HOWEVER, AT LEAST ONE SD
; CARD IS KNOWN TO FAIL ANY COMMAND WHERE THE CRC POSITION
; IS NOT $FF! SO, BELOW WE STUFF THE CRC POSITION WITH $FF.
; THE CRC POSITION IS ACTUALLY 7 BITS OF CRC (HIGH BITS) AND
; 1 BIT INDICATING END OF COMMAND. MOST CARDS DON'T REALLY
; CARE ABOUT THE END OF COMMAND BIT, BUT I HAVE WORKED WITH
; AT LEAST ONE PERSON THAT HAD A CARD THAT NEEDED THIS.
; SO, BELOW WE STUFF THE CRC POSITION WITH $FF.
DEC A ; $FF TO ACCUM DEC A ; $FF TO ACCUM
LD (SD_CMDCRC),A ; PUT $FF IN CRC POSITION LD (SD_CMDCRC),A ; PUT $FF IN CRC POSITION
RET RET

4
Source/HBIOS/sio.asm

@ -267,6 +267,10 @@ SIO_INTRCV1:
; RECEIVE CHARACTER INTO BUFFER ; RECEIVE CHARACTER INTO BUFFER
LD C,(IY+4) ; DATA PORT TO C LD C,(IY+4) ; DATA PORT TO C
IN A,(C) ; READ PORT IN A,(C) ; READ PORT
#IF (SIOBOOT != 0)
CP SIOBOOT ; REBOOT REQUEST?
JP Z,SYS_RESCOLD ; IF SO, DO IT, NO RETURN
#ENDIF
LD B,A ; SAVE BYTE READ LD B,A ; SAVE BYTE READ
LD L,(IY+7) ; SET HL TO LD L,(IY+7) ; SET HL TO
LD H,(IY+8) ; ... START OF BUFFER STRUCT LD H,(IY+8) ; ... START OF BUFFER STRUCT

7
Source/HBIOS/std.asm

@ -473,7 +473,8 @@ BID_RAMN .EQU (BID_RAM0 + ((RAMSIZE / 32) - 1))
BID_BOOT .EQU BID_ROM0 ; BOOT BANK BID_BOOT .EQU BID_ROM0 ; BOOT BANK
BID_IMG0 .EQU BID_ROM0 + 1 ; ROM LOADER AND FIRST IMAGES BANK BID_IMG0 .EQU BID_ROM0 + 1 ; ROM LOADER AND FIRST IMAGES BANK
BID_IMG1 .EQU BID_ROM0 + 2 ; SECOND IMAGES BANK BID_IMG1 .EQU BID_ROM0 + 2 ; SECOND IMAGES BANK
BID_FSFAT .EQU BID_ROM0 + 3 ; FAT FILESYSTEM DRIVER BANK
;BID_FSFAT .EQU BID_ROM0 + 3 ; FAT FILESYSTEM DRIVER BANK
BID_IMG2 .EQU BID_ROM0 + 3 ; NETWORK BOOT
BID_ROMD0 .EQU BID_ROM0 + 4 ; FIRST ROM DRIVE BANK BID_ROMD0 .EQU BID_ROM0 + 4 ; FIRST ROM DRIVE BANK
BID_ROMDN .EQU BID_ROMN ; LAST ROM DRIVE BANK BID_ROMDN .EQU BID_ROMN ; LAST ROM DRIVE BANK
@ -540,6 +541,10 @@ USR_LOC .EQU $0200 ; USER
USR_SIZ .EQU $1000 USR_SIZ .EQU $1000
USR_END .EQU USR_LOC + USR_SIZ USR_END .EQU USR_LOC + USR_SIZ
NET_LOC .EQU $0100 ; NETWORK BOOT
NET_SIZ .EQU $2000
NET_END .EQU NET_LOC + NET_SIZ
MON_DSKY .EQU MON_LOC + (0 * 3) ; MONITOR ENTRY (DSKY) MON_DSKY .EQU MON_LOC + (0 * 3) ; MONITOR ENTRY (DSKY)
MON_SERIAL .EQU MON_LOC + (1 * 3) ; MONITOR ENTRY (SERIAL PORT) MON_SERIAL .EQU MON_LOC + (1 * 3) ; MONITOR ENTRY (SERIAL PORT)
; ;

12
Source/HBIOS/usrrom.asm

@ -47,21 +47,12 @@ COUT: PUSH AF
LD C,0 LD C,0
LD E,A LD E,A
RST 08 RST 08
CALL $FFF0
POP HL POP HL
POP DE POP DE
POP BC POP BC
POP AF POP AF
RET RET
; ;
; OUTPUT CHARACTER IN A TO CONSOLE DEVICE
;
COUTE: PUSH AF
LD A,E
CALL COUT
POP AF
RET
;
; WAIT FOR A CHARACTER FROM THE CONSOLE DEVICE AND RETURN IT IN A ; WAIT FOR A CHARACTER FROM THE CONSOLE DEVICE AND RETURN IT IN A
; ;
CIN: PUSH BC CIN: PUSH BC
@ -80,6 +71,9 @@ BOOTMSG:.DB CR,LF,CR,LF
.DB "No User ROM Installed." .DB "No User ROM Installed."
.DB CR,LF,CR,LF .DB CR,LF,CR,LF
.DB "Press a key to return to Boot Loader.$" .DB "Press a key to return to Boot Loader.$"
;
; IT IS CRITICAL THAT THE FINAL BINARY BE EXACTLY USR_SIZ BYTES.
; THIS GENERATES FILLER AS NEEDED.
; ;
SLACK .EQU (USR_END - $) SLACK .EQU (USR_END - $)
.FILL SLACK,00 .FILL SLACK,00

BIN
Source/Images/d_bp/u0/UNZIP154.COM

Binary file not shown.

BIN
Source/Images/d_bp/u0/UNZIP186.COM

Binary file not shown.

BIN
Source/Images/d_cpm22/u0/UNZIP154.COM

Binary file not shown.

BIN
Source/Images/d_cpm22/u0/UNZIP186.COM

Binary file not shown.

BIN
Source/Images/d_zsdos/u0/UNZIP154.COM

Binary file not shown.

BIN
Source/Images/d_zsdos/u0/UNZIP186.COM

Binary file not shown.

230
Source/Images/diskdefs

@ -416,7 +416,6 @@ diskdef wbw_hd512_3
os 2.2 os 2.2
end end
# RomWBW 8MB Hard Disk (1024 directory entry format) # RomWBW 8MB Hard Disk (1024 directory entry format)
# New format, 1024 dir entries, 16,384 sectors / slice # New format, 1024 dir entries, 16,384 sectors / slice
# Pure filesystem image, no MBR prefix # Pure filesystem image, no MBR prefix
@ -432,7 +431,7 @@ diskdef wbw_hd1024
end end
# First 4 slices of wbw_hd1024 # First 4 slices of wbw_hd1024
# Assumes 128KB prefix (256 sectors)
# Assumes 1MB prefix (2048 sectors)
diskdef wbw_hd1024_0 diskdef wbw_hd1024_0
seclen 512 seclen 512
tracks 1040 tracks 1040
@ -440,7 +439,7 @@ diskdef wbw_hd1024_0
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 18
boottrk 130
os 2.2 os 2.2
end end
@ -451,7 +450,7 @@ diskdef wbw_hd1024_1
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 1042
boottrk 1154
os 2.2 os 2.2
end end
@ -462,7 +461,7 @@ diskdef wbw_hd1024_2
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 2066
boottrk 2178
os 2.2 os 2.2
end end
@ -473,6 +472,225 @@ diskdef wbw_hd1024_3
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 3114
boottrk 3202
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
os 2.2
end
# RC2014 standard hard disk image
# Slices A-P
diskdef rc2014a
seclen 512
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
os 2.2 os 2.2
end end

BIN
Source/RomDsk/ROM_1024KB/FAT.COM

Binary file not shown.

BIN
Source/RomDsk/ROM_1024KB/UNZIP154.COM

Binary file not shown.

BIN
Source/RomDsk/ROM_1024KB/UNZIP186.COM

Binary file not shown.

10
Source/ZZR/Build.cmd

@ -3,10 +3,14 @@ setlocal
if not exist ..\..\Binary\RCZ280_nat_zzr.rom goto :eof if not exist ..\..\Binary\RCZ280_nat_zzr.rom goto :eof
..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.rom -Binary -Exclude 0x5000 0x7000 zzr_romldr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr.hex -Intel
rem ..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.rom -Binary -Exclude 0x5000 0x7000 zzr_romldr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr.hex -Intel
..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr_ldr.rom -Binary
..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.rom -Binary -Output ..\..\Binary\RCZ280_nat_zzr.hex -Intel
copy /b zzr_cfldr.bin + zzr_ptbl.bin + zzr_fill_1.bin + zzr_mon.bin + zzr_fill_2.bin + ..\..\Binary\RCZ280_nat_zzr_ldr.rom + zzr_fill_3.bin ..\..\Binary\hd1024_zzr_prefix.dat
rem ..\..\Tools\srecord\srec_cat.exe ..\..\Binary\RCZ280_nat_zzr.hex -Intel -Output ..\..\Binary\RCZ280_nat_zzr_ldr.rom -Binary
rem copy /b zzr_cfldr.bin + zzr_ptbl.bin + zzr_fill_1.bin + zzr_mon.bin + zzr_fill_2.bin + ..\..\Binary\RCZ280_nat_zzr_ldr.rom + zzr_fill_3.bin ..\..\Binary\hd1024_zzr_prefix.dat
copy /b zzr_cfldr.bin + zzr_ptbl.bin + zzr_fill_1.bin + zzr_mon.bin + zzr_fill_2.bin + ..\..\Binary\RCZ280_nat_zzr.rom + zzr_fill_3.bin ..\..\Binary\hd1024_zzr_prefix.dat
copy /b ..\..\Binary\hd1024_zzr_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_zzr_combo.img copy /b ..\..\Binary\hd1024_zzr_prefix.dat + ..\..\Binary\hd1024_cpm22.img + ..\..\Binary\hd1024_zsdos.img + ..\..\Binary\hd1024_nzcom.img + ..\..\Binary\hd1024_cpm3.img + ..\..\Binary\hd1024_zpm3.img + ..\..\Binary\hd1024_ws4.img ..\..\Binary\hd1024_zzr_combo.img

10
Source/ZZR/Makefile

@ -9,9 +9,9 @@ HD1024IMGS = ../../Binary/hd1024_cpm22.img ../../Binary/hd1024_zsdos.img ../../B
OBJECTS := OBJECTS :=
ifneq ($(wildcard $(ZZRROM)),) ifneq ($(wildcard $(ZZRROM)),)
OBJECTS += $(ZZRROMHEX) $(ZZRLDRROM) $(HD1024ZZRPREFIX) $(HD1024ZZZROMBOIMG)
# OBJECTS += $(ZZRROMHEX) $(ZZRLDRROM) $(HD1024ZZRPREFIX) $(HD1024ZZZROMBOIMG)
OBJECTS += $(ZZRROMHEX) $(HD1024ZZRPREFIX) $(HD1024ZZZROMBOIMG)
endif endif
DEST=../../Binary DEST=../../Binary
@ -23,13 +23,15 @@ include $(TOOLS)/Makefile.inc
DIFFPATH = $(DIFFTO)/Binary DIFFPATH = $(DIFFTO)/Binary
$(HD1024ZZRPREFIX): $(HD1024ZZRPREFIX):
cat zzr_cfldr.bin zzr_ptbl.bin zzr_fill_1.bin zzr_mon.bin zzr_fill_2.bin $(ZZRLDRROM) zzr_fill_3.bin >$@
# cat zzr_cfldr.bin zzr_ptbl.bin zzr_fill_1.bin zzr_mon.bin zzr_fill_2.bin $(ZZRLDRROM) zzr_fill_3.bin >$@
cat zzr_cfldr.bin zzr_ptbl.bin zzr_fill_1.bin zzr_mon.bin zzr_fill_2.bin $(ZZRROM) zzr_fill_3.bin >$@
$(HD1024ZZZROMBOIMG): $(HD1024ZZRPREFIX) $(HD1024IMGS) $(HD1024ZZZROMBOIMG): $(HD1024ZZRPREFIX) $(HD1024IMGS)
cat $^ > $@ cat $^ > $@
$(ZZRROMHEX): $(ZZRROM) $(ZZRROMHEX): $(ZZRROM)
srec_cat $(ZZRROM) -Binary -Exclude 0x5000 0x7000 zzr_romldr.hex -Intel -Output $(ZZRROMHEX) -Intel
# srec_cat $(ZZRROM) -Binary -Exclude 0x5000 0x7000 zzr_romldr.hex -Intel -Output $(ZZRROMHEX) -Intel
srec_cat $(ZZRROM) -Binary -Output $(ZZRROMHEX) -Intel
$(ZZRLDRROM): $(ZZRROMHEX) $(ZZRLDRROM): $(ZZRROMHEX)
srec_cat $(ZZRROMHEX) -Intel -Output $(ZZRLDRROM) -Binary srec_cat $(ZZRROMHEX) -Intel -Output $(ZZRLDRROM) -Binary

14
Source/ZZR/ZZR Disk Layout.txt

@ -9,21 +9,15 @@ Start Length Sector Count Description
0x64000 0x9C000 0x320 0x4E0 Filler 0x64000 0x9C000 0x320 0x4E0 Filler
0x100000 0x800 Slices 0x100000 0x800 Slices
Must insert zzr_romldr.bin at 0x5000-x5FFF of ROM image. This is also 0x29000-0x29FFF of CF image.
Notes Notes
----- -----
- At startup CPLD ROM is mapped to Z80 CPU address space 0x0000-0x003F, CPU begins execution at 0x0000 - At startup CPLD ROM is mapped to Z80 CPU address space 0x0000-0x003F, CPU begins execution at 0x0000
- CPLD ROM (CF bootstrap mode) loads CF Boot Loader (256B) at 0xB000 and runs it
- CF Boot Loader loads ZZRCC Monitor at 0xB400 and runs it
- Monitor (Boot RomWBW) loads ZZRCC RomWBW Loader hex file at 0x5000, then runs it
- RomWBW Loader loads RomWBW ROM image to contents of RAM, then runs it
;;- ZZRCC Monitor reads 512KB (RomWBW) from sectors 0x120-0x51F of CF into first 512KB of RAM
- CPLD ROM (CF bootstrap mode) loads CF Boot Loader (256B) to 0xB000 and runs it
- CF Boot Loader loads ZZRCC Monitor to 0xB000 and runs it starting at address 0xB400
- Monitor (Boot RomWBW) loads RomWBW ROM image to first 8 banks of RAM, then runs it starting at address 0x000
Possible new layout:
Possible alternative layout:
Start Length Sector Count Description Start Length Sector Count Description
------- ------- ------- ------- ----------------------------------------- ------- ------- ------- ------- -----------------------------------------

BIN
Source/ZZR/zzr_mon.bin

Binary file not shown.

99
Source/ZZR/zzr_romldr.hex

@ -1,99 +0,0 @@
:06500000C31850C30C525E
:1050180031005FCD0F53218855CD0653CD3253FE55
:105028003ACA2E5018F6210000220850CDCD52570A
:105038004F47CDCD52678047CDCD526F8047CDCDFC
:1050480052FE00CA9050FE01CA7E50FE04C2F950BA
:1050580080477AFE02C2F950CDCD523209508047BE
:10506800CDCD523208508047CDCD52ED44B8C2F56F
:10507800503E45C3F050CDCD52212356CD0653CDD9
:105088000851CD1B53C300008047DD210060CDCD02
:1050980052DD77008047DD2315C29650CDCD52ED05
:1050A80044B8C2F550CD1553E50600C50E1F21E0E2
:1050B800F0EDBF0E1CE1EDBF0E1B216F00EDBF0E22
:1050C8001A2100F0EDBF0E193A085067D16A3E0F59
:1050D800B5EDBF0E18626B3EF0B4EDBF2180800EB7
:1050E8001DEDBFCD0F533E2ECD3C5318093E3F1842
:1050F800F73E55CD3C53CD3253FE3A20F9C33450D8
:10510800AF320C503E01320D50116855CD1B53AFD4
:10511800D3153EE0D3160E102147533A0D50D31441
:105128003A0C50D3133E01D3123E30D317DB17E6A7
:1051380008CA355106007EED79237ABC20057BBD6F
:1051480020012B0520F07EED79237ABC20057BBD5C
:1051580020012B0520F0DB17E680C25E513A0C5087
:105168003C320C50FE20C22351AF320E50210A00AF
:10517800CD15533E0AD3F10EF5EDBF3E1AD3F10E0D
:10518800F5EDBFCD1B53AFD3153EE0D3160E10215E
:1051980000A03A0D50D3143A0C50D3133E01D31249
:1051A8003E30D317DB17E608CAAC510600EDB3ED65
:1051B800B3DB17E680C2B9513A0C503C320C502090
:1051C800073A0D503C320D503EB0BC20C53A0E5047
:1051D8003C320E50FAF551260017CB1417CB141792
:1051E800CB1417CB14E6F0F60A6FC37851CD1553DC
:1051F80021AA003E0AD3F10EF5EDBF3E1AD3F10EF7
:10520800F5EDBFC931005FCD0F53210356CD0653CD
:105218003E20320A503E01320B50AF320E50210A66
:1052280000CD15533E06D3F10EF5EDBF3E16D3F172
:105238000EF5EDBFCD1B53AFD3153EE0D3160E10C0
:105248002100603A0B50D3143A0A50D3133E01D3CD
:10525800123E20D317DB17E608CA5D520600EDB2EE
:10526800EDB23A0A503C320A5020073A0B503C3211
:105278000B503E70BC20CC18083A0A50C608320AB7
:10528800503A0E503C320E50FAB152FE0528EAFE52
:105298000628E6260017CB1417CB1417CB1417CB08
:1052A80014E6F0F60A6FC32952CD1553216A003E61
:1052B80006D3F10EF5EDBF3E16D3F10EF5EDBFCDD9
:1052C8001B53C30000D5CD3253CDE2520707070761
:1052D80057CD3253CDE252B2D1C9D630FA0253FE7D
:1052E8000AF8D611FA0053C60AFE10F8D62AFAFEB2
:1052F80052C60AFE10F8C616C611C630BFC97EB718
:10530800C8CD3C532318F7E52EFEC31E53E52EFFE8
:10531800C31E53E52E00C50E08ED6EC1E1C9DB14AE
:10532800E610CA2653DB16D318C9DB14E610CA32B6
:1053380053DB16C9F5DB121FD23D53F1D318C90050
:10534800524F4D5742572020494D470100008004D5
:1053580000050006000700080009000A000B00000D
:10536800524F4D5742572020494D47030000800CAB
:10537800000D000E000F00100011001200130000B5
:10538800524F4D5742572020494D47050000801481
:1053980000150016001700180019001A001B00005D
:1053A800524F4D5742572020494D47070000801C57
:1053B800001D001E001F0020002100220023000005
:1053C800524F4D5742572020494D4709000080242D
:1053D80000250026002700280029002A002B0000AD
:1053E800524F4D5742572020494D470B0000802C03
:1053F800002D002E002F0030003100320033000055
:10540800524F4D5742572020494D470D00008034D8
:1054180000350036003700380039003A003B0000FC
:10542800524F4D5742572020494D470F0000803CAE
:10543800003D003E003F00400041004200430000A4
:10544800524F4D5742572020494D47110000804484
:1054580000450046004700480049004A004B00004C
:10546800524F4D5742572020494D47130000804C5A
:10547800004D004E004F00500051005200530000F4
:10548800524F4D5742572020494D47150000805430
:1054980000550056005700580059005A005B00009C
:1054A800524F4D5742572020494D47170000805C06
:1054B800005D005E005F0060006100620063000044
:1054C800524F4D5742572020494D471900008064DC
:1054D80000650066006700680069006A006B0000EC
:1054E800524F4D5742572020494D471B0000806CB2
:1054F800006D006E006F0070007100720073000094
:10550800524F4D5742572020494D471D0000807487
:1055180000750076007700780079007A007B00003B
:10552800524F4D5742572020494D471F0000807C5D
:10553800007D007E007F00800081008200830000E3
:10554800524F4D5742572020494D47000001000057
:10555800000000000000000000000000000000E55E
:105568000A001A002A003A004A005A006A007A0023
:105578008A009A00AA00BA00CA00DA00EA00FA0013
:105588000A0D20524F4D574257204C6F6164657287
:105598002076302E320D0A20526561647920746FAE
:1055A8002061636365707420524F4D5742572068DD
:1055B80065782066696C650D0A205768656E2066F7
:1055C800696C65206C6F616420636F6D706C6574C5
:1055D80065642C20636F70792066696C6520746F30
:1055E80020434620616E64207468656E206A756D7C
:1055F8007020746F203078300D0A000A0D426F6FEA
:1056080074696E6720524F4D5742572066726F6D0E
:0F561800204346206469736B0D0A00580D0A0089
:00000001FF

2
Source/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 1 #DEFINE RMN 1
#DEFINE RUP 1 #DEFINE RUP 1
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.1.1-pre.68"
#DEFINE BIOSVER "3.1.1-pre.72"

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 1
rup equ 1 rup equ 1
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.1.1-pre.68"
db "3.1.1-pre.72"
endm endm

230
Tools/cpmtools/diskdefs

@ -416,7 +416,6 @@ diskdef wbw_hd512_3
os 2.2 os 2.2
end end
# RomWBW 8MB Hard Disk (1024 directory entry format) # RomWBW 8MB Hard Disk (1024 directory entry format)
# New format, 1024 dir entries, 16,384 sectors / slice # New format, 1024 dir entries, 16,384 sectors / slice
# Pure filesystem image, no MBR prefix # Pure filesystem image, no MBR prefix
@ -432,7 +431,7 @@ diskdef wbw_hd1024
end end
# First 4 slices of wbw_hd1024 # First 4 slices of wbw_hd1024
# Assumes 128KB prefix (256 sectors)
# Assumes 1MB prefix (2048 sectors)
diskdef wbw_hd1024_0 diskdef wbw_hd1024_0
seclen 512 seclen 512
tracks 1040 tracks 1040
@ -440,7 +439,7 @@ diskdef wbw_hd1024_0
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 18
boottrk 130
os 2.2 os 2.2
end end
@ -451,7 +450,7 @@ diskdef wbw_hd1024_1
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 1042
boottrk 1154
os 2.2 os 2.2
end end
@ -462,7 +461,7 @@ diskdef wbw_hd1024_2
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 2066
boottrk 2178
os 2.2 os 2.2
end end
@ -473,6 +472,225 @@ diskdef wbw_hd1024_3
blocksize 4096 blocksize 4096
maxdir 1024 maxdir 1024
skew 0 skew 0
boottrk 3114
boottrk 3202
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
os 2.2
end
# RC2014 standard hard disk image
# Slices A-P
diskdef rc2014a
seclen 512
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
os 2.2 os 2.2
end end

Loading…
Cancel
Save