I disagree with adding this to the header since all these different configurations won't necessarily show up in an actual game. Remember that the header is not just for the convenience of using images with an emulator they are also there as historical documentation. For that reason I don't like the idea of providing features that may never be used in a game. If we start down this road we could end up with all kinds of bits in the header for special hardware configuration that may never get used.
If you want to have and emulator support this as a configuration option that is fine, but I don't like the idea of putting it into the header.
Dan
GroovyBee, on Mon Apr 5, 2010 7:02 AM, said:
How about the ability to put RAM anywhere in $0000 to $8000 in chunks of 1K? I'm thinking of defining 4 bytes to do something like this :-
00000000 00000000 00000000 00000001 - 1K at $0400
00000000 00000000 00000000 00000010 - 1K at $0800
00000000 00000000 00000000 00000100 - 1K at $0C00
00000000 00000000 00000000 00001000 - 1K at $1000
00000000 00000000 00000000 00010000 - 1K at $1400
00000000 00000000 00000000 00100000 - 1K at $1800
00000000 00000000 00000000 01000000 - 1K at $1C00
00000000 00000000 00000000 10000000 - 1K at $2000
00000000 00000000 00000001 00000000 - 1K at $2400
00000000 00000000 00000010 00000000 - 1K at $2800
00000000 00000000 00000100 00000000 - 1K at $2C00
00000000 00000000 00001000 00000000 - 1K at $3000
00000000 00000000 00010000 00000000 - 1K at $3400
00000000 00000000 00100000 00000000 - 1K at $3800
00000000 00000000 01000000 00000000 - 1K at $3C00
00000000 00000000 10000000 00000000 - 1K at $4000
00000000 00000001 00000000 00000000 - 1K at $4400
00000000 00000010 00000000 00000000 - 1K at $4800
00000000 00000100 00000000 00000000 - 1K at $4C00
00000000 00001000 00000000 00000000 - 1K at $5000
00000000 00010000 00000000 00000000 - 1K at $5400
00000000 00100000 00000000 00000000 - 1K at $5800
00000000 01000000 00000000 00000000 - 1K at $5C00
00000000 10000000 00000000 00000000 - 1K at $6000
00000001 00000000 00000000 00000000 - 1K at $6400
00000010 00000000 00000000 00000000 - 1K at $6800
00000100 00000000 00000000 00000000 - 1K at $6C00
00001000 00000000 00000000 00000000 - 1K at $7000
00010000 00000000 00000000 00000000 - 1K at $7400
00100000 00000000 00000000 00000000 - 1K at $7800
01000000 00000000 00000000 00000000 - 1K at $7C00
Obviously some addresses would clash with the 7800's internal RAM. To map the RAM you want you just logical OR the values above together. So in Arts example of RAM at $4000 to $5FFF he'd need the following :-
00000000 01111111 10000000 00000000
or $00 $80 $7F $00
How about using header indexes 59, 60, 61 and 62 for this? If they are all $00 (the state for all games before this change) no extra RAM will be mapped in.
Edited by DanBoris, Tue Apr 6, 2010 2:12 PM.