+karri Posted November 20, 2020 Share Posted November 20, 2020 I wrote an utility to read the 24aa512 eeprom on the Raspberry Pi. It does not get he ACK handshaking either. ime to dig up my measuring tools... Quote Link to comment Share on other sites More sharing options...
+karri Posted November 20, 2020 Share Posted November 20, 2020 Now I got it to work on a Raspberry Pi. At least reading an eeprom works with all handshaking etc. The next step is to create an utility to write the eeprom. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted November 20, 2020 Author Share Posted November 20, 2020 You can use the standard i2c lib on the raspebbry to read/write the eeprom. If the chip works ok, I can only try to move the release channel command after the clock change. I'll send you another test build in minutes. Quote Link to comment Share on other sites More sharing options...
+karri Posted November 20, 2020 Share Posted November 20, 2020 At least I spent enough time to know how it should work. So I could have a look at your code o see if I can spot anything strange there. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted November 20, 2020 Author Share Posted November 20, 2020 (edited) This is the version with the release channel command moved. E2test.lnx lynx24AAXXX.s Edited November 20, 2020 by Nop90 Quote Link to comment Share on other sites More sharing options...
+karri Posted November 20, 2020 Share Posted November 20, 2020 No change in operations in the latest files. They are still stuck at start. Quote Link to comment Share on other sites More sharing options...
MichelS Posted November 20, 2020 Share Posted November 20, 2020 (edited) Hi - just quickly checking your last driver code: Shouldn't IO_CHANGECLOCK just do a single STZ RCART0 instead of two? From your comments further down it seems you want this macro to change the A1 line from low to high (or vice versa). In its current form, doesn't this macro do high-low-high or low-high-low? EDIT: Oh - my bad. It's A1 not A0. Therefore two STZ seem right. Edited November 20, 2020 by MichelS Quote Link to comment Share on other sites More sharing options...
+karri Posted November 20, 2020 Share Posted November 20, 2020 My code has a slightly different appoach. It runs until it fails or succeeds. But it does not try multiple times. Hopefully I have the time tonight to try it out on a real Lynx. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted November 20, 2020 Author Share Posted November 20, 2020 2 hours ago, MichelS said: Oh - my bad. It's A1 not A0. Therefore two STZ seem right. Yes, I read in a post of the original designer that for an unknow reason the A0 line was not working for the EEPROM clock signal, so it was moved to A1 requiring two reads to RCART0. Thank you for checking the code, if you find any bug or have hints let me know, I'm quite new to 6502 ASM coding. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted November 23, 2020 Author Share Posted November 23, 2020 On 11/20/2020 at 1:42 PM, karri said: Hopefully I have the time tonight to try it out on a real Lynx. Any luck? Quote Link to comment Share on other sites More sharing options...
Nop90 Posted December 6, 2020 Author Share Posted December 6, 2020 @karri could you send me the code you used to test the eeprom witht the programmer? Quote Link to comment Share on other sites More sharing options...
+karri Posted December 6, 2020 Share Posted December 6, 2020 1 hour ago, Nop90 said: @karri could you send me the code you used to test the eeprom witht the programmer? Sure. It is on my work laptop. I try to send it soon. Now I am completely stuck with my keyboard that refuses to show up on my other laptop to get the background music for my game done. Quote Link to comment Share on other sites More sharing options...
+karri Posted December 6, 2020 Share Posted December 6, 2020 Here is the code. This seems to be able to read a 64k cart using the HAT programmer. So I just put it in lynx/contrib/blankcart/programmer/src readeeprom64k.c And added it to the Makefile Makefile PS. Sorry for not being able to put more effort into this. My other hobbies are a bit time consuming right now... Quote Link to comment Share on other sites More sharing options...
Nop90 Posted December 8, 2020 Author Share Posted December 8, 2020 Fixed makefile Makefile Quote Link to comment Share on other sites More sharing options...
Nop90 Posted December 8, 2020 Author Share Posted December 8, 2020 I need a new hot air soldering station, so I had to solder the Flash chip and the Eeprom chip with my soldering iron and worst of all had to carve the plastic shell (I hate carving plastic) but now I have my cart with a 64KB eeprom ? I tested the cart with the programmer pi hat and both chips seems to ok. Now it's time to make the eeprom work on the lynx. The pink shell is one ot the early test made from @Igor, when I bought the pi hat he sent me as a gift a bunch of not refined shells. I think pink a is a good color to distinguish this cart from all my others. ? 1 Quote Link to comment Share on other sites More sharing options...
Nop90 Posted December 8, 2020 Author Share Posted December 8, 2020 I'm comparing my code with this example for driving a I2C interface with a 65C02. I hope to find the issue. Quote Link to comment Share on other sites More sharing options...
+karri Posted December 8, 2020 Share Posted December 8, 2020 55 minutes ago, Nop90 said: I'm comparing my code with this example for driving a I2C interface with a 65C02. I hope to find the issue. I hope you can get it to work. Having 64k read/write memory on a Lynx would be pretty cool. The EOTB had 16k. I am not aware of any other games using more than 128 bytes of R/W memory. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted December 8, 2020 Author Share Posted December 8, 2020 Finally I got the ACK signal from the EEPROM, but had to change the way I drive the data line in the START command. This evening I'll male the same changes in all the other calls. Finger crossed. 1 Quote Link to comment Share on other sites More sharing options...
Igor Posted December 9, 2020 Share Posted December 9, 2020 I can update my STL to suit this layout if you like... Quote Link to comment Share on other sites More sharing options...
Nop90 Posted December 9, 2020 Author Share Posted December 9, 2020 Thank you. But first we need something that works. 1 Quote Link to comment Share on other sites More sharing options...
42bs Posted December 10, 2020 Share Posted December 10, 2020 Actually, with the flash cards, you could store a lot more. 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted December 10, 2020 Share Posted December 10, 2020 I'm curious... is the new chip radically different from the other chip? Or is just a longer bit stream required? Quote Link to comment Share on other sites More sharing options...
+karri Posted December 10, 2020 Share Posted December 10, 2020 14 minutes ago, 5-11under said: I'm curious... is the new chip radically different from the other chip? Or is just a longer bit stream required? It has some better access modes. You can enter an address and read lots of bytes instead of having to increment the address by yourself. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted December 17, 2020 Author Share Posted December 17, 2020 I was ready to test my fixed code but the flash chip of my modded cart stopped working, and made a really bad work trying to make a new one. So for the moment I'm stuck. @karri ifyou want to test my last build here are the rom and the sources. E2test.lnx E2test.zip Quote Link to comment Share on other sites More sharing options...
+karri Posted December 17, 2020 Share Posted December 17, 2020 EEPROM 24AA512 TEST BYTE WRITE OK BYTE R/W DONE DATA CHECK FAILED VALUE 16 SECTOR R/W DONE DATA CHECK FAILED 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.