![]() |
loading files from +3 dsk - Printable Version +- Forum (https://www.boriel.com/forum) +-- Forum: Compilers and Computer Languages (https://www.boriel.com/forum/forumdisplay.php?fid=12) +--- Forum: ZX Basic Compiler (https://www.boriel.com/forum/forumdisplay.php?fid=11) +---- Forum: Help & Support (https://www.boriel.com/forum/forumdisplay.php?fid=16) +---- Thread: loading files from +3 dsk (/showthread.php?tid=1189) |
loading files from +3 dsk - nitrofurano - 08-07-2021 recently i was trying this https://worldofspectrum.org/forums/discussion/57668/how-can-we-load-3dos-files-in-assembly is there some more efficient way, that works? all my examples there were totally made on ZX-Basic Compiler - i'm now stuck in the last one, i only can load one file when it was supposed to load more... RE: loading files from +3 dsk - boriel - 08-08-2021 (08-07-2021, 09:39 PM)nitrofurano Wrote: recently i was trying this I see you're using just plain assembler. You should remove the asm... end asmlines and assemble directly with zxbasm (bundled with the compiler) to discard it's not a bug in the assembler code. Once this works, we can debug the rest. Remember ZX Basic adds a little header when compiler. You can use also --headerlessso no ASM prologe will be added, to discard some interaction. Someone did a +3 Filebrowser in the past, but it's no longer online ![]() https://www.boriel.com/forum/showthread.php?tid=529&pid=3334#pid3334 Perhaps you can contact him so we can rescue the listing? RE: loading files from +3 dsk - nitrofurano - 08-08-2021 assembly was just the starting point, and that seems okay for now the problem is on the last example, using asm..endasm inside sub..endsub, so i guess it's now more difficult to have it back as asm only... Code: sub specpls3loaddskfile(tfnmad1 as uinteger,tadr1 as uinteger,tlng1 as uinteger) the code is a "mess", but it is working a bit better than it was - it had a bug related to ix register that seems to cause some interference with +3 loading bios routines (no idea why and what caused that) and now, that code above is only working one time, not all the times i need it to work (like a slideshow, for example) - this is the bug i was talking about about Bch, sad that the file was deleted (and mediafire is known as crappiest file host "service" around), and the video there were also removed, so i also wonder how easily can Bch be contacted RE: loading files from +3 dsk - boriel - 08-09-2021 (08-08-2021, 02:10 PM)nitrofurano Wrote: assembly was just the starting point, and that seems okay for now IX register is used as Base Pointer in ZX Basic, and you have to preserve it. Basically, do PUSH IX just after ASM, and finally POP IX just before END ASM: Code: sub specpls3loaddskfile(tfnmad1 as uinteger,tadr1 as uinteger,tlng1 as uinteger) Try this and tell me. ![]() RE: loading files from +3 dsk - nitrofurano - 08-15-2021 thanks, it works fine now, as mentioned at https://worldofspectrum.org/forums/discussion/comment/979780/#Comment_979780 ( https://drive.google.com/file/d/1vcvLSF94I6kwdy2wqh2wzv8jrbDscW37/view?usp=sharing ) - now i found a "bug" when trying to simulate a "multi-floppy game" (asking to swap the floppy and verify if the swapped floppy is correct) : https://drive.google.com/file/d/1K73rbaHLoKG9ss49JdBvU6tDyz_Gk-Lr/view?usp=sharing - the "goal" from this is, at most, there might be some dual-sided +3 games, but not truly multiple-disk games (just like those for Amiga and msx2) RE: loading files from +3 dsk - RandomiserUsr - 08-21-2021 What would be good is to allow the above to be called in ZX Basic via new commands? And all access to the 128K Ramdisk within ZX Basic |