Date : Sun, 21 Aug 2011 22:42:55 +1000
From : awilliams@... (Alan Williams)
Subject: 29F010 was Tube ROM but diverged.
>> the fact that its too big for the socket and needs you to keep OE
high
>> during writes.
>Indeed, it will be slightly more 'interesting' than bunging in a RAM
chip.
At the moment I have a 74LS139 and a 74LS00 the former doing the
ROM/RAM/Motherboard selection from the page latch and the 74LS00 keeping
OE high during writes. My PCB is an oil rig in the MOS socket. With a
old cache chip from a 486 motherboard doing four banks of sideways RAM
and the 29F010 hopefully doing 8 banks of FLASH.
Unfortunately I hadn't fully appreciated the requirement to keep OE high
during writes so the 74LS00 is piggy backed. Version two of the board
will address this and other oversights.
>> that the 6502 tends to do extra reads during instruction decoding
>Ah... <expletive> Yes, I had forgotten that.
>Question is, do the extra reads take place from near/at PC, or from the
address pointed to?
It seems that they are the base address from which the effective address
is being calculated. Before the addition of X or Y for indirect indexed
and the like. So slap bang where you don't want them to be if say STA
(&70),X is the address in FLASH you want to program.
The solution it seems is to use absolute addressing and self modifying
code.
I don't think its more than 20 lines of code, I have it pencilled out on
the other desk but haven't made it over there to type it in yet.
>> 29F010 should give 8 banks of sideways ROM each individually
erasable.
> Hmmm, I think the chip I have is a single 128K area.
Not so much good. The bigger 29F020 doesn't have 16K pages.
>> Presently I can read the device id.
>'tis a start. ;-)
Yep.
I am going to revise two existing utilities by adding flash support
code, one a transitory version of SRLOAD, and the second a piece of
basic that saves roms out of your machine with a header appended which
turns them into a self loading executable.
I liked this approach at the time as it meant (in the class room context
at any rate) that you could say you type *word to start View and if the
machine had a View ROM then View would start but if it didn't view would
load from your library directory on the server, copy its self to the
sideways ram and start its self as a language. Excepting the time taken
the process was completely invisible to the user.
Alan