From: Nicolas Welte; address is valid for replies (Re:) only! (welte_spam_at_freenet.de)
Date: 2002-11-18 12:01:33
Marko Mäkelä wrote: > By the way, I'm just playing with the LOAD command. I wrote a 2-byte > "program" that invokes a 38400 bps fastloader in the 192-byte tape header > (by overwriting the $ffd2 indirection vector, of course). Nice idea, it's even better than what I silently wished: an autostarting cbmlink server program :-) BTW, there are several questions I have about cbmlink, and I fear the answer is no to all, I had a very quick look at the program sources: - on the PET, the server sits at the end of the BASIC memory. After the server is started, is the BASIC end adjusted to protect the server? - would it be possible to run the server from ROM? For this it must not use self modifying code, of course. On the other hand, loadable modules need RAM anyway, so I could simply write a simple copy routine that copies the server into RAM and starts it. > The program already > works on the VIC-20 and on the C64, and I'm planning to add support for > the C128, the 264 series and the PET series soon. For the PET, I'm afraid > I must create multiple versions, as the routine for restoring the vectors > might be located at different addresses. It could be possible to detect > that at run time, as there is plenty of space left, but there is another > problem as well: for load"",2, the tape buffer is at a different location, > as far as I know. I don't see much of a problem for the latter case, if you don't want to make it all automatically. So far the user also had to specify which tape port the device is connected to. But maybe you could write the fastloader in a relocatable way, using only relative branchs or including a short relocation table that patches the code before it is executed. Nicolas Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.4.