Login
Back to forumSee the full topicGo to last reply

Posted By

BSZ
on 2023-07-25
12:44:24
 Re: Trackloader For The Masses, Not The Classes

@Siz: This is also a good solution, but there are problems with it. For example, the user loads the boot file from unit 9, then execute DIRECTORY command from unit 8, then RUN the loaded boot file. The above solution is then confused. Of course we can say that the user should not do this! grin This problem can be worked around with an autostart boot file, but many people don't like that. Fine by me, but it is true that on plus/4, LOAD "*",8,1 is more difficult than SHIFT+RUN/STOP. happy

One of the fixes is related to this: programmers typically pack the boot file. (Quite rightly!) BF's own compressor is suitable for this purpose: bitnax (BF own packer) can create a self-extracting file. But at runtime, the unpacking code overwrites - not very elegantly - a significant part of the ZP (incl. $AE). Therefore, I have added to the sfx code to preserve this memory content. But... The programmer may use another packer for this purpose, which may have the same problem.

The original C64 version solved this very simply: because of the 2-bit transmission, only one device can be on the bus. If more devices were found during the scan, the user was asked to fix the problem. grin If only one device is present, it should be used. happy But with plus/4, the complications have started: for example, a 1551 does not cause any problem in 1541 with 2 bit transfer. The full chaos starts with SD2IEC: there is no problem with multiple devices on the serial bus. grin

The current program does is check and count the devices on startup. If you find only one device and it is supported, use it. In all other cases, the drive selector UI is launched. The last used drive will be selected, the user just has to confirm it.

This drive selector code has become quite complicated, may want to make a simpler one in the future. I have tried to make it in a way that is easy to replace, whether or not I succeeded, I will find out when I try. grin



Back to top


Copyright © Plus/4 World Team, 2001-2024