Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Don't sweat it -- it's only ones and zeros. -- P. Skelly


computers / comp.os.cpm / Re: CP/M-86, cpmtools, Goteks

Re: CP/M-86, cpmtools, Goteks

<6317b932-85d8-4398-aafa-c1bb35c57c58n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=3249&group=comp.os.cpm#3249

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:6214:daa:b0:441:7161:de4b with SMTP id h10-20020a0562140daa00b004417161de4bmr12134592qvh.48.1648330047194;
Sat, 26 Mar 2022 14:27:27 -0700 (PDT)
X-Received: by 2002:a05:6870:a70b:b0:dd:9cf0:763e with SMTP id
g11-20020a056870a70b00b000dd9cf0763emr12456533oam.116.1648330046907; Sat, 26
Mar 2022 14:27:26 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sat, 26 Mar 2022 14:27:26 -0700 (PDT)
In-Reply-To: <2ef653e8-3c51-4cc3-a4a7-90c9cc1d92b3n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=162.191.133.226; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 162.191.133.226
References: <cc3c6856-1aac-44d1-b0f1-b69bbe353ef6n@googlegroups.com>
<ja5a3rFdlq9U1@mid.individual.net> <3a500aea-8a4f-490a-a91e-2be1293671dbn@googlegroups.com>
<aec367f7-8b5b-4b00-9325-4a105fc0e71bn@googlegroups.com> <f2ac9cb4-c0e0-4f09-b95f-4112b593b97fn@googlegroups.com>
<5e7213ef-ea07-4455-9082-e039c910d8d4n@googlegroups.com> <fce77ecd-93a7-40b6-b758-90e69599ab85n@googlegroups.com>
<2f70c098-26d1-4654-bb8b-18689c3688e8n@googlegroups.com> <f856e5f4-db19-40a3-ab86-6ab8d4b682c7n@googlegroups.com>
<TomdnVaVFOPg4KL_nZ2dnUU7-XfNnZ2d@earthlink.com> <2ef653e8-3c51-4cc3-a4a7-90c9cc1d92b3n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6317b932-85d8-4398-aafa-c1bb35c57c58n@googlegroups.com>
Subject: Re: CP/M-86, cpmtools, Goteks
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Sat, 26 Mar 2022 21:27:27 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 332
 by: ldkr...@gmail.com - Sat, 26 Mar 2022 21:27 UTC

Rob,
You can can log the A: drive, then do:
A:> DIR A: DSK:

That will be a good starting point.

[code]
If you have a functional CP/M system, you can use DDT to find the Disk Parameter Block Address,
the Allocation Address, along with the information stored there for the logged floppy drive.

1. Log the floppy drive you wish to locate the DPB data for. I will use A: for this example
2. Run DDT and enter the code below:
A: <Carriage RETURN>
DDT
-f0100,0200,00 #fill memory with zero's
-A0100 #assemble program at 0100
0100 mvi c,0f #0f in C for Open file
0102 lxi d,005c #FCB in reg DE
0105 call 5 #call BDOS
0108 rst 7 #back to DDT
0109 mvi c,1b #1B in C for Get Allocation Address
010B call 5 #call BDOS
010E rst 7 #back to DDT
010F mvi c,1F #get disk parameter address
0111 call 5 #HL will contain the address
0114 rst 7 #back to DDT
0115 nop #
0016 . #type PERIOD to EXIT Assembler
-d0100 #display memory at 0100
0100 0e0f115c00cd0500FF0E1BCD0500FF0E1FCD0500FF
-g0100 #execute program
*108 #program exits here after file search
-g0109 #execute programs
*010E #program exits here with Allocation Address
-g010F #execute programs
*0114 #program exits here with Disk Parameter Address
-xH #display DPB that is in reg HL
#<CR> will exit register modify
#CNTL C will exit DDT and save 1 test101.ddt will save the file
#save n filename.com saves 1 256 byte block of data.
The contents of register HL is the address of Drive A: DPB. If you display that address (mine was
F5E3) you will see F5E3: 2400040F0154007F00C00020000200.

The Disk Parameter Block (DPB) for each drive is:
+-----+------+-------+-------+-------+-------+------+------+------+-----+
|SPT.|BSH..|BLM..|EXM..|DSM.. |DRM.|AL0..|AL1..|CKS..|OFF.|
+-----+------+-------+-------+-------+-------+------+------+------+-----+
16B 8B 8B 8B 16B 16B 8B 8B 16B 16B

RPT = 0024 = The number of 128 byte records per track.
BSH = 04 = The block shift count.
BLM = 0F = The block mask.
EXM = 01 = The extent mask.
DSM = 0054 = Disk storage maximum (the largest block number).
DRM = 007F = Directory maximum (the largest directory entry).
DAB = C000= Directory Allocation Block AL0: = C0 & AL1: = 00
CKS = 0020 = Directory check size.
OFF = 0002 = Track offset (number of reserved tracks).

SPT: Number of sectors per track. May differ from RPT if physical sectors are other than
128 bytes in size.

SSZ: Sector size code:
0 = 128 bytes per sector
1 = 256 bytes per sector
2 = 512 bytes per sector
3 = 1024 bytes per sector

NTK: Number of tracks (35, 40, 77, or 80). The number of tracks can be determined by formatting
a Floppy, or with Anadisk. Anadisk will also tell you the sector size and SKEW.
[/code]

This will get you the DPB INFO.

AH! I assumed the .IMG was a Sector Dump, but it is a CQ = COPYQM Image file

00000000 43 51 14 00 02 00 00 00 00 00 00 74 00 00 00 00 CQ.........t.....
00000010 12 00 02 00 00 00 00 00 00 00 00 00 30 4B 20 44 ............0K D
00000020 6F 75 62 6C 65 2D 53 69 64 65 64 00 00 00 00 00 ouble-Sided......
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................
00000050 00 00 00 00 00 00 00 00 01 01 50 50 4E DD CC A5 ..........PPN...
00000060 2A 2A 20 4E 4F 4E 45 20 2A 2A 00 4C 0C 46 2A 29 ** NONE **.L..F*)
00000070 00 00 00 00 01 00 04 00 00 00 00 00 00 00 00 00 .................
00000080 00 00 00 00 76 49 6D 61 67 65 20 66 69 6C 65 20 ....vImage file
00000090 63 72 65 61 74 65 64 20 62 79 20 75 6E 72 65 67 created by unreg
000000A0 69 73 74 65 72 65 64 20 43 6F 70 79 51 4D 1B 00 istered CopyQM..
000000B0 EB 2B 90 50 56 42 41 43 4B 55 50 00 02 01 02 00 .+.PVBACKUP......

$ dsktrans -types
Disk image types supported:

gotek : Gotek 1440k disc image collection
gotek72 : Gotek 720k disc image collection
remote : Remote LibDsk instance
rcpmfs : Reverse CP/MFS driver
dsk : CPCEMU .DSK driver
edsk : Extended .DSK driver
apridisk : APRIDISK file driver
copyqm : CopyQM file driver <---------------------Source is this one
tele : TeleDisk file driver
ldbs : LibDsk block store
ldbst : LDBS (text form)
sap : SAP file driver
qrst : Quick Release Sector Transfer
imd : IMD file driver
ydsk : YAZE YDSK driver
raw : Raw file driver (alternate sides)
rawoo : Raw file driver (out and out)
rawob : Raw file driver (out and back) <---------------------Contents of .RAW file to use with cpmtools
myz80 : MYZ80 hard drive driver
simh : SIMH disc image driver
nanowasp : NanoWasp image file driver
logical : Raw file logical sector order
jv3 : JV3 file driver
dc42 : Disk Copy 4.2
cfi : CFI file driver

$ dsktrans -formats
Disk formats supported:

pcw180 : PCW / IBM 180k
cpcsys : CPC System
cpcdata : CPC Data
pcw720 : PCW / IBM 720k
pcw1440 : PcW16 / IBM 1440k
ibm160 : IBM 160k (CP/M-86 / DOSPLUS)
ibm320 : IBM 320k (CP/M-86 / DOSPLUS)
ibm360 : IBM 360k (CP/M-86 / DOSPLUS)
ibm720 : IBM 720k (144FEAT)
ibm1200 : IBM 1.2M (144FEAT)
ibm1440 : IBM 1.4M (144FEAT) <-------------Disk Format will be this CPM86 type
acorn160 : Acorn 160k
..........
..........
kay3 : KAY3 Kaypro 2X/4/10 (Alternate) - DSDD 48 tpi 5.25" - 512 x 10
kay2 : KAY2 Kaypro 2X/4/10 - DSDD 48 tpi 5.25" - 512 x 10
kpiv : Kaypro 2X/4/10 - DSDD 48 tpi 5.25"
kpii : KAY1 Kaypro II/2 - SSDD 48 tpi 5.25" - 512 x 10
kay1 : KAY1 Kaypro II/2 - SSDD 48 tpi 5.25" - 512 x 10
fea1 : FEA1 IBM PC, CP/M-86 - 1.44 MB - DSHD 3.5" - 96 TPI 512 x 18
ibm3740 : IBM3740 SS SD 77T 8" 26x128 b/s

Convert the image to a .RAW = SECTOR DUMP type.

$ dsktrans -itype copyqm -otype rawob -format ibm1440 144CPM86.IMG 144CPM86..RAW

$ hexedit 144CPM86.RAW
[code]
00000000 EB 2B 90 50 56 42 41 43 4B 55 50 00 02 01 02 00 .+.PVBACKUP......
00000010 02 10 00 40 01 FE 01 00 08 00 01 00 00 00 00 00 ...@.............
00000020 00 00 00 00 00 00 00 FF 12 00 10 08 00 FA 8C CC .................
00000030 8E D4 BC 00 7C FB 8C C8 05 B0 07 8E D8 CD 12 2D ....|...........-
00000040 1A 00 B1 06 D3 E0 8E C0 A3 FF 01 B9 02 00 A0 FF .................
00000050 02 3C 90 74 21 D0 2E 28 01 D1 2E 2B 01 D1 2E 29 .<.t!..(...+....)
00000060 01 D1 E1 3C 48 74 0F B0 0F A2 28 01 D1 26 2B 01 ...<Ht....(...&+.
00000070 D1 26 29 01 D1 E9 33 C0 33 D2 CD 13 BE 8B 02 E8 .&)...3.3........
00000080 F5 00 BF 00 34 33 C0 50 51 E8 75 00 59 58 40 E2 ....43.PQ.u.YX@.
00000090 F6 B0 00 BF 00 34 26 81 65 09 7F 7F 26 80 65 0B .....4&.e...&.e.
000000A0 7F BE E2 02 B9 0D 00 FC F3 A6 74 10 83 E7 E0 83 ..........t......
000000B0 C7 20 FE C8 75 E0 BE C0 02 E9 B6 00 FE 06 A5 02 . ..u............
000000C0 26 FF 75 05 26 8B 45 03 33 FF E8 34 00 58 80 3E &.u.&.E.3..4..X.>
000000D0 FF 02 48 75 07 0B C0 74 03 E8 25 00 BE 88 02 E8 ..Hu...t..%......
000000E0 95 00 A1 FE 02 8A 1E 27 01 06 1F BE 80 00 33 FF .......'.......3.
000000F0 B9 80 0F FC F3 A4 B9 4B 47 BA 42 44 EA 00 01 00 .......KG.BD.....
00000100 00 8B 0E 2B 01 F7 E1 F6 36 28 01 04 02 51 3A 06 ...+....6(....Q:.
00000110 27 01 74 06 A2 27 01 E8 2E 00 8A FC B3 00 D1 E3 '.t..'...........
00000120 8B F3 81 C6 00 10 1E 06 1F B9 00 01 FC F3 A5 1F .................
00000130 50 BE 86 02 E8 40 00 58 FE C4 3A 26 28 01 72 04 P....@.X..:&(.r.
00000140 B4 00 FE C0 59 E2 C6 C3 BE 05 00 50 33 D2 3C 50 ....Y......P3.<P
00000150 72 06 2C 9F F6 D8 FE C6 8A E8 BB 00 10 B1 01 A0 r.,..............
00000160 28 01 B4 02 CD 13 58 73 08 4E 75 DF BE A0 02 EB (.....Xs.Nu......
[/code]

Directory is located at 0x2400 = 9216 Decimal ((512 Sector size * 9) * 2 Boot Tracks) = 9216
[code]
00002400 00 43 50 2F 4D 2D 38 36 20 B1 34 34 00 00 00 80 .CP/M-86 .44.....
00002410 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 .................
00002420 00 43 50 2F 4D 2D 38 36 20 B1 34 34 01 00 00 80 .CP/M-86 .44.....
00002430 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 ............... !
00002440 00 43 50 2F 4D 2D 38 36 20 B1 34 34 02 00 00 80 .CP/M-86 .44.....
00002450 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 "#$%&'()*+,-../01
00002460 00 43 50 2F 4D 2D 38 36 20 B1 34 34 03 00 00 80 .CP/M-86 .44.....
00002470 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 23456789:;<=>?@A
00002480 00 43 50 2F 4D 2D 38 36 20 B1 34 34 04 00 00 80 .CP/M-86 .44.....
00002490 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 BCDEFGHIJKLMNOPQ
000024A0 00 43 50 2F 4D 2D 38 36 20 B1 34 34 05 00 00 80 .CP/M-86 .44.....
000024B0 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 RSTUVWXYZ[\]^_`a
000024C0 00 43 50 2F 4D 2D 38 36 20 B1 34 34 06 00 00 80 .CP/M-86 .44.....
000024D0 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 bcdefghijklmnopq
000024E0 00 43 50 2F 4D 2D 38 36 20 B1 34 34 07 00 00 80 .CP/M-86 .44.....
000024F0 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 rstuvwxyz{|}~...
00002500 00 43 50 2F 4D 2D 38 36 20 B1 34 34 08 00 00 80 .CP/M-86 .44.....
00002510 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 .................
00002520 00 43 50 2F 4D 2D 38 36 20 B1 34 34 09 00 00 50 .CP/M-86 .44....P
00002530 92 93 94 95 96 97 98 99 9A 9B 00 00 00 00 00 00 .................
00002540 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 .................
[/code]

$ ls -alt 144CPM86.RAW
-rw-r--r-- 1 larry larry 1474560 Mar 26 16:01 144CPM86.RAW

$ cpmls -f fea1 -T rawob,fea1 -D 144CPM86.RAW
Name Bytes Recs Attr update create
------------ ------ ------ ---- ----------------- -----------------
144BLDR2.CMD 8K 37 R
86LOGO .CMD 4K 4
ASM86 .CMD 28K 205
ASSIGN .CMD 4K 29
AUTOEXEC.SUB 4K 1
CLS .CMD 4K 4
CONFIG .CMD 4K 21
CPM .SYS 20K 144
DATA .PFK 4K 3
DDT86 .CMD 16K 112
DSKMAINT.CMD 8K 34
ED .CMD 12K 74
FASTKEYS.CMD 4K 5
FUNCTION.CMD 4K 16
GENCMD .CMD 8K 45
GETATCLK.CMD 4K 6
HDMAINT .CMD 28K 196
HELP .CMD 8K 52
HELP .HLP 24K 183
NEWTOD .CMD 4K 10
NUMOFF .CMD 4K 4
PIP .CMD 8K 59
PRINT .CMD 8K 40
SETUP .CMD 8K 63
STAT .CMD 12K 73
SUBMIT .CMD 4K 31
26 Files occupying 244K, 1168K Free.

Editing the autoexec.sub looks sane, but we need a longer file that is ASCII to see if extracts properly.

$ gedit autoexec.sub

GETATCLK
FASTKEYS
NUMOFF
86LOGO


Larry

SubjectRepliesAuthor
o CP/M-86, cpmtools, Goteks

By: Robert Roland on Fri, 25 Mar 2022

37Robert Roland
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor