Posted By
JamesC on 2017-06-02 12:45:05
| Re: There is something (or bug?) about YAPE (1.1.2b).
In reply to MMS - I do not know, is it not possible to identify, if the PRG is a BASIC one, and based on the [expected] know BASIC start address, load to THAT address the PRG?
If this change were made within the emulator proper (typing on the white screen), it would break compatibility with actual machines. It is the programmer's responsibility to keep in mind where BASIC memory space starts and ends, and ensure that they don't overwrite any other code when they load a file into memory.
For example, if I have a GRAPHIC program active (BASIC starting at $4001), I may want to load data to $1001; as long as it's under 2K then I won't overwrite an active screen. But if YAPE changes BASIC memory pointers on my behalf, I can no longer see my code at $4001.
YAPE already has a function to load to a specific memory address -- the .PRG simply has to be visible to the host OS (for most of us, the Windows file system). File > Load PRG (or press F8), tick the Custom Load box at the bottom of the dialogue window.
Anything stored as .D64 should work exactly as the actual hardware. When I want to load from a 1541/1551, I need to use DLOAD or LOAD ,8,1 as appropriate. YAPE should work identically.
Having said that: if you intended "can a programmer look at a file on disk, and know if it would normally load to $1001 or $4001?" .... yes. Look at the filetype (PRG) and the first two bytes of the file itself (either $1001 or $4001 for a Plus/4).
While this does not guarantee the file is a BASIC program (it could be a character set or other data), it would help the programmer determine if it -might- be executable code. But then we're back to the programmer knowing what they do with their code to begin with.
|