Closed InPermutation closed 3 years ago
Data writes at about 1.6 kbps, so we can speed this up by not even writing the junk bytes. First optimization: use the -start 4000
parameter, and remove the first # junk
line.
Second optimization: write two separate files, write at -start 4000
and -start c000
. (todo: check math)
The downside to the second optimization is that RST/
goes high for a fraction of a second between the two runs, which could cause undesired operation of the target computer.
Hey Jacob, great job investigating. I sent you an email, try that if you get a chance and let me know if your BE6502 boots... if it does I'll publish the files for others to try.
The newly released (experimental) version of firmware and software now has EEPROM support included: Firmware 2.0rc8 (EPROM_EMU_NG_FW_2.0rc8.ino - Arduino sketch in Firmware folder) Software 2.0rc8 (EPROM_EMU_NG_2.0rc8.py - Python script in Software folder)
The new firmware works great, thanks @Kris-Sekula!
Please consider this a draft note-to-self, since I don't have time tonight to write a pull request.
The pinout between an AT27C256 and a 28256 differs in that the EEPROM's A14 is on pin 1, with /WE on pin 27, while the 28256 EPROM has Vdd on pin 1 and A14 on pin 27.
So, since in the EPROM-EMU-NG, pin 1 is A15, and A14 will be held high ("write enable" not asserted), we can write a little Python script to convert a 32K binary file into a 64K file padded with junk in addresses
0000:3FFF
and8000:c000
:then write it out like usual:
I used a TL866 II+ with
minipro
to confirm that this reads correctly as a 27C256:And, I attached it in place of the EEPROM of my Ben Eater 6502, and it boots up correctly!