link about Disciple and +D
link about Disciple and +D
Hi
i just found this developpe link about Disciple and +D
https://www.z88dk.org/forum/viewtopic.p ... +type#p502
and wanted to add this other link ,but i aint a developper. probably the site of Rudy is known already, but its good to metion it, i guess.
https://www.biehold.nl/rudy/index.htm
i just found this developpe link about Disciple and +D
https://www.z88dk.org/forum/viewtopic.p ... +type#p502
and wanted to add this other link ,but i aint a developper. probably the site of Rudy is known already, but its good to metion it, i guess.
https://www.biehold.nl/rudy/index.htm
Re: link about Disciple and +D
thankyou for reminding it! I didn't remember that post.
Enrico is now a pro developer which began on the Spectrum. He did interesting stuff (now lost) on the microdrive, then moved on the Disciple. He designed a serial interface for the Spectrum and wrote interesting software for it: a good terminal to be used in the nineties with the BBS systems, a remote drive system to host the Specrum files in a PC, and recently an interesting tool to dump the Opus Discovery disks.
He wrote the old (now not working anymore) tool to convert the REL files into z88dk object files.
I recently barely succeeded in fixing the microdrive support, thus I'm a bit sick of this kind of stuff, but it also depends on how much people is really interested in it.
Enrico is now a pro developer which began on the Spectrum. He did interesting stuff (now lost) on the microdrive, then moved on the Disciple. He designed a serial interface for the Spectrum and wrote interesting software for it: a good terminal to be used in the nineties with the BBS systems, a remote drive system to host the Specrum files in a PC, and recently an interesting tool to dump the Opus Discovery disks.
He wrote the old (now not working anymore) tool to convert the REL files into z88dk object files.
I recently barely succeeded in fixing the microdrive support, thus I'm a bit sick of this kind of stuff, but it also depends on how much people is really interested in it.
Re: link about Disciple and +D
The ramsoft document is much better at describing the hook codes: http://ramsoft.bbk.org.omegahg.com/tech/mgt_tech.txt
Every few years I get tempted into adding an fcntl library - the most recent time was a couple of months ago when I was working on the SAM target - and every time I re-remember that the hook code API isn't that great. It's okay for loading files into memory, but random file access just doesn't exist in GDOS (it may well do in Unidos). Given that there's the zxbasic fcntl driver I'd recommend using that instead.
If you were hinting at creating MGT format discs, then appmake has a +mgt option which can create +zx discs (untested) which with a small addition in zx.cfg could be used.
Every few years I get tempted into adding an fcntl library - the most recent time was a couple of months ago when I was working on the SAM target - and every time I re-remember that the hook code API isn't that great. It's okay for loading files into memory, but random file access just doesn't exist in GDOS (it may well do in Unidos). Given that there's the zxbasic fcntl driver I'd recommend using that instead.
If you were hinting at creating MGT format discs, then appmake has a +mgt option which can create +zx discs (untested) which with a small addition in zx.cfg could be used.
Re: link about Disciple and +D
Hi, so there are 4 or 5 different formats on 1 disctype of 800Kb MGT
DISCiPLE
+D
Unidisc
BDos ??
SAM
they al have some different items to be handled and a DISCIPLE disc can be formated with eg 84 tracks, i did it on a real disc.
Between DISCiPLE and +D the directory format is the most importend difference.
I am writing my own mgt READ routine (in gcc) from a BASIC program on "disciple nieuwsbrief" which is probably a file from FORMATmagazine
http://www.cborn.nl/zxfiles/readMGT_053.c
it only does the main parts, no filetypes yet etc , i have 2 discimages used as testfile
http://www.cborn.nl/zxfiles/banddump193-221.IMG an DISCiPLE disc
http://www.cborn.nl/zxfiles/000HI_C_Work.MGT an +D disc
if you try you see the EMPTY entries, but those are just the wrong tracks, i have to switch side for a correct output
Meanwhwile i found mgtman from Dan Doore, great !
https://github.com/dandoore/mgtman
it does the OPPOSITE of my aproach, it switches sides for +D , and errors on DISCIPLE by still doing that
DISCiPLE
+D
Unidisc
BDos ??
SAM
they al have some different items to be handled and a DISCIPLE disc can be formated with eg 84 tracks, i did it on a real disc.
Between DISCiPLE and +D the directory format is the most importend difference.
I am writing my own mgt READ routine (in gcc) from a BASIC program on "disciple nieuwsbrief" which is probably a file from FORMATmagazine
http://www.cborn.nl/zxfiles/readMGT_053.c
it only does the main parts, no filetypes yet etc , i have 2 discimages used as testfile
http://www.cborn.nl/zxfiles/banddump193-221.IMG an DISCiPLE disc
http://www.cborn.nl/zxfiles/000HI_C_Work.MGT an +D disc
if you try you see the EMPTY entries, but those are just the wrong tracks, i have to switch side for a correct output
Meanwhwile i found mgtman from Dan Doore, great !
https://github.com/dandoore/mgtman
it does the OPPOSITE of my aproach, it switches sides for +D , and errors on DISCIPLE by still doing that
Re: link about Disciple and +D
Hi, i did a shamefull "update"
i had disc images from disciple on my site
those where zip file, but apparently made with the wrong interface installed. sorry,...
i did find the original IMAGE like in *.IMG from realspectrum and now those are online.
http://www.cborn.nl/zxfiles
these are the DISCIPLE discs from "Disciple nieuwsbrief"
that took a kind off long appearently, but now they are avilable. issue 21 is still missing, its a propped disk for which you need TWO other disks to unprop. those faulty images are still available.... hmmmmmm
Hopefully they are a good source.
cheers
eg
http://www.cborn.nl/zxfiles/DDISC-M1.IMG
i had disc images from disciple on my site
those where zip file, but apparently made with the wrong interface installed. sorry,...
i did find the original IMAGE like in *.IMG from realspectrum and now those are online.
http://www.cborn.nl/zxfiles
these are the DISCIPLE discs from "Disciple nieuwsbrief"
that took a kind off long appearently, but now they are avilable. issue 21 is still missing, its a propped disk for which you need TWO other disks to unprop. those faulty images are still available.... hmmmmmm
Hopefully they are a good source.
cheers
eg
http://www.cborn.nl/zxfiles/DDISC-M1.IMG
Re: link about Disciple and +D
I made some progess from which i have a good feeling.
http://www.cborn.nl/zxfiles/mgtDD_096.c
and i made a TEST DISK
http://www.cborn.nl/zxfiles/test_sys_erased009.IMG
with a BASIC routine that makes 9 off 11 DISCiPLE file types
http://www.cborn.nl/zxfiles/testfiles3_0029.txt
i still miss type 6, MDR microdrive ON Disciple
and type 8, the SPECIAL which i found on the TW3 disks
http://www.cborn.nl/zxfiles/TW3-WERK.IMG
i used FUSE emulator with DISiPLE but Fuse , erhem, REfuses to work in 128k mode so i could only MAKE this test-disk in 48k mode.
there for the 128k SAVE d*"name"K is a faulty one
meanwhile the NMI+key4 gives a different SIZE
the NMI+key5 does NOT WORK and is there for not saved
maybe REalSpectrum or an other emulator with DISCiPLE can do a better job.
oja,
finally i ERASED half off the saved test files so there are erased file to be found aswell!
and i HAD to do that as a last command else the erased files are overwritten....
normaly a good thing but today its a test disk for DISCIPLE ONLY, although, the make-file is in BASIC and just MIGHT work on an +D disk aswell ?
i did NOT make that testdik for the +d...
cheers, i hope it all helps, reactions are very welcome!!
http://www.cborn.nl/zxfiles/mgtDD_096.c
and i made a TEST DISK
http://www.cborn.nl/zxfiles/test_sys_erased009.IMG
with a BASIC routine that makes 9 off 11 DISCiPLE file types
http://www.cborn.nl/zxfiles/testfiles3_0029.txt
i still miss type 6, MDR microdrive ON Disciple
and type 8, the SPECIAL which i found on the TW3 disks
http://www.cborn.nl/zxfiles/TW3-WERK.IMG
i used FUSE emulator with DISiPLE but Fuse , erhem, REfuses to work in 128k mode so i could only MAKE this test-disk in 48k mode.
there for the 128k SAVE d*"name"K is a faulty one
meanwhile the NMI+key4 gives a different SIZE
the NMI+key5 does NOT WORK and is there for not saved
maybe REalSpectrum or an other emulator with DISCiPLE can do a better job.
oja,
finally i ERASED half off the saved test files so there are erased file to be found aswell!
and i HAD to do that as a last command else the erased files are overwritten....
normaly a good thing but today its a test disk for DISCIPLE ONLY, although, the make-file is in BASIC and just MIGHT work on an +D disk aswell ?
i did NOT make that testdik for the +d...
cheers, i hope it all helps, reactions are very welcome!!
Re: link about Disciple and +D
ps,
the file for the testdisk has to start with
1 LET x$="1": CLOSE #*
but it overwrites itself to a 2... i was to quick, now its the good one with the start value "1".
the file for the testdisk has to start with
1 LET x$="1": CLOSE #*
but it overwrites itself to a 2... i was to quick, now its the good one with the start value "1".
Re: link about Disciple and +D
My last working source seems a "real " commandline by now
http://www.cborn.nl/zxfiles/mgtDD_100_34.zip
gcc mgtDDX100_34.c -o mgtDDX100_34 2> mgtDDX100_34.log
./mgtDDX100_34 MKdiskDD_0034.IMG
this routine is much to large for ZX. AFAI understand it make a full copy of the disk of 800kb while zx has 48 or 114kb free mem and even a Next will have problems with it, i guess..
so i need to reform it in reading blocks off the image. the //for(x is the old one, in version 100, its working
this is version 106 with a rude "read()" but i obviously have to try different and better
i have to change more so sector reading is the base, perhaps then perhaps, one day, it might be usable for a real disk... some day
question, does read() increases by use? meaning that severall read() on the same file will read the next part???
since i think that what the man page says... but this is NOT working since it misses the file bytes them selves
http://www.cborn.nl/zxfiles/mgtDD_100_34.zip
gcc mgtDDX100_34.c -o mgtDDX100_34 2> mgtDDX100_34.log
./mgtDDX100_34 MKdiskDD_0034.IMG
Code: Select all
./mgtDDX100 MKdiskDD_0034.IMG
This diskimage reader is for MGT DISCiPLE DISC formatted disks only , version: ./mgtDDX100
Number of files passed: 1
- 1- MKdiskDD_0034.IMG
Found: MKdiskDD_0034.IMG
filesize 819200
No | Filename | Track | Sector>Amount | Block | Type | LOAD@ | blocklen | proglen+VarLeng | autoLine | Erased |
1 MKdiskDD1 M 4 1 68 0BAS 1BAS 23755 34489 1449 + 33040 65535
2 data x 1 d 10 9 50 1D.AR 2D.AR 33217 25003 65432 + 0 65535
3 data z$1 d 15 9 16 2$.AR 3$.AR 25211 8003 65498 + 0 65535
4 Screen 1 S 17 5 14 3CODE 4CODE 16384 6912 65535 + 0 0
5 snap 48k1 s 18 9 129 255 5SN48 65535 65535 65535 + 0 65535
6 Screen$ 1 S 31 8 14 3CODE 7SCR$ 16384 6912 65535 + 0 65535
7 snap128k1 s 33 2 129 255 9SN28 65535 65535 65535 + 0 65535
8 Test.OUT.1T 46 1 1 0BAS 10OPEN 0 25 0 + 0 0
9 NOT exec1 N 46 2 1 0BAS 11EXEC 0 0 0 + 0 0
10 MKdiskDDL1M 46 3 68 0BAS 1BAS 23755 34608 1449 + 33159 1
11 MKdiskDD2 M 53 1 68 0BAS 0 23755 34645 1449 + 0 65535 ERASED
12 data x 2 d 59 9 50 1D.AR 0 33213 25003 65432 + 0 65535 ERASED
13 data z$2 d 64 9 16 2$.AR 0 25207 8003 65498 + 0 65535 ERASED
14 Screen 2 S 66 5 14 3CODE 0 16384 6912 65535 + 0 0 ERASED
15 snap 48k2 s 67 9 129 255 0 65535 65535 65535 + 0 65535 ERASED
16 Screen$ 2 S 128 8 14 3CODE 0 16384 6912 65535 + 0 65535 ERASED
17 snap128k2 s 130 2 129 255 0 65535 65535 65535 + 0 65535 ERASED
18 Test.OUT.2T 143 1 1 0BAS 10OPEN 0 25 0 + 0 0
19 NOT exec2 N 143 2 1 0BAS 0 0 0 0 + 0 0 ERASED
20 MKdiskDDL2M 143 3 68 0BAS 0 23755 34645 1449 + 0 1 ERASED
21 MKdiskDD3 M 150 1 3 0BAS 1BAS 23755 1449 1449 + 0 65535
22 MKdiskDD4 M 150 4 3 0BAS 1BAS 23755 1449 1449 + 0 9999
23 Snap1C S 150 7 97 0BAS 5SN48 0 0 0 + 0 0
so i need to reform it in reading blocks off the image. the //for(x is the old one, in version 100, its working
this is version 106 with a rude "read()" but i obviously have to try different and better
i have to change more so sector reading is the base, perhaps then perhaps, one day, it might be usable for a real disk... some day
question, does read() increases by use? meaning that severall read() on the same file will read the next part???
since i think that what the man page says... but this is NOT working since it misses the file bytes them selves
Code: Select all
while (last==0){
// from disc next part has to be an ' LOAD @ ' instead off the bytecount loop
for (bytecount=0 ; bytecount < directorylength ; bytecount=bytecount+direntry )
{
//https://man7.org/linux/man-pages/man2/read.2.html
read( (fd+bytecount) , dirstring , 256 ) ;
// for (x = 0 ; x < direntry+1 ; x++ )
// {
// dirstring[x] = file_contents[x+bytecount] ;
// /*readbinfileinc_017.c: In function ‘main’:
// readbinfileinc_017.c:81:22: warning: assignment to ‘char *’ from ‘char’ makes pointer from integer without a cast [-Wint-conversion]
// dirstring[x] = file_contents[x+bytecount] ;
// ^
// */
// }
Code: Select all
./mgtDDX106 MKdiskDD_0034.IMG
This diskimage reader is for MGT DISCiPLE DISC formatted disks only , version: ./mgtDDX106It prints the directory with (almost) full attribrutes
Number of files passed: 1
1: MKdiskDD_0034.IMG
Found: MKdiskDD_0034.IMG
filesize 819200
No | Filename | Track | Sector>Amount | Block | Type | LOAD@ | blocklen | proglen+VarLeng | autoLine | Erased |
1 D�D1 0 0 0 305423540 1682656513 2 1261367296 0 + 0 0
2 D�D1 0 0 0 305423540 1682656513 2 1261367296 0 + 0 0
3 D�D1 0 0 0 305423540 1682656513 2 1261367296 0 + 0 0
4 D�D1 0 0 0 305423540 1682656513 2 1261367296 0 + 0 0
5 D�D1 0 0 0 305423540 1682656513 2 1261367296 0 + 0 0
Re: link about Disciple and +D
last attempt
http://www.cborn.nl/zxfiles/mgtDD-155_YES.c.zip
it has a decent variable printing AND has a sector-map with a single CHR$ per sector with as marker 'number+32'
using chr$ 32+1 to 32+80 as separate filemarkers within the sectormap.
still only viewing the directory!!
actualy
what is better for cq in zcc
open() or fopen() ??
fopen() seems prefered as 'original'
but i dont get it working yet , with fopen
http://www.cborn.nl/zxfiles/mgtDD-164.c
i t try to make the impact smaller by reading only parts of the already exsisting file. probably i can do that with open() aswell.
but i decided to use fopen now for 'commonsake' or something alike.
155(yes) still does read() an 800kb copy in 'file_contens'
164 uses a fread() of 512+1, but fails to read complete
http://www.cborn.nl/zxfiles/mgtDD-155_YES.c.zip
it has a decent variable printing AND has a sector-map with a single CHR$ per sector with as marker 'number+32'
using chr$ 32+1 to 32+80 as separate filemarkers within the sectormap.
still only viewing the directory!!
actualy
what is better for cq in zcc
open() or fopen() ??
fopen() seems prefered as 'original'
but i dont get it working yet , with fopen
http://www.cborn.nl/zxfiles/mgtDD-164.c
i t try to make the impact smaller by reading only parts of the already exsisting file. probably i can do that with open() aswell.
but i decided to use fopen now for 'commonsake' or something alike.
155(yes) still does read() an 800kb copy in 'file_contens'
164 uses a fread() of 512+1, but fails to read complete
Code: Select all
./mgtDD-164 MKdiskDD_0034.IMG
This diskimage reader is for MGT DISCiPLE DISC formatted disks only , version: ./mgtDD-164
reading the Directory only:
Number of files passed: 1
- 1- MKdiskDD_0034.IMG
819200Found: MKdiskDD_0034.IMG
filesize 819200
No |Filename |Track |Sector>Amount |Block |Type |DT | LOAD@|blocklen|proglen+VarLeng|@Line|Erased|
1 D� 0 0 0 0BAS 1682656513 0 0 0 + 0 0
2 D� 0 0 0 0BAS 1682656513 0 0 0 + 0 0
free(): invalid size
Aborted
Re: link about Disciple and +D
http://www.cborn.nl/zxfiles/mgtDD212.c.zip
wel, almost, since the sector counting seems not working
and probably severall other things can be done better.
meanwhile i copied some info from the basic prog "E_cat.4" from probably Disk_01_08
it now hs an auto run code AND and extra large OPENtype file. the SPECIAL end the MDR have yet to come... but the list of unic files on the disk is getting longer (still using 'open' instead of 'fopen' )
wel, almost, since the sector counting seems not working
and probably severall other things can be done better.
meanwhile i copied some info from the basic prog "E_cat.4" from probably Disk_01_08
it now hs an auto run code AND and extra large OPENtype file. the SPECIAL end the MDR have yet to come... but the list of unic files on the disk is getting longer (still using 'open' instead of 'fopen' )
Code: Select all
This diskimage reader is for MGT DISCiPLE DISC formatted disks only , version: ./mgtDD212
reading the Directory only:
Number of files passed: 1
- 1- MKdiskDD_0037.IMG
Found: MKdiskDD_0037.IMG
filesize 819200
No |Filename |Track |Sector>Amount |Block |Type | LOAD@|blocklen|param1 |param2 |param3 |Erased|
1 Sys 3b 4 1 14 3CODE 4CODE 0 6656 | | |
2 Loader 5 5 11 0BAS 1BAS 23755 5286 | 5267 + 19 LINE 500
3 Mover 6 6 1 3CODE 4CODE 49000 60 | | |
4 Music 6 7 4 3CODE 4CODE 40300 1750 | | |
5 Copysys 3b 7 1 14 3CODE 4CODE 42240 6656 | | |
6 MKdiskDD_1 9 3 64 0BAS 1BAS 24542 32233 | 2482 + 29751
7 data x _1 16 5 50 1D.AR 2D.AR 31747 25003 | DATA X()
8 data z$ _1 22 3 8 2$.AR 3$.AR 27709 4035 | DATA Z$()
9 Screen _1 23 9 14 3CODE 4CODE 16384 6912 | | |
10 self_RUN_1 26 1 1 3CODE 4CODE 16384 1 | autostart 16384
11 snap 48k_1 26 10 129 255 5SN48 65535 65535 | | |
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
12 Screen$ _1 41 5 14 3CODE 7SCR$ 16384 6912 | | |
13 snap128k_1 44 5 129 255 9SN28 65535 65535 | | |
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
14 Test.OUT.1 58 2 5 0BAS 10OPEN 0 2135 | 2135
15 NOT exec_1 59 5 1 0BAS 11EXEC 0 0 | | |
16 MKdiskDDL1 60 4 64 0BAS 1BAS 24542 32389 | 2482 + 29907 LINE 1
17E MKdiskDD_2 68 3 64 0BAS 0 24542 32428 | | | ERASED
18E data x _2 75 5 50 1D.AR 0 31743 25003 | | | ERASED
19E data z$ _2 129 3 8 2$.AR 0 27705 4035 | | | ERASED
20E Screen _2 130 9 14 3CODE 0 16384 6912 | | | ERASED
21E self_RUN_2 133 1 1 3CODE 0 16384 1 | | | ERASED
22E snap 48k_2 133 10 129 255 0 65535 65535 | | | ERASED
23E Screen$ _2 148 5 14 3CODE 0 16384 6912 | | | ERASED
24E snap128k_2 151 5 129 255 0 65535 65535 | | | ERASED
25 Test.OUT.2 165 2 5 0BAS 10OPEN 0 2135 | 2135
26 NOT exec_2 166 5 1 0BAS 11EXEC 0 0 | | |
27E MKdiskDDL2 167 4 64 0BAS 0 24542 32428 | | | ERASED
28 DisK#15 8 5 223 0BAS 10OPEN 0 113238 | 113238
29 MKdiskDD3 174 6 5 0BAS 1BAS 23755 2482 | 2482 + 0
30 MKdiskDD4 175 1 5 0BAS 1BAS 23755 2482 | 2482 + 0 LINE 9999
31 Snap1K 175 6 14 3CODE 7SCR$ 16384 6912 | | |
32 Snap1L 176 10 97 0BAS 5SN48 0 0 | | |
REGISTERS: reg_hl 26255 reg_de 26260 reg_bc 0 reg_if 16169 reg_ix 979 reg_iy23610
reg_hl2 4223 reg_de2 13979 reg_bc2 5665 reg_if2 16169 reg_sp 65522
33 0 0 0 0BAS 0 0 0 | | |
34 0 0 0 0BAS 0 0 0 | | |
35 0 0 0 0BAS 0 0 0 | | |
36 0 0 0 0BAS 0 0 0 | | |
37 0 0 0 0BAS 0 0 0 | | |
38 0 0 0 0BAS 0 0 0 | | |
39 0 0 0 0BAS 0 0 0 | | |
40 0 0 0 0BAS 0 0 0 | | |
41 0 0 0 0BAS 0 0 0 | | |
42 0 0 0 0BAS 0 0 0 | | |
43 0 0 0 0BAS 0 0 0 | | |
44 0 0 0 0BAS 0 0 0 | | |
45 0 0 0 0BAS 0 0 0 | | |
46 0 0 0 0BAS 0 0 0 | | |
47 0 0 0 0BAS 0 0 0 | | |
48 0 0 0 0BAS 0 0 0 | | |
49 0 0 0 0BAS 0 0 0 | | |
50 0 0 0 0BAS 0 0 0 | | |
51 0 0 0 0BAS 0 0 0 | | |
52 0 0 0 0BAS 0 0 0 | | |
53 0 0 0 0BAS 0 0 0 | | |
54 0 0 0 0BAS 0 0 0 | | |
55 0 0 0 0BAS 0 0 0 | | |
56 0 0 0 0BAS 0 0 0 | | |
57 0 0 0 0BAS 0 0 0 | | |
58 0 0 0 0BAS 0 0 0 | | |
59 0 0 0 0BAS 0 0 0 | | |
60 0 0 0 0BAS 0 0 0 | | |
61 0 0 0 0BAS 0 0 0 | | |
62 0 0 0 0BAS 0 0 0 | | |
63 0 0 0 0BAS 0 0 0 | | |
64 0 0 0 0BAS 0 0 0 | | |
65 0 0 0 0BAS 0 0 0 | | |
66 0 0 0 0BAS 0 0 0 | | |
67 0 0 0 0BAS 0 0 0 | | |
68 0 0 0 0BAS 0 0 0 | | |
69 0 0 0 0BAS 0 0 0 | | |
70 0 0 0 0BAS 0 0 0 | | |
71 0 0 0 0BAS 0 0 0 | | |
72 0 0 0 0BAS 0 0 0 | | |
73 0 0 0 0BAS 0 0 0 | | |
74 0 0 0 0BAS 0 0 0 | | |
75 0 0 0 0BAS 0 0 0 | | |
76 0 0 0 0BAS 0 0 0 | | |
77 0 0 0 0BAS 0 0 0 | | |
78 0 0 0 0BAS 0 0 0 | | |
79 0 0 0 0BAS 0 0 0 | | |
80 0 0 0 0BAS 0 0 0 | | |
80 files on disk.
-1056561582 sectors used
!!!!!!!!!!!!!!"""""""""""#$$$$%%%%%%%%%%
%%%%<<<<<<<<&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&<<<<
<<<<''''''''''''''''''''''''''''''''''''
''''''''''''''<<<<<<<<((((((((<<<<<<<<))
))))))))))))<<<<<<<<*<<<<<<<<+++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++<<
<<<<<<<<<<<<<<,,,,,,,,,,,,,,<<<<<<<<<<<<
<<<<------------------------------------
----------------------------------------
----------------------------------------
-------------<<<<<<<<.....<<<<<<<</<<<<<
<<<0000000000000000000000000000000000000
000000000000000000000000000<<<<<<<<<<<<<
<<11111111111111111111111111111111111111
11111111111111111111111111<<<<<<<<222222
2222222222222222222222222222222222222222
2222<<<<<<<<33333333<<<<<<<<444444444444
44<<<<<<<<5<<<<<<<<666666666666666666666
6666666666666666666666666666666666666666
6666666666666666666666666666666666666666
6666666666666666666666666666<<<<<<<<<<<<
<<<<77777777777777<<<<<<<<<<<<<<<<888888
8888888888888888888888888888888888888888
8888888888888888888888888888888888888888
8888888888888888888888888888888888888888
888<<<<<<<<99999<<<<<<<<:<<<<<<<<;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;<<<<<<<<=====>>>>>?????
?????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@~~~~~~~@~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Re: link about Disciple and +D
http://www.cborn.nl/zxfiles/mgtDD244.zip
the file itself is not yet smaller, but i think i made it use less memory by reading per sector... at least thats the aim and my hope...
is it usefull?
is it readable?
can it help mgt.c or mgtMAN.c ???
i can have alook at my own database now.
the file itself is not yet smaller, but i think i made it use less memory by reading per sector... at least thats the aim and my hope...
is it usefull?
is it readable?
can it help mgt.c or mgtMAN.c ???
i can have alook at my own database now.
Code: Select all
./mgtDD244 MKdiskDD_0037.IMG leeg_DISCiPLE_80.IMG
This diskimage reader is for MGT DISCiPLE DISC formatted disks only , version: ./mgtDD244
reading the Directory only:
Number of files passed: 2
- 1- MKdiskDD_0037.IMG
- 2- leeg_DISCiPLE_80.IMG
Found: MKdiskDD_0037.IMG
filesize 819200
.)No |Filename |Track |Sector>Amount |Block |Type | LOAD@|blocklen|param1 |param2 |param3 |Erased|
!) 1 Sys 3b 4 1 14 3CODE 4CODE 0 6656
") 2 Loader 5 5 11 0BAS 1BAS 23755 5286 | 5267 + 19 LINE 500
#) 3 Mover 6 6 1 3CODE 4CODE 49000 60
$) 4 Music 6 7 4 3CODE 4CODE 40300 1750
%) 5 Copysys 3b 7 1 14 3CODE 4CODE 42240 6656
&) 6 MKdiskDD_1 9 3 64 0BAS 1BAS 24542 32233 | 2482 + 29751
') 7 data x _1 16 5 50 1D.AR 2D.AR 31747 25003 | DATA X()
() 8 data z$ _1 22 3 8 2$.AR 3$.AR 27709 4035 | DATA Z$()
)) 9 Screen _1 23 9 14 3CODE 4CODE 16384 6912
*)10 self_RUN_1 26 1 1 3CODE 4CODE 16384 1 | autostart 16384
+)11 snap 48k_1 26 10 129 255 ? 5SN48 65535 65535
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
,)12 Screen$ _1 41 5 14 3CODE 7SCR$ 16384 6912
-)13 snap128k_1 44 5 129 255 ? 9SN28 65535 65535
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
.)14 Test.OUT.1 58 2 5 0BAS 10OPEN 0 2135 | 2135
/)15 NOT exec_1 59 5 1 0BAS 11EXEC 0 0
0)16 MKdiskDDL1 60 4 64 0BAS 1BAS 24542 32389 | 2482 + 29907 LINE 1
1)17E MKdiskDD_2 68 3 64 0BAS 0NONE 24542 32428 ERASED
2)18E data x _2 75 5 50 1D.AR 0NONE 31743 25003 ERASED
3)19E data z$ _2 129 3 8 2$.AR 0NONE 27705 4035 ERASED
4)20E Screen _2 130 9 14 3CODE 0NONE 16384 6912 ERASED
5)21E self_RUN_2 133 1 1 3CODE 0NONE 16384 1 ERASED
6)22E snap 48k_2 133 10 129 255 ? 0NONE 65535 65535 ERASED
7)23E Screen$ _2 148 5 14 3CODE 0NONE 16384 6912 ERASED
8)24E snap128k_2 151 5 129 255 ? 0NONE 65535 65535 ERASED
9)25 Test.OUT.2 165 2 5 0BAS 10OPEN 0 2135 | 2135
:)26 NOT exec_2 166 5 1 0BAS 11EXEC 0 0
;)27E MKdiskDDL2 167 4 64 0BAS 0NONE 24542 32428 ERASED
<)28 DisK#15 8 5 223 0BAS 10OPEN 0 113238 | 113238
=)29 MKdiskDD3 174 6 5 0BAS 1BAS 23755 2482 | 2482 + 0
>)30 MKdiskDD4 175 1 5 0BAS 1BAS 23755 2482 | 2482 + 0 LINE 9999
?)31 Snap1K 175 6 14 3CODE 7SCR$ 16384 6912
@)32 Snap1L 176 10 97 0BAS 5SN48 0 0
REGISTERS: reg_hl 26255 reg_de 26260 reg_bc 0 reg_if 16169 reg_ix 979 reg_iy23610
reg_hl2 4223 reg_de2 13979 reg_bc2 5665 reg_if2 16169 reg_sp 65522
A)33 0 0 0 0---- 0NONE 0 0
B)34 0 0 0 0---- 0NONE 0 0
C)35 0 0 0 0---- 0NONE 0 0
D)36 0 0 0 0---- 0NONE 0 0
E)37 0 0 0 0---- 0NONE 0 0
F)38 0 0 0 0---- 0NONE 0 0
G)39 0 0 0 0---- 0NONE 0 0
H)40 0 0 0 0---- 0NONE 0 0
I)41 0 0 0 0---- 0NONE 0 0
J)42 0 0 0 0---- 0NONE 0 0
K)43 0 0 0 0---- 0NONE 0 0
L)44 0 0 0 0---- 0NONE 0 0
M)45 0 0 0 0---- 0NONE 0 0
N)46 0 0 0 0---- 0NONE 0 0
O)47 0 0 0 0---- 0NONE 0 0
P)48 0 0 0 0---- 0NONE 0 0
Q)49 0 0 0 0---- 0NONE 0 0
R)50 0 0 0 0---- 0NONE 0 0
S)51 0 0 0 0---- 0NONE 0 0
T)52 0 0 0 0---- 0NONE 0 0
U)53 0 0 0 0---- 0NONE 0 0
V)54 0 0 0 0---- 0NONE 0 0
W)55 0 0 0 0---- 0NONE 0 0
X)56 0 0 0 0---- 0NONE 0 0
Y)57 0 0 0 0---- 0NONE 0 0
Z)58 0 0 0 0---- 0NONE 0 0
[)59 0 0 0 0---- 0NONE 0 0
\)60 0 0 0 0---- 0NONE 0 0
])61 0 0 0 0---- 0NONE 0 0
^)62 0 0 0 0---- 0NONE 0 0
_)63 0 0 0 0---- 0NONE 0 0
`)64 0 0 0 0---- 0NONE 0 0
a)65 0 0 0 0---- 0NONE 0 0
b)66 0 0 0 0---- 0NONE 0 0
c)67 0 0 0 0---- 0NONE 0 0
d)68 0 0 0 0---- 0NONE 0 0
e)69 0 0 0 0---- 0NONE 0 0
f)70 0 0 0 0---- 0NONE 0 0
g)71 0 0 0 0---- 0NONE 0 0
h)72 0 0 0 0---- 0NONE 0 0
i)73 0 0 0 0---- 0NONE 0 0
j)74 0 0 0 0---- 0NONE 0 0
k)75 0 0 0 0---- 0NONE 0 0
l)76 0 0 0 0---- 0NONE 0 0
m)77 0 0 0 0---- 0NONE 0 0
n)78 0 0 0 0---- 0NONE 0 0
o)79 0 0 0 0---- 0NONE 0 0
p)80 0 0 0 0---- 0NONE 0 0
80 files on disk.
1346 sectors used
!!!!!!!!!!!!!!"""""""""""#$$$$%%%%%%%%%%
%%%%<<<<<<<<&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&<<<<
<<<<''''''''''''''''''''''''''''''''''''
''''''''''''''<<<<<<<<((((((((<<<<<<<<))
))))))))))))<<<<<<<<*<<<<<<<<+++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++<<
<<<<<<<<<<<<<<,,,,,,,,,,,,,,<<<<<<<<<<<<
<<<<------------------------------------
----------------------------------------
----------------------------------------
-------------<<<<<<<<.....<<<<<<<</<<<<<
<<<0000000000000000000000000000000000000
000000000000000000000000000<<<<<<<<<<<<<
<<11111111111111111111111111111111111111
11111111111111111111111111<<<<<<<<222222
2222222222222222222222222222222222222222
2222<<<<<<<<33333333<<<<<<<<444444444444
44<<<<<<<<5<<<<<<<<666666666666666666666
6666666666666666666666666666666666666666
6666666666666666666666666666666666666666
6666666666666666666666666666<<<<<<<<<<<<
<<<<77777777777777<<<<<<<<<<<<<<<<888888
8888888888888888888888888888888888888888
8888888888888888888888888888888888888888
8888888888888888888888888888888888888888
888<<<<<<<<99999<<<<<<<<:<<<<<<<<;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;<<<<<<<<=====>>>>>?????
?????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@|||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
Re: link about Disciple and +D
This program has piqued my interest today. I've downloaded the code and I've been able to compile this code with z88dk and have run it on a real zx spectrum tonight after making a few changes:
1. Using -ndos would link in the fake file io, so no .dsk images would ever open successfully. If swapped that param for -esxdos instead, so I can test on my real spectrum with a divmmc interface and esxdos
2. In the code there were some mixups between char pointers, char arrays and arrays of char pointers. I changed those also (plus any other warnings gcc or zcc gave me)
3. The zcc command didn't specify how much memory to use for the heap, so _heap wasn't defined. I added a command param of -DAMALLOC2 to give the program half the available ram for the heap.
4. As far as I know creating .tap files for the zx spectrum, you can't pass args to main. I've added some code to prompt for the name of the file to load at startup.
The .tap output runs successfully from esxdos on my +3, but the list of output files read from the disk image seems wrong. Maybe there's some integer size mismatch comparing gcc to zcc that affects the output?
Here's a link to my updated files in .zip form: https://github.com/pjshumphreys/files/b ... p?raw=true
1. Using -ndos would link in the fake file io, so no .dsk images would ever open successfully. If swapped that param for -esxdos instead, so I can test on my real spectrum with a divmmc interface and esxdos
2. In the code there were some mixups between char pointers, char arrays and arrays of char pointers. I changed those also (plus any other warnings gcc or zcc gave me)
3. The zcc command didn't specify how much memory to use for the heap, so _heap wasn't defined. I added a command param of -DAMALLOC2 to give the program half the available ram for the heap.
4. As far as I know creating .tap files for the zx spectrum, you can't pass args to main. I've added some code to prompt for the name of the file to load at startup.
The .tap output runs successfully from esxdos on my +3, but the list of output files read from the disk image seems wrong. Maybe there's some integer size mismatch comparing gcc to zcc that affects the output?
Here's a link to my updated files in .zip form: https://github.com/pjshumphreys/files/b ... p?raw=true
Re: link about Disciple and +D
Hi, first thank you for making those changes, although some are to much or to soon.
I wondered myself if i would be able to use it on a real ZX and you just have proven that. cheers, and the size is only half of the PC version.
First remark is that its aimed on DISCiPLE images and YOU WONT FIND THEM as dsk images, those are PLUS -D only, that is a pitty. and i am pretty sure about it becouse severall years ago, on wos-forum, i asked about it. probably your test.dsk will not be accurate on a SAM or +D.
the difference between DISCiPLE and PLUS-D are the directory placement and this is a realy big problem after all.
btw, i have to REname your effort to 'zxmgtDD243' else i will overwrite my own file!
and you binary is a realy z80 file aswell like the tap, then its better to give them clear distinctive names, i supose.
Further you do/show some small changes which i have to rechew a few times,eg open file "rb", read Binary?
its that why you removed those 'unsigned' markings? And you remove FILE* at the second(+) file opening.
the original DISCiPLE handle 1 sided disks, thats why i have made the part with Doublesided and Doubledensity defined,
not very good yet, but for the future. i concider using the same variable names as in included by mgt.d in z88dk/src/appmake/mgt.c
my vars
Actualy the 5-1/2 disk was used aswell, i think with mgt-rom1
and about all those pointers you removed? some where it worked like that. i still dont realy have that understanding when why what.
thats the whole pointer... still chewing a bit on that.
btw, what a huge map that is
I wondered myself if i would be able to use it on a real ZX and you just have proven that. cheers, and the size is only half of the PC version.
First remark is that its aimed on DISCiPLE images and YOU WONT FIND THEM as dsk images, those are PLUS -D only, that is a pitty. and i am pretty sure about it becouse severall years ago, on wos-forum, i asked about it. probably your test.dsk will not be accurate on a SAM or +D.
the difference between DISCiPLE and PLUS-D are the directory placement and this is a realy big problem after all.
But on my PC version off mgtDD243 'test.dsk' works good!on PC aka crossover disk format a common *.IMG is used for the DISCiPLE
track side 1 track side 2
0 directory 128 free
1 directory 129 free
2 directory 130 free
3 directory 131 free
4 free 132 free
5 free 133 free
. .. . ..
79 free 207 free
number gab to side 2 by adding bit 7
while images with *.MGT or *.DSK are the +D and Sam Coupe format.
while the directory IS AT 2 SIDES ??
is the track NUMBER identical ???
track side 1 track side 2
0 directory 128 directory
1 directory 129 directory
2 free 130 free
3 free 131 free
. .. . ..
79 free 207 free
// number gab to side 2 by adding bit 7
// or does the track +D/SAM numbering flips side ASWELL ??
// track side 1 track side 2
// 0 directory 1 directory
// 2 directory 3 directory
// 4 free 5 free
// 6 free 7 free
// . .. . ..
// 78 free 79 free
// number gab bit7 number gab bit7
//128 free 129 free
// . .. . ..
//206 free 207 free
btw, i have to REname your effort to 'zxmgtDD243' else i will overwrite my own file!
and you binary is a realy z80 file aswell like the tap, then its better to give them clear distinctive names, i supose.
Further you do/show some small changes which i have to rechew a few times,eg open file "rb", read Binary?
its that why you removed those 'unsigned' markings? And you remove FILE* at the second(+) file opening.
the original DISCiPLE handle 1 sided disks, thats why i have made the part with Doublesided and Doubledensity defined,
not very good yet, but for the future. i concider using the same variable names as in included by mgt.d in z88dk/src/appmake/mgt.c
my vars
Code: Select all
const int DDensity = 2 ; // single density=1 double density =2
const int DSides = 2 ; // singleside=1 doubleside=2
const int direntry=256 ; // LENGTH of 1 directory entry is 256 bytes, DD=512= 2 entries on 1 sector
const int sector_ln=256 ; // standard length ?? 3_1/2 =256 5_1/4 =128
const int sectorsize=sector_ln * DDensity ; // 1 sector=512 bytes max
const int tracksize=10 ; // 1 track = 10 sectors
const int dirlen=DDensity*DSides ;
const int directorysize=DDensity*dirlen*tracksize ; // amount off tracks 4 tracks = 4 * 10 * DDensity
const int disc_DsDD=40 * DDensity * DSides ; // 80 tracks Double Sided Double Density=160tracks
// tracks are numbered side 1=0-79 and with bit 7 SET side 2=128-207
and about all those pointers you removed? some where it worked like that. i still dont realy have that understanding when why what.
thats the whole pointer... still chewing a bit on that.
btw, what a huge map that is
Re: link about Disciple and +D
As far as I know, the .dsk file extension is used by lots of different file formats for many different computer systems. The only commonality between these different formats is the file contents always represent the bytes that would be present on a real disk somehow.
I just coped and renamed one of your disk images to test.dsk so it would be easier for me to type on the speccy.
I removed the 'unsigned' markings as according to the C standard char can either be signed or unsigned. Whether they are signed or not is left up to the authors of the compiler you're using. All the standard library functions are specified to work in terms of just 'char' so if you were to make your variables unsigned char you would have to typecast them or you might get undefined behaviour otherwise. The only times when it matters whether they're signed of not is when you use them with the operators <, >, <= or >= so I prefer to just cast them to unsigned char at those times specifically.
Also, I've had a little trouble in the past with z88dk evaluating expressions at compile time. Therefore I try to calculate them myself and put the resultant value into the source code directly.
Finally, I removed the second FILE * as you've already defined the variable further up in the function. The second occurrence you only need to set its value with a second fopen.
I just coped and renamed one of your disk images to test.dsk so it would be easier for me to type on the speccy.
I removed the 'unsigned' markings as according to the C standard char can either be signed or unsigned. Whether they are signed or not is left up to the authors of the compiler you're using. All the standard library functions are specified to work in terms of just 'char' so if you were to make your variables unsigned char you would have to typecast them or you might get undefined behaviour otherwise. The only times when it matters whether they're signed of not is when you use them with the operators <, >, <= or >= so I prefer to just cast them to unsigned char at those times specifically.
Also, I've had a little trouble in the past with z88dk evaluating expressions at compile time. Therefore I try to calculate them myself and put the resultant value into the source code directly.
Finally, I removed the second FILE * as you've already defined the variable further up in the function. The second occurrence you only need to set its value with a second fopen.
Re: link about Disciple and +D
excluding the DISCiPLE variant which is original an disk IMaGe aswell, but i think the *.img is captured as picture image nowadays.nuc1e0n wrote: ↑Sun Feb 13, 2022 12:53 pm As far as I know, the .dsk file extension is used by lots of different file formats for many different computer systems. The only commonality between these different formats is the file contents always represent the bytes that would be present on a real disk somehow.
(..)
my linux, deb10, mentions the *.IMG as a "Raw disc image"
btw does the exsdos has to do with TRD, since is a different disk type as well, although close to MGT afaik.
https://worldofspectrum.org/forums/disc ... ent_975892
Re: link about Disciple and +D
DISCIPLE *.img
VERSUS
+D plusD *.mgt *.dsk
THEY READ EACH OTHER [YES]
THEY WRITE EACH OTHER [NO]
THEY CAN NOT
i repeat
THEY CAN NOT WRITE EACH OTHER
NO NO NO
the bitmap differs AND the use of the sides DIFFER
if you WRITE YOU DESTROY THE FILES
some will disapear for HALF since they will be overwritten
WRITING IS DESTROYING FOR REAL !!
VERSUS
+D plusD *.mgt *.dsk
THEY READ EACH OTHER [YES]
THEY WRITE EACH OTHER [NO]
THEY CAN NOT
i repeat
THEY CAN NOT WRITE EACH OTHER
NO NO NO
the bitmap differs AND the use of the sides DIFFER
if you WRITE YOU DESTROY THE FILES
some will disapear for HALF since they will be overwritten
WRITING IS DESTROYING FOR REAL !!
Last edited by cborn on Sun Feb 13, 2022 2:08 pm, edited 1 time in total.
Re: link about Disciple and +D
Sorry I'm not really familiar with these disk formats. Sorry if I mixed them up.
esxdos is a modern system that allows the speccy to directly read and write files on a fat32 formatted sd card, provided you have a supported sd card reader plugged into the expansion slot of the speccy (such a a divmmc interface).
z88dk has facilities to compile programs for the speccy where the standard stdio functions (fopen, fprintf et al) are routed through to call the esxdos equivalents internally. z88dk also can hook the stdio functions to other filesystem interfaces instead, such as the dos on a spectrum +3 (plus3dos), or the zx microdrive. The name of this interface used internally by z88dk is fcntl.
esxdos does provide some emulation of .trd disk images, which was the disk format used by the tr-dos system used by the beta disk interface. tr-dos was popular with spectrum clone computers in former soviet countries in the 1990s.
I don't think esxdos provides emulation of mgt or disciple format disk images. Hence why I thought something like that was the goal of your current project.
esxdos is a modern system that allows the speccy to directly read and write files on a fat32 formatted sd card, provided you have a supported sd card reader plugged into the expansion slot of the speccy (such a a divmmc interface).
z88dk has facilities to compile programs for the speccy where the standard stdio functions (fopen, fprintf et al) are routed through to call the esxdos equivalents internally. z88dk also can hook the stdio functions to other filesystem interfaces instead, such as the dos on a spectrum +3 (plus3dos), or the zx microdrive. The name of this interface used internally by z88dk is fcntl.
esxdos does provide some emulation of .trd disk images, which was the disk format used by the tr-dos system used by the beta disk interface. tr-dos was popular with spectrum clone computers in former soviet countries in the 1990s.
I don't think esxdos provides emulation of mgt or disciple format disk images. Hence why I thought something like that was the goal of your current project.
Re: link about Disciple and +D
The DISCiPLE, +D and SAM Coupé all use the same format for their default DOS, tracks 0 - 3 of side 0. They are interchangeable.
- DISCiPLE disassembly
- samdos disassembly
The DISCiPLE was MGT's first disk interface for the ZX Spectrum, you could use any disk drive with, single sided, double sided, 40 tracks per side, 80 tracks per side, 5.25" or 3.5". So without complicating the directory handling to deal with the disk geometry, it made sense to keep things simple, first 4 tracks on side 0 works for all.
How an img / mgt / dsk / whatever format handles the layout of any disk internally is another matter.
- DISCiPLE disassembly
- samdos disassembly
The DISCiPLE was MGT's first disk interface for the ZX Spectrum, you could use any disk drive with, single sided, double sided, 40 tracks per side, 80 tracks per side, 5.25" or 3.5". So without complicating the directory handling to deal with the disk geometry, it made sense to keep things simple, first 4 tracks on side 0 works for all.
How an img / mgt / dsk / whatever format handles the layout of any disk internally is another matter.
Re: link about Disciple and +D
NOPE, i disagree fully.
DISCiPLE 0-3
http://www.cborn.nl/zxfiles/MKdisk_DD_0037.IMG
Code: Select all
./mgtDD243 mkdisk+d_0037.mgt
This diskimage reader is for MGT DISCiPLE DISC formatted disks only , version: ./mgtDD243
reading the Directory only:
Number of files passed: 1
- 1- mkdisk+d_0037.mgt
Found: mkdisk+d_0037.mgt
filesize 819200
.)No |Filename |Track |Sector>Amount |Block |Type | LOAD@|blocklen|param1 |param2 |param3 |Erased|
!) 1 +SYS 2a 4 1 14 3CODE 4 4CODE 8192 6656
") 2 CONFIG 5 5 32 0BAS 1 1BAS 23755 15975 | 15552 + 423 LINE 9100
#) 3 CONFIG1_C 8 7 4 3CODE 4 4CODE 40300 1750
$) 4 CONFIG2_C 9 1 14 3CODE 4 4CODE 42240 6656
%) 5 CONFIG3_C 10 5 1 3CODE 4 4CODE 49000 60
&) 6 MKdiskDD_1 11 4 64 0BAS 1 1BAS 24542 32233 | 2482 + 29751
') 7 data x _1 18 6 50 1D.AR 2 2D.AR 31747 25003 | DATA X()
() 8 data z$ _1 24 4 8 2$.AR 3 3$.AR 27709 4035 | DATA Z$()
)) 9 Screen _1 25 10 14 3CODE 4 4CODE 16384 6912
*)10 self_RUN_1 28 2 1 3CODE 4 4CODE 16384 1 | autostart 16384
+)11 snap 48k_1 29 1 129 255 ? 5 5SN48 65535 65535
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
,)12 Screen$ _1 43 6 14 3CODE 7 7SCR$ 16384 6912
-)13 snap128k_1 46 6 129 255 ? 9 9SN28 65535 65535
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
.)14 Test.OUT.1 60 3 5 0BAS 1010OPEN 0 2135 | 2135
/)15 NOT exec_1 61 6 1 0BAS 1111EXEC 0 0
0)16 MKdiskDDL1 62 5 64 0BAS 1 1BAS 24542 32389 | 2482 + 29907 LINE 1
1)17E MKdiskDD_2 70 4 64 0BAS 0 0NONE 24542 32428 ERASED
2)18E data x _2 77 6 50 1D.AR 0 0NONE 31743 25003 ERASED
3)19E data z$ _2 131 4 8 2$.AR 0 0NONE 27705 4035 ERASED
4)20E Screen _2 132 10 14 3CODE 0 0NONE 16384 6912 ERASED
5)21 0 0 0 0---- 0 0NONE 0 0
6)22 0 0 0 0---- 0 0NONE 0 0
7)23 0 0 0 0---- 0 0NONE 0 0
8)24 0 0 0 0---- 0 0NONE 0 0
9)25 0 0 0 0---- 0 0NONE 0 0
:)26 0 0 0 0---- 0 0NONE 0 0
;)27 0 0 0 0---- 0 0NONE 0 0
<)28 0 0 0 0---- 0 0NONE 0 0
=)29 0 0 0 0---- 0 0NONE 0 0
>)30 0 0 0 0---- 0 0NONE 0 0
?)31 0 0 0 0---- 0 0NONE 0 0
@)32 0 0 0 0---- 0 0NONE 0 0
A)33 0 0 0 0---- 0 0NONE 0 0
B)34 0 0 0 0---- 0 0NONE 0 0
C)35 0 0 0 0---- 0 0NONE 0 0
D)36 0 0 0 0---- 0 0NONE 0 0
E)37 0 0 0 0---- 0 0NONE 0 0
F)38 0 0 0 0---- 0 0NONE 0 0
G)39 0 0 0 0---- 0 0NONE 0 0
H)40 0 0 0 0---- 0 0NONE 0 0
I)41E self_RUN_2 135 2 1 3CODE 0 0NONE 16384 1 ERASED
J)42E snap 48k_2 136 1 129 255 ? 0 0NONE 65535 65535 ERASED
K)43E Screen$ _2 150 6 14 3CODE 0 0NONE 16384 6912 ERASED
L)44E snap128k_2 153 6 129 255 ? 0 0NONE 65535 65535 ERASED
M)45 Test.OUT.2 167 3 5 0BAS 1010OPEN 0 2135 | 2135
N)46 NOT exec_2 168 6 1 0BAS 1111EXEC 0 0
O)47E MKdiskDDL2 169 5 64 0BAS 0 0NONE 24542 32428 ERASED
P)48 DisK#15 10 6 223 0BAS 1010OPEN 0 113238 | 113238
Q)49 MKdiskDD3 176 7 5 0BAS 1 1BAS 23755 2482 | 2482 + 0
R)50 MKdiskDD4 177 2 5 0BAS 1 1BAS 23755 2482 | 2482 + 0 LINE 9999
S)51 Snap1K 177 7 14 3CODE 7 7SCR$ 16384 6912
T)52 Snap1L 179 1 97 0BAS 5 5SN48 0 0
REGISTERS: reg_hl 26255 reg_de 26260 reg_bc 0 reg_if 68 reg_ix 979 reg_iy23610
reg_hl2 4223 reg_de2 13979 reg_bc2 5665 reg_if2 65 reg_sp 65520
U)53 0 0 0 0---- 0 0NONE 0 0
V)54 0 0 0 0---- 0 0NONE 0 0
W)55 0 0 0 0---- 0 0NONE 0 0
X)56 0 0 0 0---- 0 0NONE 0 0
Y)57 0 0 0 0---- 0 0NONE 0 0
Z)58 0 0 0 0---- 0 0NONE 0 0
[)59 0 0 0 0---- 0 0NONE 0 0
\)60 0 0 0 0---- 0 0NONE 0 0
])61 0 0 0 0---- 0 0NONE 0 0
^)62 0 0 0 0---- 0 0NONE 0 0
_)63 0 0 0 0---- 0 0NONE 0 0
`)64 0 0 0 0---- 0 0NONE 0 0
a)65 0 0 0 0---- 0 0NONE 0 0
b)66 0 0 0 0---- 0 0NONE 0 0
c)67 0 0 0 0---- 0 0NONE 0 0
d)68 0 0 0 0---- 0 0NONE 0 0
e)69 0 0 0 0---- 0 0NONE 0 0
f)70 0 0 0 0---- 0 0NONE 0 0
g)71 0 0 0 0---- 0 0NONE 0 0
h)72 0 0 0 0---- 0 0NONE 0 0
i)73 0 0 0 0---- 0 0NONE 0 0
j)74 0 0 0 0---- 0 0NONE 0 0
k)75 0 0 0 0---- 0 0NONE 0 0
l)76 0 0 0 0---- 0 0NONE 0 0
m)77 0 0 0 0---- 0 0NONE 0 0
n)78 0 0 0 0---- 0 0NONE 0 0
o)79 0 0 0 0---- 0 0NONE 0 0
p)80 0 0 0 0---- 0 0NONE 0 0
80 files on disk.
1367 sectors used
!!!!!!!!!!!!!!""""""""""""""""""""""""""
""""""####$$$$$$$$$$$$$$%PPPPPPPP&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&PPPPPPPP'''''''''''''''
'''''''''''''''''''''''''''''''''''PPPPP
PPP((((((((PPPPPPPP))))))))))))))PPPPPPP
P*PPPPPPPP++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++PPPPPPPPPPPPPPPP,,,,,
,,,,,,,,,PPPPPPPPPPPPPPPP---------------
----------------------------------------
----------------------------------------
----------------------------------PPPPPP
PP.....PPPPPPPP/PPPPPPPP0000000000000000
0000000000000000000000000000000000000000
00000000PPPPPPPPPPPPPPP11111111111111111
1111111111111111111111111111111111111111
1111111PPPPPPPP2222222222222222222222222
2222222222222222222222222PPPPPPPP3333333
3PPPPPPPP44444444444444PPPPPPPPIPPPPPPPP
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKP
PPPPPPPPPPPPPPPLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLPPPPPPPPMMMMMPPP
PPPPPNPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPP
PPPPPPQQQQQRRRRRSSSSSSSSSSSSSSTTTTTTTTTT
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
TTTTTTTTTTTTTTTTTTTTT|||||||T|||T|||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
Plus D 0+1, 128+129
http://www.cborn.nl/zxfiles/mkdisk_+d_0037.mgt
Code: Select all
./mgtDD243 mkdisk+d_0037.mgt
This diskimage reader is for MGT DISCiPLE DISC formatted disks only , version: ./mgtDD243
reading the Directory only:
Number of files passed: 1
- 1- mkdisk+d_0037.mgt
Found: mkdisk+d_0037.mgt
filesize 819200
.)No |Filename |Track |Sector>Amount |Block |Type | LOAD@|blocklen|param1 |param2 |param3 |Erased|
!) 1 +SYS 2a 4 1 14 3CODE 4 4CODE 8192 6656
") 2 CONFIG 5 5 32 0BAS 1 1BAS 23755 15975 | 15552 + 423 LINE 9100
#) 3 CONFIG1_C 8 7 4 3CODE 4 4CODE 40300 1750
$) 4 CONFIG2_C 9 1 14 3CODE 4 4CODE 42240 6656
%) 5 CONFIG3_C 10 5 1 3CODE 4 4CODE 49000 60
&) 6 MKdiskDD_1 11 4 64 0BAS 1 1BAS 24542 32233 | 2482 + 29751
') 7 data x _1 18 6 50 1D.AR 2 2D.AR 31747 25003 | DATA X()
() 8 data z$ _1 24 4 8 2$.AR 3 3$.AR 27709 4035 | DATA Z$()
)) 9 Screen _1 25 10 14 3CODE 4 4CODE 16384 6912
*)10 self_RUN_1 28 2 1 3CODE 4 4CODE 16384 1 | autostart 16384
+)11 snap 48k_1 29 1 129 255 ? 5 5SN48 65535 65535
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
,)12 Screen$ _1 43 6 14 3CODE 7 7SCR$ 16384 6912
-)13 snap128k_1 46 6 129 255 ? 9 9SN28 65535 65535
REGISTERS: reg_hl 0 reg_de 0 reg_bc 0 reg_if 0 reg_ix 0 reg_iy 0
reg_hl2 0 reg_de2 0 reg_bc2 0 reg_if2 0 reg_sp 0
.)14 Test.OUT.1 60 3 5 0BAS 1010OPEN 0 2135 | 2135
/)15 NOT exec_1 61 6 1 0BAS 1111EXEC 0 0
0)16 MKdiskDDL1 62 5 64 0BAS 1 1BAS 24542 32389 | 2482 + 29907 LINE 1
1)17E MKdiskDD_2 70 4 64 0BAS 0 0NONE 24542 32428 ERASED
2)18E data x _2 77 6 50 1D.AR 0 0NONE 31743 25003 ERASED
3)19E data z$ _2 131 4 8 2$.AR 0 0NONE 27705 4035 ERASED
4)20E Screen _2 132 10 14 3CODE 0 0NONE 16384 6912 ERASED
5)21 0 0 0 0---- 0 0NONE 0 0
6)22 0 0 0 0---- 0 0NONE 0 0
7)23 0 0 0 0---- 0 0NONE 0 0
8)24 0 0 0 0---- 0 0NONE 0 0
9)25 0 0 0 0---- 0 0NONE 0 0
:)26 0 0 0 0---- 0 0NONE 0 0
;)27 0 0 0 0---- 0 0NONE 0 0
<)28 0 0 0 0---- 0 0NONE 0 0
=)29 0 0 0 0---- 0 0NONE 0 0
>)30 0 0 0 0---- 0 0NONE 0 0
?)31 0 0 0 0---- 0 0NONE 0 0
@)32 0 0 0 0---- 0 0NONE 0 0
A)33 0 0 0 0---- 0 0NONE 0 0
B)34 0 0 0 0---- 0 0NONE 0 0
C)35 0 0 0 0---- 0 0NONE 0 0
D)36 0 0 0 0---- 0 0NONE 0 0
E)37 0 0 0 0---- 0 0NONE 0 0
F)38 0 0 0 0---- 0 0NONE 0 0
G)39 0 0 0 0---- 0 0NONE 0 0
H)40 0 0 0 0---- 0 0NONE 0 0
I)41E self_RUN_2 135 2 1 3CODE 0 0NONE 16384 1 ERASED
J)42E snap 48k_2 136 1 129 255 ? 0 0NONE 65535 65535 ERASED
K)43E Screen$ _2 150 6 14 3CODE 0 0NONE 16384 6912 ERASED
L)44E snap128k_2 153 6 129 255 ? 0 0NONE 65535 65535 ERASED
M)45 Test.OUT.2 167 3 5 0BAS 1010OPEN 0 2135 | 2135
N)46 NOT exec_2 168 6 1 0BAS 1111EXEC 0 0
O)47E MKdiskDDL2 169 5 64 0BAS 0 0NONE 24542 32428 ERASED
P)48 DisK#15 10 6 223 0BAS 1010OPEN 0 113238 | 113238
Q)49 MKdiskDD3 176 7 5 0BAS 1 1BAS 23755 2482 | 2482 + 0
R)50 MKdiskDD4 177 2 5 0BAS 1 1BAS 23755 2482 | 2482 + 0 LINE 9999
S)51 Snap1K 177 7 14 3CODE 7 7SCR$ 16384 6912
T)52 Snap1L 179 1 97 0BAS 5 5SN48 0 0
REGISTERS: reg_hl 26255 reg_de 26260 reg_bc 0 reg_if 68 reg_ix 979 reg_iy23610
reg_hl2 4223 reg_de2 13979 reg_bc2 5665 reg_if2 65 reg_sp 65520
U)53 0 0 0 0---- 0 0NONE 0 0
V)54 0 0 0 0---- 0 0NONE 0 0
W)55 0 0 0 0---- 0 0NONE 0 0
X)56 0 0 0 0---- 0 0NONE 0 0
Y)57 0 0 0 0---- 0 0NONE 0 0
Z)58 0 0 0 0---- 0 0NONE 0 0
[)59 0 0 0 0---- 0 0NONE 0 0
\)60 0 0 0 0---- 0 0NONE 0 0
])61 0 0 0 0---- 0 0NONE 0 0
^)62 0 0 0 0---- 0 0NONE 0 0
_)63 0 0 0 0---- 0 0NONE 0 0
`)64 0 0 0 0---- 0 0NONE 0 0
a)65 0 0 0 0---- 0 0NONE 0 0
b)66 0 0 0 0---- 0 0NONE 0 0
c)67 0 0 0 0---- 0 0NONE 0 0
d)68 0 0 0 0---- 0 0NONE 0 0
e)69 0 0 0 0---- 0 0NONE 0 0
f)70 0 0 0 0---- 0 0NONE 0 0
g)71 0 0 0 0---- 0 0NONE 0 0
h)72 0 0 0 0---- 0 0NONE 0 0
i)73 0 0 0 0---- 0 0NONE 0 0
j)74 0 0 0 0---- 0 0NONE 0 0
k)75 0 0 0 0---- 0 0NONE 0 0
l)76 0 0 0 0---- 0 0NONE 0 0
m)77 0 0 0 0---- 0 0NONE 0 0
n)78 0 0 0 0---- 0 0NONE 0 0
o)79 0 0 0 0---- 0 0NONE 0 0
p)80 0 0 0 0---- 0 0NONE 0 0
80 files on disk.
1367 sectors used
!!!!!!!!!!!!!!""""""""""""""""""""""""""
""""""####$$$$$$$$$$$$$$%PPPPPPPP&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&PPPPPPPP'''''''''''''''
'''''''''''''''''''''''''''''''''''PPPPP
PPP((((((((PPPPPPPP))))))))))))))PPPPPPP
P*PPPPPPPP++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++PPPPPPPPPPPPPPPP,,,,,
,,,,,,,,,PPPPPPPPPPPPPPPP---------------
----------------------------------------
----------------------------------------
----------------------------------PPPPPP
PP.....PPPPPPPP/PPPPPPPP0000000000000000
0000000000000000000000000000000000000000
00000000PPPPPPPPPPPPPPP11111111111111111
1111111111111111111111111111111111111111
1111111PPPPPPPP2222222222222222222222222
2222222222222222222222222PPPPPPPP3333333
3PPPPPPPP44444444444444PPPPPPPPIPPPPPPPP
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKP
PPPPPPPPPPPPPPPLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLPPPPPPPPMMMMMPPP
PPPPPNPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPP
PPPPPPQQQQQRRRRRSSSSSSSSSSSSSSTTTTTTTTTT
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
TTTTTTTTTTTTTTTTTTTTT|||||||T|||T|||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||
Re: link about Disciple and +D
that edit time is to short for me, i made a txt file from both type:
fuse emulator : DISCiPLE track 0-3
http://www.cborn.nl/zxfiles/MKdisk_DD_0037.IMG
http://www.cborn.nl/zxfiles/MKdisk_DD_0037.TXT
fuse emulator: PlusD track 0+1, 128+129
http://www.cborn.nl/zxfiles/mkdisk_+d_0037.mgt
http://www.cborn.nl/zxfiles/mkdisk_+d_0037.txt
test them both in mgt, mgtman and mgtDD please
in ABOVE post i did MIX UP THE TXT FILES, now they are in correct order
PS
my file counting is still not correct! hmmmmm
fuse emulator : DISCiPLE track 0-3
http://www.cborn.nl/zxfiles/MKdisk_DD_0037.IMG
http://www.cborn.nl/zxfiles/MKdisk_DD_0037.TXT
fuse emulator: PlusD track 0+1, 128+129
http://www.cborn.nl/zxfiles/mkdisk_+d_0037.mgt
http://www.cborn.nl/zxfiles/mkdisk_+d_0037.txt
test them both in mgt, mgtman and mgtDD please
in ABOVE post i did MIX UP THE TXT FILES, now they are in correct order
PS
my file counting is still not correct! hmmmmm
Re: link about Disciple and +D
For a realy correct check up actualy a REAL +D and a REAL DISCiPLE disk should be copied with a real 720k drive with eg the linux command 'dd' to duplicate those discs. (hmm disc or disk ?? another mystery)
now i see a little danger since 'dd' is very powerfull and the common abbreviation for DisipleDisk is DD agianst +D or PD
slim chance something will happen with it, yet its good to know.
now i see a little danger since 'dd' is very powerfull and the common abbreviation for DisipleDisk is DD agianst +D or PD
slim chance something will happen with it, yet its good to know.
Re: link about Disciple and +D
Just checked the plus d disassembly, it is also using tracks 0 to 3 of the first side for the directory.
unidos also uses tracks 0 to 3 of the first side for the directory.
If you open your mgt image with Fuse with +D connected and boot (G+DOS2A), CAT 1 shows:
files 1 - 16
files 25 - 26
files 28 - 32
This is identical to what SimCoupe shows and also to what SCADM shows and also mgtman will only read tracks 0-3 of the first side. If I view the contents of tracks 0-3 they contain the directory. Tracks 128-131 do not contain anything that looks like a directory.
If I open your img file which is supposedly a sys3b DISCiPLE disk, that has sectors that look like directory entries on side 2, but :
unidos also uses tracks 0 to 3 of the first side for the directory.
If you open your mgt image with Fuse with +D connected and boot (G+DOS2A), CAT 1 shows:
files 1 - 16
files 25 - 26
files 28 - 32
This is identical to what SimCoupe shows and also to what SCADM shows and also mgtman will only read tracks 0-3 of the first side. If I view the contents of tracks 0-3 they contain the directory. Tracks 128-131 do not contain anything that looks like a directory.
If I open your img file which is supposedly a sys3b DISCiPLE disk, that has sectors that look like directory entries on side 2, but :
- where did you get this image?
- with which DOS was it created?
Re: link about Disciple and +D
From experience I agree with Stefan. I had a DISCiPLE (well still have, whether it works is another matter) and never had any issues reading +D discs and no one had any issues reading the discs that I wrote.
Likewise, the discs produced with DiSCDOS could be read without issues by both +D and DISCiPLE
Likewise, the discs produced with DiSCDOS could be read without issues by both +D and DISCiPLE
Re: link about Disciple and +D
Perhaps the order the tracks and sides are stored in is different comparing one file type to another? Even if the layout on the original disks is still the same?