Browse Source

Add QP/M Disk Image & Miscellaneous

- Minimal support for QP/M by adding a disk image.
- Disk image is not included in combo image, it must be added separately.
- Disk image boots into CP/M 2.2.  You must run QINSTALL to configure it and make the disk boot into QP/M.
- It is critical to review the ReadMe.txt file -- default QP/M configuration conflicts with RomWBW use of Page Zero.
- Added some stack space to SYSGEN.  It was failing when run with extra CBIOS debugging enabled.
- Cleanup of diskdefs file.
- Updated SIMH executable.
pull/331/head
Wayne Warthen 4 years ago
parent
commit
3f3a13bff6
  1. 2
      Source/Apps/sysgen.z80
  2. 159
      Source/BPBIOS/diskdefs
  3. 25
      Source/Fonts/fonts.txt
  4. 3
      Source/Images/Build.cmd
  5. 0
      Source/Images/Common/SIMH/HDIR.COM
  6. 0
      Source/Images/Common/SIMH/R.COM
  7. 0
      Source/Images/Common/SIMH/RSETSIMH.COM
  8. 0
      Source/Images/Common/SIMH/TIMER.COM
  9. 0
      Source/Images/Common/SIMH/URL.COM
  10. 0
      Source/Images/Common/SIMH/W.COM
  11. 8
      Source/Images/Makefile
  12. 20
      Source/Images/d_qpm/ReadMe.txt
  13. BIN
      Source/Images/d_qpm/u0/d.com
  14. BIN
      Source/Images/d_qpm/u0/dbginst.com
  15. BIN
      Source/Images/d_qpm/u0/debugz.com
  16. 1
      Source/Images/d_qpm/u0/debugz.hlp
  17. BIN
      Source/Images/d_qpm/u0/dhoriz.com
  18. 3
      Source/Images/d_qpm/u0/hello.qpm
  19. BIN
      Source/Images/d_qpm/u0/lz.com
  20. BIN
      Source/Images/d_qpm/u0/qbackup.com
  21. BIN
      Source/Images/d_qpm/u0/qinstall.com
  22. BIN
      Source/Images/d_qpm/u0/qpatch.com
  23. BIN
      Source/Images/d_qpm/u0/qpip.com
  24. 107
      Source/Images/d_qpm/u0/qpmclk.mac
  25. 22
      Source/Images/d_qpm/u0/qpmcmds.txt
  26. 19
      Source/Images/d_qpm/u0/qpmutils.txt
  27. BIN
      Source/Images/d_qpm/u0/qstamp.com
  28. BIN
      Source/Images/d_qpm/u0/qstampv.com
  29. BIN
      Source/Images/d_qpm/u0/qstampx.com
  30. BIN
      Source/Images/d_qpm/u0/qstat.com
  31. BIN
      Source/Images/d_qpm/u0/qsub.com
  32. BIN
      Source/Images/d_qpm/u0/qsweep.com
  33. BIN
      Source/Images/d_qpm/u0/qterm.dat
  34. BIN
      Source/Images/d_qpm/u0/qterms.lib
  35. BIN
      Source/Images/d_qpm/u0/setqterm.com
  36. BIN
      Source/Images/d_qpm/u0/tdcnfg.com
  37. 159
      Source/Images/diskdefs
  38. 52
      Source/Images/fd_qpm.txt
  39. 1
      Source/Images/hd_bp.txt
  40. 1
      Source/Images/hd_cpm22.txt
  41. 1
      Source/Images/hd_cpm3.txt
  42. 5
      Source/Images/hd_nzcom.txt
  43. 60
      Source/Images/hd_qpm.txt
  44. 1
      Source/Images/hd_zpm3.txt
  45. 1
      Source/Images/hd_zsdos.txt
  46. 159
      Source/RomDsk/diskdefs
  47. 159
      Tools/cpmtools/diskdefs
  48. BIN
      Tools/simh/altairz80.exe

2
Source/Apps/sysgen.z80

@ -22,7 +22,7 @@ DREADF EQU 20 ; DISK READ FUNCTION
;
CR EQU 0DH ; CARRIAGE RETURN
LF EQU 0AH ; LINE FEED
STKSIZE EQU 16 ; SIZE OF LOCAL STACK
STKSIZE EQU 32 ; SIZE OF LOCAL STACK
;
WBOOT EQU 1 ; ADDRESS OF WARM BOOT (OTHER PATCH ENTRY
;

159
Source/BPBIOS/diskdefs

@ -311,6 +311,7 @@ diskdef wbw_rom1024
end
# RomWBW 720K floppy media
diskdef wbw_fd720
seclen 512
tracks 160
@ -323,6 +324,7 @@ diskdef wbw_fd720
end
# RomWBW 1.44M floppy media
diskdef wbw_fd144
seclen 512
tracks 160
@ -335,6 +337,7 @@ diskdef wbw_fd144
end
# RomWBW 360K floppy media
diskdef wbw_fd360
seclen 512
tracks 80
@ -347,6 +350,7 @@ diskdef wbw_fd360
end
# RomWBW 1.20M floppy media
diskdef wbw_fd120
seclen 512
tracks 160
@ -359,7 +363,8 @@ diskdef wbw_fd120
end
# RomWBW 8320KB Hard Disk Slice (512 directory entry format)
# Legacy format, 512 dir entries, 16,630 sectors / slice
# Legacy format: 512 dir entries, 16,630 sectors / slice
diskdef wbw_hd512
seclen 512
tracks 1040
@ -372,6 +377,9 @@ diskdef wbw_hd512
end
# First 4 slices of wbw_hd512
# Assumes first slice (slice 0) starts at sector 0
# Offset of any slice (in tracks) = (1040 * <slice_num>)
diskdef wbw_hd512_0
seclen 512
tracks 1040
@ -380,45 +388,50 @@ diskdef wbw_hd512_0
maxdir 512
skew 0
boottrk 16
offset 0T
os 2.2
end
diskdef wbw_hd512_1
seclen 512
tracks 2080
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 1056
boottrk 16
offset 1040T
os 2.2
end
diskdef wbw_hd512_2
seclen 512
tracks 3120
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 2096
boottrk 16
offset 2080T
os 2.2
end
diskdef wbw_hd512_3
seclen 512
tracks 4160
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 3136
boottrk 16
offset 3120T
os 2.2
end
# 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
diskdef wbw_hd1024
seclen 512
tracks 1024
@ -431,110 +444,124 @@ diskdef wbw_hd1024
end
# First 4 slices of wbw_hd1024
# Assumes 1MB prefix (2048 sectors)
# Assumes standard 1MB prefix
# Offset of any slice (in tracks) = 128 + (1024 * <slice_num)
diskdef wbw_hd1024_0
seclen 512
tracks 1040
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 130
boottrk 2
offset 128T
os 2.2
end
diskdef wbw_hd1024_1
seclen 512
tracks 2064
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1154
boottrk 2
offset 1152T
os 2.2
end
diskdef wbw_hd1024_2
seclen 512
tracks 3112
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2178
boottrk 2
offset 2176T
os 2.2
end
diskdef wbw_hd1024_3
seclen 512
tracks 4136
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3202
boottrk 2
offset 3200T
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
boottrk 0
offset 10T
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
boottrk 0
offset 1034T
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
boottrk 0
offset 2058T
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
boottrk 0
offset 3082T
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
boottrk 0
offset 4106T
os 2.2
end
# RC2014 standard hard disk image
# RC2014 standard (Grant Searle) hard disk image
# Slices A-P
# Offset of slice (in tracks) = (512 * <slice_num>)
diskdef rc2014a
seclen 512
tracks 512
@ -542,155 +569,171 @@ diskdef rc2014a
blocksize 4096
maxdir 512
boottrk 1
offset 0T
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
boottrk 0
offset 512T
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
boottrk 0
offset 1024T
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
boottrk 0
offset 1536T
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
boottrk 0
offset 2048T
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
boottrk 0
offset 2560T
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
boottrk 0
offset 3072T
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
boottrk 0
offset 3584T
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
boottrk 0
offset 4096T
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
boottrk 0
offset 4608T
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
boottrk 0
offset 5120T
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
boottrk 0
offset 5632T
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
boottrk 0
offset 6144T
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
boottrk 0
offset 6656T
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
boottrk 0
offset 7168T
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
tracks 128
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
boottrk 0
offset 7680T
os 2.2
end

25
Source/Fonts/fonts.txt

@ -5,14 +5,23 @@ Font files for ROMWBW.
8x16: 8x16 cell, IBM MDA
CGA: 8x16 cell, IBM CGA, normal (thick) CGA font, rows 8-15 are unused padding
There are three fonts associated with ROMWBW supported hardware - ECB-SCG, ECB-CVDU and the ECB-VGA3.
Name Format Size Board & Display Mode
------------------------------------------------------------------------------------
font8x8u.bin 8x8 2048 ECB-SCG, ECB-VGA3 (80x60), MBC-VDP
font8x11u.bin 8x11 2816 ECB-VGA3 (80x43)
font8x16u.bin 8x16 4096 ECB-CVDU (80x25), ECB-VGA3 (80x24, 80x25, 80x30), MBC-VDC
fontcgau.bin 8x16 4096 ECB-CVDU (80x25), MBC-VDC
There are multiple fonts associated with ROMWBW supported hardware:
Board Driver Chip
-------- -------- --------
ECB-SCG tms.asm 9918
ECB-VDU vdu.asm 6545
ECB-CVDU cvdu.asm 8563
ECB-VGA3 vga.asm 6445
MBC-VDC cvdu.asm 8568
MBC-VDP tms.asm 9938/9958
Name Font Storage Size Board & Display Mode
--------------------------------------------------------------------------------------------
font8x8u.bin 6x8 8x8 2048 ECB-SCG, ECB-VGA3 (80x60), MBC-VDP
font8x11u.bin 8x11 8x11 2816 ECB-VGA3 (80x43)
font8x16u.bin 8x14 8x16 4096 ECB-CVDU (80x25), ECB-VGA3 (80x24, 80x25, 80x30), MBC-VDC
fontcgau.bin 8x8 8x16 4096 ECB-CVDU (80x25), MBC-VDC
Notes:

3
Source/Images/Build.cmd

@ -13,6 +13,7 @@ call BuildDisk.cmd nzcom fd wbw_fd144 ..\zsdos\zsys_wbw.sys || exit /b
call BuildDisk.cmd cpm3 fd wbw_fd144 ..\cpm3\cpmldr.sys || exit /b
call BuildDisk.cmd zpm3 fd wbw_fd144 ..\zpm3\zpmldr.sys || exit /b
call BuildDisk.cmd ws4 fd wbw_fd144 || exit /b
call BuildDisk.cmd qpm fd wbw_fd144 ..\cpm22\cpm_wbw.sys || exit /b
echo.
echo Building Hard Disk Images (512 directory entry format)...
@ -24,6 +25,7 @@ call BuildDisk.cmd cpm3 hd wbw_hd512 ..\cpm3\cpmldr.sys || exit /b
call BuildDisk.cmd zpm3 hd wbw_hd512 ..\zpm3\zpmldr.sys || exit /b
call BuildDisk.cmd ws4 hd wbw_hd512 || exit /b
call BuildDisk.cmd dos65 hd wbw_hd512 ..\zsdos\zsys_wbw.sys || exit /b
call BuildDisk.cmd qpm hd wbw_hd512 ..\cpm22\cpm_wbw.sys || exit /b
if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp hd wbw_hd512 || exit /b
@ -40,6 +42,7 @@ call BuildDisk.cmd nzcom hd wbw_hd1024 ..\zsdos\zsys_wbw.sys || exit /b
call BuildDisk.cmd cpm3 hd wbw_hd1024 ..\cpm3\cpmldr.sys || exit /b
call BuildDisk.cmd zpm3 hd wbw_hd1024 ..\zpm3\zpmldr.sys || exit /b
call BuildDisk.cmd ws4 hd wbw_hd1024 || exit /b
call BuildDisk.cmd qpm hd wbw_hd1024 ..\cpm22\cpm_wbw.sys || exit /b
if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp hd wbw_hd1024 || exit /b

0
Source/Images/SIMH/HDIR.COM → Source/Images/Common/SIMH/HDIR.COM

0
Source/Images/SIMH/R.COM → Source/Images/Common/SIMH/R.COM

0
Source/Images/SIMH/RSETSIMH.COM → Source/Images/Common/SIMH/RSETSIMH.COM

0
Source/Images/SIMH/TIMER.COM → Source/Images/Common/SIMH/TIMER.COM

0
Source/Images/SIMH/URL.COM → Source/Images/Common/SIMH/URL.COM

0
Source/Images/SIMH/W.COM → Source/Images/Common/SIMH/W.COM

8
Source/Images/Makefile

@ -4,7 +4,7 @@
SYSTEMS = ../CPM22/cpm_wbw.sys ../ZSDOS/zsys_wbw.sys ../CPM3/cpmldr.sys ../ZPM3/zpmldr.sys
FDIMGS = fd144_cpm22.img fd144_zsdos.img fd144_nzcom.img \
fd144_cpm3.img fd144_zpm3.img fd144_ws4.img
fd144_cpm3.img fd144_zpm3.img fd144_ws4.img fd144_qpm.img
HD512IMGS = hd512_cpm22.img hd512_zsdos.img hd512_nzcom.img \
hd512_cpm3.img hd512_zpm3.img hd512_ws4.img
# HDIMGS += hd512_bp.img
@ -16,8 +16,8 @@ HD512PREFIX =
HD1024PREFIX = hd1024_prefix.dat
OBJECTS = $(FDIMGS)
OBJECTS += $(HD512IMGS) hd512_dos65.img hd512_combo.img $(HD512PREFIX)
OBJECTS += $(HD1024IMGS) hd1024_combo.img $(HD1024PREFIX)
OBJECTS += $(HD512IMGS) hd512_combo.img hd512_dos65.img hd512_qpm.img$(HD512PREFIX)
OBJECTS += $(HD1024IMGS) hd1024_combo.img hd1024_qpm.img $(HD1024PREFIX)
OTHERS = blank144 blankhd512 blankhd1024
@ -70,7 +70,7 @@ blankhd1024:
%.img: $(SYSTEMS) blank144 blankhd512 blankhd1024 Makefile
@sys= ; \
case $@ in \
(*cpm22*) sys=../CPM22/cpm_wbw.sys;; \
(*cpm22* | *qpm*) sys=../CPM22/cpm_wbw.sys;; \
(*zsdos* | *nzcom* | *dos65*) sys=../ZSDOS/zsys_wbw.sys;; \
(*cpm3*) sys=../CPM3/cpmldr.sys;; \
(*zpm3*) sys=../ZPM3/zpmldr.sys;; \

20
Source/Images/d_qpm/ReadMe.txt

@ -0,0 +1,20 @@
===== QP/M Disk for RomWBW =====
This disk contains the distribution files for the QP/M Operating
System. The disk is initially set up to boot CP/M 2.2. You
must use the QINSTALL program to install QP/M on the boot
tracks and subsequently boot QP/M.
== Notes ==
By default, QP/M saves the current drive/user (2 byte value) at address 0x0008.
This is also the address of the Z80 RST 08 restart vector and conflicts with
RomWBW. When running QINSTALL, you must change the QP/M address for this value
to something else. I have been using 0x000E without issue.
RomWBW CBIOS has been modified to put the QP/M TIMDAT vector at 0x0010. The
vector points into CBIOS where the actual TIMDAT routine is located. The
TIMDAT routine reads the current date/time from HBIOS, changes the values from
BCD to binary, and rearranges some bytes for QP/M compatibilty.
--WBW 5:29 PM 6/4/2022

BIN
Source/Images/d_qpm/u0/d.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/dbginst.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/debugz.com

Binary file not shown.

1
Source/Images/d_qpm/u0/debugz.hlp

File diff suppressed because one or more lines are too long

BIN
Source/Images/d_qpm/u0/dhoriz.com

Binary file not shown.

3
Source/Images/d_qpm/u0/hello.qpm

@ -0,0 +1,3 @@
G2Welcome to QP/M 2.71G0


BIN
Source/Images/d_qpm/u0/lz.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qbackup.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qinstall.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qpatch.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qpip.com

Binary file not shown.

107
Source/Images/d_qpm/u0/qpmclk.mac

@ -0,0 +1,107 @@
.z80
;
; Clock for supplementing normal MYZ80 bios
;
;
;==========================================================================
;
;
false equ 0
true equ not false
size equ 6275 ;size in 0.01 k (e.g. 60k = 6000,
; 59.5k = 5950, 48.25k = 4825)
ioval equ 80H ;IOBYTE value on cold boot (see documentation)
;
; Lower memory stuff
;
IOBYTE EQU 3 ;IOBYTE location
DSKUSR EQU 4 ;Disk/user location
ENTRY EQU 5
WARMB EQU 0
;
; QP/M locations
;
QPMBIOS EQU size/25*256
QDOS EQU QPMBIOS-(0EA00H-0DC06H)
QCP EQU QDOS-806H
;
; MYZ80 API locations used
;
CONST EQU 0FFE1H ;Console status
CONIN EQU 0FFE2H ;Console input
CRTOUT EQU 0FFE3H ;Send char to console
LIST EQU 0FFE4H ;List character
PUNCH EQU 0FFE5H ;Punch character (auxout)
READER EQU 0FFE6H ;Reader character (auxin)
HOME EQU 0FFE7H ;Home disk
SELDSK EQU 0FFE8H ;Select disk in C-reg.
SETTRK EQU 0FFE9H ;Seek track in C-reg.
SETSEC EQU 0FFEAH ;Seek sector
SETDMA EQU 0FFEBH ;Set disk i/o address
READ EQU 0FFECH ;Read sector
WRITE EQU 0FFEDH ;Write sector
PRSTAT EQU 0FFEEH ;List status
SECTRAN EQU 0FFEFH ;Sector xlation
CONOUTS EQU 0FFF0H ;Console output status
XBIOS EQU 0FFFDH ;Extended MYZ80 functions
;
; High (MONITOR) area data locations
;
; Printer locations in high memory
;
HISTACK EQU 0FF14H ;temp
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
ASEG
ORG 100H
.phase 0fec0h
;
qpmclk::
LD A,42
LD HL,CLKBUF
PUSH HL
CALL XBIOS ; BCD hr/min/sec/century/yr/mon/day
; convert from BCD to normal -- and fix things up
POP HL
LD B,7
DEC HL
Q0: INC HL
XOR A
RRD ; rotate low nibble of A through nibbles of (HL)
LD D,A ; save low nibble
LD A,(HL) ; get high nibble
ADD A,A ; * 2
LD C,A ; save
ADD A,A ; * 4
ADD A,A ; * 8
ADD A,C ; * 10
ADD A,D ; + low digit
LD (HL),A ; set non-BCD version
DJNZ Q0
; now realign values from system call
LD C,A ; day
DEC HL
LD B,(HL) ; mon
DEC HL
LD E,(HL) ; yr
DEC HL
DEC HL ; skip century
PUSH BC
LD B,(HL) ; sec
DEC HL
LD C,(HL) ; min
DEC HL
LD D,(HL) ; hr
LD (CLKBUF+2),DE ; yrE/hrD
LD (CLKBUF+4),BC ; minC/secB
POP BC
LD (CLKBUF),BC ; dayC/monB
; did the adjustments -- return ptr to day/mon/yr/hr/min/sec
ret
CLKBUF: DB 0,0,0,0,0,0,0
.dephase
end


22
Source/Images/d_qpm/u0/qpmcmds.txt

@ -0,0 +1,22 @@
G2QPM CommandsG0
G2============G0
The QCP command processor has the following built-in commands;
afn=wildcard filename(s); ufn=filename; []=optional
G2DFD [drive[:]]G0 - Sets the default drive (A: at startup)
G2DFLTG0 - Shows the default drive and user (@=disabled)
G2DFUG0 - Sets the default user (0 at startup)
G2DIR [afn]G0 - Simple directory listing (D.COM is recommended)
G2ERA afnG0 - Erase specified file(s)
G2GET addr ufnG0 - Load file at address
G2GO [params]G0 - Reruns the program in TPA (with params)
G2JUMP addr [params]G0 - Run the program at address (with params)
G2LIST ufnG0 - Print the specified file on the LST: device
G2REN ufnnew=ufnoldG0 - Rename ufnold to ufnnew
G2SAVE n ufnG0 - Save n pages from the TPA into file
G2TIMEG0 - Display the current date and time
G2TOFG0 - Sends top-of-form character to LST: device
G2TYPE ufn [option]G0 - Display file on console, with page pauses
G2USER [n]G0 - Set user # to n (0 if no value given)


19
Source/Images/d_qpm/u0/qpmutils.txt

@ -0,0 +1,19 @@
G2QPM Utility ProgramsG0
G2====================G0
QP/M comes loaded with all utility programs for emulator use:
afn=wildcard filename(s); ufn=filename; []=optional
G2D [afn] [options]G0 - Directory listing with numerous options
G2DHORIZ [afn] [...]G0 - Same with horizontal directory listing
G2QBACKUPG0 - Backup entire disk or selected files
G2QPATCHG0 - Modify settings of D.COM
G2QPIPG0 - Copy files, peripheral interchange, etc.
G2QSTAMP(V|X)G0 - Time/date stamp disk (QSTAMPV recommended)
G2QSTATG0 - Display/change file status
G2QSUBG0 - Powerful batch processing, nesting supported
G2QSWEEPG0 - Powerful interactive file manipulation
G2TDCNFGG0 - Configure real-time clock (NOT NEEDED)
We recommend G2LinkZG0 and G2DebugZG0; get from G2http://www.microcodeconsulting.comG0.


BIN
Source/Images/d_qpm/u0/qstamp.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qstampv.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qstampx.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qstat.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qsub.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qsweep.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qterm.dat

Binary file not shown.

BIN
Source/Images/d_qpm/u0/qterms.lib

Binary file not shown.

BIN
Source/Images/d_qpm/u0/setqterm.com

Binary file not shown.

BIN
Source/Images/d_qpm/u0/tdcnfg.com

Binary file not shown.

159
Source/Images/diskdefs

@ -311,6 +311,7 @@ diskdef wbw_rom1024
end
# RomWBW 720K floppy media
diskdef wbw_fd720
seclen 512
tracks 160
@ -323,6 +324,7 @@ diskdef wbw_fd720
end
# RomWBW 1.44M floppy media
diskdef wbw_fd144
seclen 512
tracks 160
@ -335,6 +337,7 @@ diskdef wbw_fd144
end
# RomWBW 360K floppy media
diskdef wbw_fd360
seclen 512
tracks 80
@ -347,6 +350,7 @@ diskdef wbw_fd360
end
# RomWBW 1.20M floppy media
diskdef wbw_fd120
seclen 512
tracks 160
@ -359,7 +363,8 @@ diskdef wbw_fd120
end
# RomWBW 8320KB Hard Disk Slice (512 directory entry format)
# Legacy format, 512 dir entries, 16,630 sectors / slice
# Legacy format: 512 dir entries, 16,630 sectors / slice
diskdef wbw_hd512
seclen 512
tracks 1040
@ -372,6 +377,9 @@ diskdef wbw_hd512
end
# First 4 slices of wbw_hd512
# Assumes first slice (slice 0) starts at sector 0
# Offset of any slice (in tracks) = (1040 * <slice_num>)
diskdef wbw_hd512_0
seclen 512
tracks 1040
@ -380,45 +388,50 @@ diskdef wbw_hd512_0
maxdir 512
skew 0
boottrk 16
offset 0T
os 2.2
end
diskdef wbw_hd512_1
seclen 512
tracks 2080
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 1056
boottrk 16
offset 1040T
os 2.2
end
diskdef wbw_hd512_2
seclen 512
tracks 3120
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 2096
boottrk 16
offset 2080T
os 2.2
end
diskdef wbw_hd512_3
seclen 512
tracks 4160
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 3136
boottrk 16
offset 3120T
os 2.2
end
# 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
diskdef wbw_hd1024
seclen 512
tracks 1024
@ -431,110 +444,124 @@ diskdef wbw_hd1024
end
# First 4 slices of wbw_hd1024
# Assumes 1MB prefix (2048 sectors)
# Assumes standard 1MB prefix
# Offset of any slice (in tracks) = 128 + (1024 * <slice_num)
diskdef wbw_hd1024_0
seclen 512
tracks 1040
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 130
boottrk 2
offset 128T
os 2.2
end
diskdef wbw_hd1024_1
seclen 512
tracks 2064
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1154
boottrk 2
offset 1152T
os 2.2
end
diskdef wbw_hd1024_2
seclen 512
tracks 3112
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2178
boottrk 2
offset 2176T
os 2.2
end
diskdef wbw_hd1024_3
seclen 512
tracks 4136
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3202
boottrk 2
offset 3200T
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
boottrk 0
offset 10T
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
boottrk 0
offset 1034T
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
boottrk 0
offset 2058T
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
boottrk 0
offset 3082T
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
boottrk 0
offset 4106T
os 2.2
end
# RC2014 standard hard disk image
# RC2014 standard (Grant Searle) hard disk image
# Slices A-P
# Offset of slice (in tracks) = (512 * <slice_num>)
diskdef rc2014a
seclen 512
tracks 512
@ -542,155 +569,171 @@ diskdef rc2014a
blocksize 4096
maxdir 512
boottrk 1
offset 0T
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
boottrk 0
offset 512T
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
boottrk 0
offset 1024T
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
boottrk 0
offset 1536T
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
boottrk 0
offset 2048T
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
boottrk 0
offset 2560T
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
boottrk 0
offset 3072T
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
boottrk 0
offset 3584T
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
boottrk 0
offset 4096T
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
boottrk 0
offset 4608T
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
boottrk 0
offset 5120T
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
boottrk 0
offset 5632T
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
boottrk 0
offset 6144T
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
boottrk 0
offset 6656T
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
boottrk 0
offset 7168T
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
tracks 128
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
boottrk 0
offset 7680T
os 2.2
end

52
Source/Images/fd_qpm.txt

@ -0,0 +1,52 @@
#
# Add the ReadMe document
#
d_qpm/ReadMe.txt 0:
#
# Include CP/M 2.2 files
#
d_cpm22/u0/*.* 0:
#
# Add RomWBW utilities
#
#../../Binary/Apps/*.com 0:
../../Binary/Apps/assign.com 0:
../../Binary/Apps/cpuspd.com 0:
../../Binary/Apps/fat.com 0:
../../Binary/Apps/fdu.com 0:
../../Binary/Apps/fdu.doc 0:
../../Binary/Apps/format.com 0:
../../Binary/Apps/mode.com 0:
../../Binary/Apps/rtc.com 0:
../../Binary/Apps/survey.com 0:
../../Binary/Apps/syscopy.com 0:
../../Binary/Apps/sysgen.com 0:
../../Binary/Apps/talk.com 0:
../../Binary/Apps/tbasic.com 0:
../../Binary/Apps/timer.com 0:
../../Binary/Apps/tune.com 0:
../../Binary/Apps/xm.com 0:
../../Binary/Apps/zmp.com 0:
../../Binary/Apps/zmp.hlp 0:
../../Binary/Apps/zmp.doc 0:
../../Binary/Apps/zmxfer.ovr 0:
../../Binary/Apps/zmterm.ovr 0:
../../Binary/Apps/zminit.ovr 0:
../../Binary/Apps/zmconfig.ovr 0:
../../Binary/Apps/zmd.com 0:
../../Binary/Apps/vgmplay.com 0:
#
# Add Tune sample files
#
../../Binary/Apps/Tunes/*.pt? 3:
../../Binary/Apps/Tunes/*.mym 3:
../../Binary/Apps/Tunes/*.vgm 3:
#
# Add OS image
#
../CPM22/cpm_wbw.sys 0:cpm.sys
#
# Add Common Applications
#
Common/All/*.* 0:
Common/CPM22/*.* 0:

1
Source/Images/hd_bp.txt

@ -59,3 +59,4 @@ Common/Z/u15/*.* 15:
Common/Z3/u10/*.* 10:
Common/Z3/u14/*.* 14:
Common/Z3/u15/*.* 15:
Common/SIMH/*.* 13:

1
Source/Images/hd_cpm22.txt

@ -53,3 +53,4 @@ cpnet12/*.* 4:
#
Common/All/*.* 0:
Common/CPM22/*.* 0:
Common/SIMH/*.* 13:

1
Source/Images/hd_cpm3.txt

@ -65,3 +65,4 @@ cpnet3/*.* 4:
#
Common/All/*.* 0:
Common/CPM3/*.* 0:
Common/SIMH/*.* 13:

5
Source/Images/hd_nzcom.txt

@ -76,7 +76,4 @@ Common/Z/u15/*.* 0:
Common/Z3/u10/*.* 0:
Common/Z3/u14/*.* 0:
Common/Z3/u15/*.* 0:
#
# Temporary!!!
#
SIMH/*.* 15:
Common/SIMH/*.* 13:

60
Source/Images/hd_qpm.txt

@ -0,0 +1,60 @@
#
# Add the ReadMe document
#
d_qpm/ReadMe.txt 0:
#
# Include CP/M 2.2 files
#
d_cpm22/u0/*.* 0:
#
# Add RomWBW utilities
#
#../../Binary/Apps/*.com 0:
../../Binary/Apps/assign.com 0:
../../Binary/Apps/cpuspd.com 0:
../../Binary/Apps/fat.com 0:
../../Binary/Apps/fdu.com 0:
../../Binary/Apps/fdu.doc 0:
../../Binary/Apps/format.com 0:
../../Binary/Apps/mode.com 0:
../../Binary/Apps/rtc.com 0:
../../Binary/Apps/survey.com 0:
../../Binary/Apps/syscopy.com 0:
../../Binary/Apps/sysgen.com 0:
../../Binary/Apps/talk.com 0:
../../Binary/Apps/tbasic.com 0:
../../Binary/Apps/timer.com 0:
../../Binary/Apps/tune.com 0:
../../Binary/Apps/xm.com 0:
../../Binary/Apps/zmp.com 0:
../../Binary/Apps/zmp.hlp 0:
../../Binary/Apps/zmp.doc 0:
../../Binary/Apps/zmxfer.ovr 0:
../../Binary/Apps/zmterm.ovr 0:
../../Binary/Apps/zminit.ovr 0:
../../Binary/Apps/zmconfig.ovr 0:
../../Binary/Apps/zmd.com 0:
../../Binary/Apps/vgmplay.com 0:
#
../../Binary/Apps/Test/*.com 2:
Test/*.* 2:
#
# Add Tune sample files
#
../../Binary/Apps/Tunes/*.pt? 3:
../../Binary/Apps/Tunes/*.mym 3:
../../Binary/Apps/Tunes/*.vgm 3:
#
# Add CPNET client files
#
cpnet12/*.* 4:
#
# Add OS image
#
../CPM22/cpm_wbw.sys 0:cpm.sys
#
# Add Common Applications
#
Common/All/*.* 0:
Common/CPM22/*.* 0:
Common/SIMH/*.* 13:

1
Source/Images/hd_zpm3.txt

@ -70,3 +70,4 @@ Common/Z/u15/*.* 15:
Common/Z3/u10/*.* 10:
Common/Z3/u14/*.* 14:
Common/Z3/u15/*.* 15:
Common/SIMH/*.* 13:

1
Source/Images/hd_zsdos.txt

@ -69,3 +69,4 @@ Common/CPM22/*.* 0:
#Common/Z/u10/*.* 0:
Common/Z/u14/*.* 0:
Common/Z/u15/*.* 0:
Common/SIMH/*.* 13:

159
Source/RomDsk/diskdefs

@ -311,6 +311,7 @@ diskdef wbw_rom1024
end
# RomWBW 720K floppy media
diskdef wbw_fd720
seclen 512
tracks 160
@ -323,6 +324,7 @@ diskdef wbw_fd720
end
# RomWBW 1.44M floppy media
diskdef wbw_fd144
seclen 512
tracks 160
@ -335,6 +337,7 @@ diskdef wbw_fd144
end
# RomWBW 360K floppy media
diskdef wbw_fd360
seclen 512
tracks 80
@ -347,6 +350,7 @@ diskdef wbw_fd360
end
# RomWBW 1.20M floppy media
diskdef wbw_fd120
seclen 512
tracks 160
@ -359,7 +363,8 @@ diskdef wbw_fd120
end
# RomWBW 8320KB Hard Disk Slice (512 directory entry format)
# Legacy format, 512 dir entries, 16,630 sectors / slice
# Legacy format: 512 dir entries, 16,630 sectors / slice
diskdef wbw_hd512
seclen 512
tracks 1040
@ -372,6 +377,9 @@ diskdef wbw_hd512
end
# First 4 slices of wbw_hd512
# Assumes first slice (slice 0) starts at sector 0
# Offset of any slice (in tracks) = (1040 * <slice_num>)
diskdef wbw_hd512_0
seclen 512
tracks 1040
@ -380,45 +388,50 @@ diskdef wbw_hd512_0
maxdir 512
skew 0
boottrk 16
offset 0T
os 2.2
end
diskdef wbw_hd512_1
seclen 512
tracks 2080
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 1056
boottrk 16
offset 1040T
os 2.2
end
diskdef wbw_hd512_2
seclen 512
tracks 3120
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 2096
boottrk 16
offset 2080T
os 2.2
end
diskdef wbw_hd512_3
seclen 512
tracks 4160
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 3136
boottrk 16
offset 3120T
os 2.2
end
# 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
diskdef wbw_hd1024
seclen 512
tracks 1024
@ -431,110 +444,124 @@ diskdef wbw_hd1024
end
# First 4 slices of wbw_hd1024
# Assumes 1MB prefix (2048 sectors)
# Assumes standard 1MB prefix
# Offset of any slice (in tracks) = 128 + (1024 * <slice_num)
diskdef wbw_hd1024_0
seclen 512
tracks 1040
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 130
boottrk 2
offset 128T
os 2.2
end
diskdef wbw_hd1024_1
seclen 512
tracks 2064
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1154
boottrk 2
offset 1152T
os 2.2
end
diskdef wbw_hd1024_2
seclen 512
tracks 3112
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2178
boottrk 2
offset 2176T
os 2.2
end
diskdef wbw_hd1024_3
seclen 512
tracks 4136
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3202
boottrk 2
offset 3200T
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
boottrk 0
offset 10T
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
boottrk 0
offset 1034T
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
boottrk 0
offset 2058T
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
boottrk 0
offset 3082T
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
boottrk 0
offset 4106T
os 2.2
end
# RC2014 standard hard disk image
# RC2014 standard (Grant Searle) hard disk image
# Slices A-P
# Offset of slice (in tracks) = (512 * <slice_num>)
diskdef rc2014a
seclen 512
tracks 512
@ -542,155 +569,171 @@ diskdef rc2014a
blocksize 4096
maxdir 512
boottrk 1
offset 0T
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
boottrk 0
offset 512T
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
boottrk 0
offset 1024T
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
boottrk 0
offset 1536T
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
boottrk 0
offset 2048T
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
boottrk 0
offset 2560T
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
boottrk 0
offset 3072T
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
boottrk 0
offset 3584T
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
boottrk 0
offset 4096T
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
boottrk 0
offset 4608T
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
boottrk 0
offset 5120T
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
boottrk 0
offset 5632T
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
boottrk 0
offset 6144T
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
boottrk 0
offset 6656T
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
boottrk 0
offset 7168T
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
tracks 128
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
boottrk 0
offset 7680T
os 2.2
end

159
Tools/cpmtools/diskdefs

@ -311,6 +311,7 @@ diskdef wbw_rom1024
end
# RomWBW 720K floppy media
diskdef wbw_fd720
seclen 512
tracks 160
@ -323,6 +324,7 @@ diskdef wbw_fd720
end
# RomWBW 1.44M floppy media
diskdef wbw_fd144
seclen 512
tracks 160
@ -335,6 +337,7 @@ diskdef wbw_fd144
end
# RomWBW 360K floppy media
diskdef wbw_fd360
seclen 512
tracks 80
@ -347,6 +350,7 @@ diskdef wbw_fd360
end
# RomWBW 1.20M floppy media
diskdef wbw_fd120
seclen 512
tracks 160
@ -359,7 +363,8 @@ diskdef wbw_fd120
end
# RomWBW 8320KB Hard Disk Slice (512 directory entry format)
# Legacy format, 512 dir entries, 16,630 sectors / slice
# Legacy format: 512 dir entries, 16,630 sectors / slice
diskdef wbw_hd512
seclen 512
tracks 1040
@ -372,6 +377,9 @@ diskdef wbw_hd512
end
# First 4 slices of wbw_hd512
# Assumes first slice (slice 0) starts at sector 0
# Offset of any slice (in tracks) = (1040 * <slice_num>)
diskdef wbw_hd512_0
seclen 512
tracks 1040
@ -380,45 +388,50 @@ diskdef wbw_hd512_0
maxdir 512
skew 0
boottrk 16
offset 0T
os 2.2
end
diskdef wbw_hd512_1
seclen 512
tracks 2080
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 1056
boottrk 16
offset 1040T
os 2.2
end
diskdef wbw_hd512_2
seclen 512
tracks 3120
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 2096
boottrk 16
offset 2080T
os 2.2
end
diskdef wbw_hd512_3
seclen 512
tracks 4160
tracks 1040
sectrk 16
blocksize 4096
maxdir 512
skew 0
boottrk 3136
boottrk 16
offset 3120T
os 2.2
end
# 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
diskdef wbw_hd1024
seclen 512
tracks 1024
@ -431,110 +444,124 @@ diskdef wbw_hd1024
end
# First 4 slices of wbw_hd1024
# Assumes 1MB prefix (2048 sectors)
# Assumes standard 1MB prefix
# Offset of any slice (in tracks) = 128 + (1024 * <slice_num)
diskdef wbw_hd1024_0
seclen 512
tracks 1040
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 130
boottrk 2
offset 128T
os 2.2
end
diskdef wbw_hd1024_1
seclen 512
tracks 2064
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1154
boottrk 2
offset 1152T
os 2.2
end
diskdef wbw_hd1024_2
seclen 512
tracks 3112
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2178
boottrk 2
offset 2176T
os 2.2
end
diskdef wbw_hd1024_3
seclen 512
tracks 4136
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3202
boottrk 2
offset 3200T
os 2.2
end
# SmallZ80 Hard Disk Image
# 5 slices
diskdef smz80_hd0
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 10
boottrk 0
offset 10T
os 2.2
end
diskdef smz80_hd1
seclen 512
tracks 2058
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 1034
boottrk 0
offset 1034T
os 2.2
end
diskdef smz80_hd2
seclen 512
tracks 1034
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 2058
boottrk 0
offset 2058T
os 2.2
end
diskdef smz80_hd3
seclen 512
tracks 4106
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 3082
boottrk 0
offset 3082T
os 2.2
end
diskdef smz80_hd4
seclen 512
tracks 5130
tracks 1024
sectrk 16
blocksize 4096
maxdir 1024
skew 0
boottrk 4106
boottrk 0
offset 4106T
os 2.2
end
# RC2014 standard hard disk image
# RC2014 standard (Grant Searle) hard disk image
# Slices A-P
# Offset of slice (in tracks) = (512 * <slice_num>)
diskdef rc2014a
seclen 512
tracks 512
@ -542,155 +569,171 @@ diskdef rc2014a
blocksize 4096
maxdir 512
boottrk 1
offset 0T
os 2.2
end
diskdef rc2014b
seclen 512
tracks 1024
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 512
boottrk 0
offset 512T
os 2.2
end
diskdef rc2014c
seclen 512
tracks 1536
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1024
boottrk 0
offset 1024T
os 2.2
end
diskdef rc2014d
seclen 512
tracks 2048
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 1536
boottrk 0
offset 1536T
os 2.2
end
diskdef rc2014e
seclen 512
tracks 2560
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2048
boottrk 0
offset 2048T
os 2.2
end
diskdef rc2014f
seclen 512
tracks 3072
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 2560
boottrk 0
offset 2560T
os 2.2
end
diskdef rc2014g
seclen 512
tracks 3584
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3072
boottrk 0
offset 3072T
os 2.2
end
diskdef rc2014h
seclen 512
tracks 4096
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 3584
boottrk 0
offset 3584T
os 2.2
end
diskdef rc2014i
seclen 512
tracks 4608
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4096
boottrk 0
offset 4096T
os 2.2
end
diskdef rc2014j
seclen 512
tracks 5120
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 4608
boottrk 0
offset 4608T
os 2.2
end
diskdef rc2014k
seclen 512
tracks 5632
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5120
boottrk 0
offset 5120T
os 2.2
end
diskdef rc2014l
seclen 512
tracks 6144
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 5632
boottrk 0
offset 5632T
os 2.2
end
diskdef rc2014m
seclen 512
tracks 6656
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6144
boottrk 0
offset 6144T
os 2.2
end
diskdef rc2014n
seclen 512
tracks 7168
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 6656
boottrk 0
offset 6656T
os 2.2
end
diskdef rc2014o
seclen 512
tracks 7680
tracks 512
sectrk 32
blocksize 4096
maxdir 512
boottrk 7168
boottrk 0
offset 7168T
os 2.2
end
diskdef rc2014p
seclen 512
tracks 7808
tracks 128
sectrk 32
blocksize 4096
maxdir 512
boottrk 7680
boottrk 0
offset 7680T
os 2.2
end

BIN
Tools/simh/altairz80.exe

Binary file not shown.
Loading…
Cancel
Save