Delicon Posted March 29, 2006 Share Posted March 29, 2006 Does any one know if there are any areas of zero page that are free? Are there any areas where the data bus is not driven? Thanks, Vern Quote Link to comment Share on other sites More sharing options...
Kroko Posted March 29, 2006 Share Posted March 29, 2006 Does any one know if there are any areas of zero page that are free? These should be free for both reading and writing: $2E, $2F, 3E,3F, $6E, $6F,$7E and $7F Are there any areas where the data bus is not driven? I am not 100% sure what happens if you make a read access to these spots. But I am quite sure, that these spots are the only ones which COULD probably not be driven by the TIA if you read from them. I think for all other spots, at least some of the bits are driven ... Armin Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted March 29, 2006 Share Posted March 29, 2006 (edited) You might look here: http://www.atariage.com/forums/index.php?showtopic=68988 Or have a look at these docs: tia_map.txtriot_map.txtmem_map_1.txtmem_map_2.txt Looks like zp locations $2E, $2F, $3E, $3F and $6E, $6F, $7E, $7F are undefined for reads and writes. $xE, $xF are undefined for reads. $2D-$3F and $6D-$7F are undefined for writes. I am not 100% sure what happens if you make a read access to these spots.But I am quite sure, that these spots are the only ones which COULD probably not be driven by the TIA if you read from them. I think for all other spots, at least some of the bits are driven ... I don't think the TIA drives any undefined bits, but based on the difficulties I had with Reindeer Rescue, it seems that the hardware and/or the cart, or some combinations of those, will drive the undefined bits in certain directions. Edited March 29, 2006 by vdub_bobby Quote Link to comment Share on other sites More sharing options...
Delicon Posted March 29, 2006 Author Share Posted March 29, 2006 Thanks a ton guys, that helps. It looks as though the only safe areas would be in the TIA. As far as it driving the bus, I think the only way to be sure is to take the chip out and put a couple addresses on the bus. I think it might be worth it to look deeper into this. My gut says it drives all addresses, because it would have taken extra logic just to handle those couple special addresses, more logic means more money. And the name of the game is spending as little money as possible. Vern Quote Link to comment Share on other sites More sharing options...
supercat Posted March 31, 2006 Share Posted March 31, 2006 It looks as though the only safe areas would be in the TIA. As far as it driving the bus, I think the only way to be sure is to take the chip out and put a couple addresses on the bus. I think it might be worth it to look deeper into this. My gut says it drives all addresses, because it would have taken extra logic just to handle those couple special addresses, more logic means more money. And the name of the game is spending as little money as possible. The TIA drives D6-D7 during the second half of any read cycle to address xxx0 xxxx 0xxx xxxx. Even in the addresses $xxE and $xxF the bits are driven even though there are no useful registers there. The TIA never drives bits D0-D5 of any address, so it would be possible to have hardware generate low-bit data at those addresses (e.g. one could read the audio data for a Pitfall-II style music player from there, saving a cycle per scanline). There is one important caveat, however: if a cartridge is going to be 7800-compatible, it must not output anything on the bus during TIA cycles until it has started actually running code in 2600 mode. My original design for 4A50 allowed banking registers to be read from zero-page addresses, but that was canned because it made the 7800 crash on power-up. 'Course that just let me put in something better. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.