Datacentre with RamFS in EEPROM

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
Post Reply
User avatar
KenLowe
Posts: 336
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Datacentre with RamFS in EEPROM

Post by KenLowe » Sat Jun 16, 2018 11:52 am

Has anyone been able to get Datacentre RAMFS to work correctly in EEPROM?

I've loaded RAMFS (along with DNFS) into a AT28C256. I've tried to write protect the EEPROM (pin 27 to 5v via 1k). I've tried soft locking the EEPROM. I've tried both write protect and soft lock, but I can't get it to work correctly with any of these combinations :(

With no soft lock, and no write protect, the EEPROM gets corrupted on boot (perhaps not entirely unexpected).

With soft lock only, I get strange behaviour on boot, but the EEPROM is never corrupted (again, not entirely unexpected, since we know that a write attempt causes a delay on subsequent read).

When I write protect the EEPROM memory (with or without soft lock), the strange boot behaviour disappears, and on first glance everything seems to be working fine. However, if I try to import a SSD (eg *IMPORT ELITE.SSD), the imported image in RAMFS is corrupt. It almost looks like it's tried to import an interlaced DSD, and the disk catalogue only reports half the disk contents. The second drive remains blank, though. I've also repeatedly checked that the EEPROM isn't being corrupted. This is very repeatable:
20180616_123234.jpg
If I swap out the EEPROM with a 32k RAM module and load RAMFS / DNFS into it, it all works fine (with write protect enabled or disabled):
20180616_123539.jpg
Edit: Oddly, if I swap the 28C256 EEPROM for a 29C256 Flash (and swap the A14 / nWE pins around), it also works fine. I've tried several 28C256s and they're all the same.
Last edited by KenLowe on Sat Jun 16, 2018 8:11 pm, edited 2 times in total.

User avatar
MartinB
Posts: 4903
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: Datacentre with RamFS in EEPROM

Post by MartinB » Sat Jun 16, 2018 1:29 pm

It must be an issue with accessing the 28C256 at run-time because you say it's not corrupting and by using hardware write-protect, you won't get the post-write off-line delay. So, how are you managing A14? If you're using it in a 32k two-rom configuration, could you try either putting RAMFs in both halves or tying A14 to high or low as appropriate to only allow one bank to be accessible. There's nothing else it can be really unless your devices are tragically slow.

User avatar
KenLowe
Posts: 336
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: Datacentre with RamFS in EEPROM

Post by KenLowe » Sat Jun 16, 2018 1:52 pm

Yes. A14 is being used to select between upper and lower banks. The position of A14 & nWE on the 28 pin sockets are selectable via jumpers on my IntegraB board (jumpers were originally designed to allow user to set the banks for 16K ROM, 32K ROM or 32K RAM - but also work for 28C256 and 29C256 flash). I've not tried putting the same image on both upper and lower banks, but I will try that.

The odd thing is that all other ROMS loaded into any number of different 28C256 flash ICs appear to work fine on both upper and lower banks. The flash I'm using is AT28C256-15PU 150ns (from China).

I've given up with the 28C256 for the time being, and replaced them with 29C256 (also from China) which seem to be working more reliably. Maybe it is a timing thing, as the 29C256 are running at 90ns.

BTW, I think there's still an issue with the *EEP32 LOCK function, but I'll detail that in your EEPROM thread.

Edit: Loaded RAMFS into both upper and lower banks and tried again. No difference. Set the A14 pin to 5v to activate upper bank only. No difference. ](*,) ](*,)

User avatar
MartinB
Posts: 4903
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: Datacentre with RamFS in EEPROM

Post by MartinB » Sat Jun 16, 2018 2:31 pm

Ok, I'm out of ideas too then! :?

User avatar
KenLowe
Posts: 336
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: Datacentre with RamFS in EEPROM

Post by KenLowe » Sat Jun 16, 2018 2:43 pm

It's worth noting that the 29C256 flash doesn't seem to suffer from the post-write off-line delay problem that we see with the 29C256 EEPROM. I've currently got all my flash ROMS soft locked and write enabled, and they're all working fine. Were there any ROMs in particular that suffered from the post-write off-line delay problem that I can try in my setup?

Only slight problem with this setup is that my offline programmer (Genius G540) doesn't support the 29C256 - which would be useful if (when!!!) I screw up the BASIC / IBOS ROM when messing around with in beeb flashing of ROMs!

Edit: Ok. Found ViewSheet needs to be fully write protected, otherwise it complains. Soft lock on its own was not enough. I guess there will be others.
Last edited by KenLowe on Sun Jun 17, 2018 10:46 am, edited 1 time in total.

Post Reply