tingo
Veteran Member
Well done!
VCF SoCal | Feb 15 - 16 2025, | Hotel Fera, Orange CA |
VCF East | Apr 04 - 06 2025, | Infoage Museum, Wall NJ |
VCF Southwest | Jun 20 - 22 2025, | University of Texas at Dallas |
VCF Southeast | Jun 20 - 22 2025, | Atlanta, GA |
VCF West | Aug 2025, | CHM, Mountain View, CA |
VCF Midwest | Sep 13 - 14 2025, | Schaumburg, IL |
Sadly not, the box with disks 12 to 22 was missing. I do have other random un-dumped disks but I think they're just backup boot disks. I'll let you know if I ever find itThe GSX driver DDQX10.PRL appears to only work correctly under MML CPM+. TPM or CPM or another CPM+ I put together produce garbage when the graph gets displayed.
I see Roche's disk #18 has QX10DD.DOC as well as GSX.DOC. Was that disk recoverable ? I'm not finding it.
Larry G
So MML's CPM+ supports switching to graphics mode and drawing graphics primitives via console escape sequences usingAttached is my preliminary disassembly of DDQX10 using Intel mnemonics which is also what was called TDL mnemonics since Roger Amidon used them in his assembler.
He was the architect behind the Epson QX10 firmware and the TPM operating systems (a cp/m clone written for the new Z80) thru his company Technical Design Labs which changed names a few times.
I just found out thru some documents I recently purchased that TPM was released just months after CP/M. It's BDOS api was compatible with CPM 1.4 which places it's beginning
maybe 1977. I did not know it went back that early. TPM is much faster than CPM. Martin - I used your notes to quickly do my own disassembly. Yes I agree you're call table was off by 1.
Function 0 just calls a return so does nothing, last function is 33. So far I only see one hardware specific instruction IN 2Ch in the driver.
Larry G
ESC G
and ESC .
. Looking at the disassembled code and some of the escape sequences in the data portions that seems to be what the ddqx10 driver is doing, which is also why it doesn't work correctly on other versions of CP/M.#
#alt SIDES specifies that first one side then the other is written/read
# before the cylinder number is advanced.
#
#outback CYLINDERS specifies that all tracks on the first side are recorded
# then all tracks on second side. Tracks on side 0 are written
# from 0 up and side 1 down to 0.
#
#outout EAGLE same as CYLINDERS except both sides start at zero or outermost
# track.
#
# COLUMBIA same as CYLINDERS except tracks are sequential from side
# 0 to side 1 ie. 0 - 79 for a 40 track disk.
#
# EVEN-ODD means side 0 contains even-numbered tracks and side 1
# contains odd-numbered tracks.
#
# SKIP means skip the first Single Density Track
#
# 22DISK
BEGIN EPS7 Epson QX-10 MML CPM+ - DSDD 48 tpi 5.25" - 1024 x 5
DENSITY MFM, LOW
CYLINDERS 40 SIDES 2 SECTORS 5,1024
SIDE1 0 1,2,3,4,5
SIDE2 1 1,2,3,4,5
ORDER SIDES
BSH 4 BLM 15 EXM 1 DSM 199 DRM 127 AL0 0C0H AL1 0 OFS 0
END
# cpmtools
# EPS7 Epson QX-10 MML CPM+ - DSDD 48 tpi 5.25" - 1024 x 5
diskdef eps7
seclen 1024
tracks 80
sectrk 5
blocksize 2048
maxdir 128
skew 1
boottrk 0
os 2.2
end
# libdsk
[eps7]
description = EPS7 Epson QX-10 MML CPM+ - DSDD 48 tpi 5.25" - 1024 x 5
sides = alt
cylinders = 80
heads = 2
secsize = 1024
sectors = 5
secbase = 1
datarate = DD
# Flashfloppy/GOTEK
[esp7]
cyls = 80
heads = 2
secs = 5
interleave = 1
bps = 1024
id = 1
#rpm = 360
rpm = 300
rate = 250
mode = mfm
iam = no
$ cpmls -f eps7 -D 06_straight_reldis_hfe.raw
Name Bytes Recs Attr update create
------------ ------ ------ ---- ----------------- -----------------
REL .DOC 2K 9
RELDEL .ASM 12K 96
RELDEL .COM 4K 18
RELDIS .BAK 38K 293
RELDIS .COM 6K 35
RELDIS .MAC 38K 294
RELDIS .OLD 30K 239
RELDIS .REL 8K 51
RELDIS .SYM 2K 10
RELDUMP .ASM 30K 239
RELDUMP .COM 4K 28
RELDUMP .MAC 30K 234
RELDUMP .SYM 2K 10
RELDUMP1.COM 2K 14
RELERR . 2K 2
RELMAP .ASM 14K 98
RELMAP .COM 2K 14
RELUND .ASM 18K 130
RELUND .COM 2K 15
RMAC .COM 14K 106
20 Files occupying 260K, 136K Free.