
Сообщение от
NEO SPECTRUMAN
что поделать когда trdos, мягко говоря, не идеален...
well.. replace it with something better? I would suggest to fork and fix it, but it's not open IIRC, the license is prohibitive... which brings me back to my lamenting about people using the most painful options available, causing harm to themselves and still even touting it as best/only option. Situations like this learned me to pick up my SW carefully and pay attention to licenses and source availability, and to value this strongly even over some neat features. Those help in short-term, but in long-term the closed stuff is just pain in ass, I definitely replace it whenever possible with more open options, even if I have to somewhat fix them (looking at you sjasmplus, costing me year+ of my life, instead of writing some ZXNext games ... sigh)
- - - Updated - - -

Сообщение от
zebest
В аттаче два файла,
my_Dizzy_test_128.trd, который я собирал руками и бейсик загрузчик 256 байт, и работает правильно, автозапускается, и второй файл, My_test2.zip , который собран средствами исключительно SJAsm-a,
Ok, now back to those two TRD files... the first disk contains the "80 AA 01 00" autostart bytes after the 250th byte of BASIC.
So changing your:
Код:
ORG $C000, 7 ; "page 7"
incbin "TRD/boot.B"
SAVETRD "my_test.trd","boot.B",$C000,$100,$1
to
Код:
ORG $C000, 7 ; "page 7"
incbin "TRD/boot.B"
SAVETRD "my_test.trd","boot.B",$C000,250,$1
*should* work... ... I'm going to try myself and edit this post if I fail... but I don't see any reason why it would not work.
EDIT:
so your original trd (with three letter extensions and autostart) on my disk is "orig.trd" (I renamed it to keep track which is which), and your sjasmplus produced is "sjasmplus.trd" ... I can assemble the two disc together (with current git master) with this code:
Код:
DEVICE ZXSPECTRUM1024
EMPTYTRD "ped.trd"
ORG 0 : INCTRD "orig.trd", "boot.B"
SAVETRD "ped.trd", "boot.B", 0, 250, 1
ORG 0 : INCTRD "sjasmplus.trd", "my_test.C"
SAVETRD "ped.trd", "my_test.bin", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "pent.C"
SAVETRD "ped.trd", "pent.scr", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "dizzy00.C"
SAVETRD "ped.trd", "dizzy00.pak", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "dizzy01.C"
SAVETRD "ped.trd", "dizzy_0.pak", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "dizzy02.C"
SAVETRD "ped.trd", "dizzy_1.pak", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "dizzy03.C"
SAVETRD "ped.trd", "dizzy_2.pak", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "dizzy04.C"
SAVETRD "ped.trd", "dizzy_3.pak", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "dizzy05.C"
SAVETRD "ped.trd", "dizzy04.pak", 0, $ ; ok
ORG 0 : INCTRD "sjasmplus.trd", "press.C"
SAVETRD "ped.trd", "press.scr", 0, $ ; ok
This is the result:
ped.trd.zip
Please try if it works... it is different in four bytes, the disc label in original has extra two spaces (sjasmplus keeps it only 8 chars long, not 10), and the two bytes in boot.B sector after the auto-start mark are also "00 00" from assembler, but your original disc has "35 36" there ... should be just garbage, not affecting anything, as far as I know.
BTW, why I do use INCTRD over both trd files to create this example? Because INCTRD in sjasmplus does not support 3-letter extensions, so I can't easily include the original files...
... irony..
Ok, that's maybe one more thing to fix before v1.15.1 release...