Hi Uz, > The _curunit variable is part of the common CBM library, while the zeropage > variable is machine specific. And I'm not even sure that all CBM machines have > such a variable. This is of course nothing that prevents such a constructor, > it just complicates things. Which was probably the reason why the module that > defines _curunit does not also have such a constructor. I see. Now having access to the repository I notice the file cbm/filevars.s. I seems quite easy to "unshare" that file for the different CBM machines and provide an individual constructor for the machines with a well known current unit zeropage location. If the information in question can be brought up in this thread I'm willing to do the changes - if necessary. > The kernal has no such thing. You have to specify a unit each time, a file is > loaded. On the C64 there is just a variable where the kernal remembers the > unit from the last LOAD. It is not used for anything else (CBM hackers: please > correct me if this is wrong). I see. If there's no explicitly user-modifyable current unit then in my opinion performing all disk I/O by default on the same unit the program was loaded from is the best solution. According to some research in the net and verification with VICE the location is $BA both on the C64 and C128 (native mode). I'll add the setting of _curunit based on $BA to the Contiki framework until cc65 2.14 (hopefully) does this. Thanks for the CBM crash course, Oliver ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo@musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.Received on Wed Feb 3 22:55:46 2010
This archive was generated by hypermail 2.1.8 : 2010-02-03 22:55:48 CET