Is access to unpopulated address space "safe"?
Posted: Sun Oct 13, 2013 3:30 am
Hello all,
I'm hoping to finally spend a bit more time working on my 6502 system this weekend and over the beginning of next week (my last chance before November), but my current system is basically at the point of free-run, and my ability to program a ROM is somewhat embryonic at the moment, so I was figuring to proceed as follows:
1. Work out and hand-assemble a small program that will switch between different chunks of ROM address space at a "slow" rate, maybe four transitions per second or thereabouts, easy to pick out if I slap an LED plus resistor on a couple of address lines... And also do RMW operations (maybe a simple INC?) on a few RAM locations. Burn this to ROM using my embryonic programmer setup.
2. Wire up just the ROM chip with the program installed to the CPU. No RAM, no I/O. Monitor the chosen address lines to make sure that the program is "working".
3. Attach a RAM chip to the system.
4. Try to fire up my logic analyzer (an HP 1630D, bought used for $60, supposedly working, but I haven't even plugged it in yet), and see if I can use it to show that the RAM is working in the system.
Now, on the whole this seems to me to be a reasonable plan, but... I know that leaving unused inputs on 74xx CMOS chips "floating" can cause problems, and doing an RMW operation against unpopulated (not decoded) address space means that the CPU will be spending a cycle or two reading from a floating bus. Is this a safe thing to do at this stage? Am I running any real chance at destroying hardware (this seems somehow unlikely), causing the CPU to behave erratically (thus giving me a false negative on running the program with no RAM), or otherwise screwing things up?
Thanks in advance for any advice.
I'm hoping to finally spend a bit more time working on my 6502 system this weekend and over the beginning of next week (my last chance before November), but my current system is basically at the point of free-run, and my ability to program a ROM is somewhat embryonic at the moment, so I was figuring to proceed as follows:
1. Work out and hand-assemble a small program that will switch between different chunks of ROM address space at a "slow" rate, maybe four transitions per second or thereabouts, easy to pick out if I slap an LED plus resistor on a couple of address lines... And also do RMW operations (maybe a simple INC?) on a few RAM locations. Burn this to ROM using my embryonic programmer setup.
2. Wire up just the ROM chip with the program installed to the CPU. No RAM, no I/O. Monitor the chosen address lines to make sure that the program is "working".
3. Attach a RAM chip to the system.
4. Try to fire up my logic analyzer (an HP 1630D, bought used for $60, supposedly working, but I haven't even plugged it in yet), and see if I can use it to show that the RAM is working in the system.
Now, on the whole this seems to me to be a reasonable plan, but... I know that leaving unused inputs on 74xx CMOS chips "floating" can cause problems, and doing an RMW operation against unpopulated (not decoded) address space means that the CPU will be spending a cycle or two reading from a floating bus. Is this a safe thing to do at this stage? Am I running any real chance at destroying hardware (this seems somehow unlikely), causing the CPU to behave erratically (thus giving me a false negative on running the program with no RAM), or otherwise screwing things up?
Thanks in advance for any advice.
