Clearing EPROMS/EEPROMS

discuss both original and modern hardware for the bbc micro/electron
User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Clearing EPROMS/EEPROMS

Post by 1024MAK » Mon Aug 10, 2020 6:41 pm

The issue is not just the rated programming voltage of the programmer, but also it’s ability to supply enough current (power) at this voltage without the voltage dropping.

To step up a USB 5V supply to 21V at the current (power) required needs a very good DC-DC converter. Unfortunately if the manufacturer of the programmer has skimped on quality circuit design and/or quality components, there will be drop in programming voltage.

If the programming voltage dips during programming, the first handful of memory cells may appear to program correctly, but the failure rate will increase as the process continues. Then when the programmer does a read and compare check, this will fail.

Mark

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Mon Aug 10, 2020 6:45 pm

I think I will try increasing the voltage to max on this device.

What would be the best settings below...
vcc.png
vcc.png (5.01 KiB) Viewed 552 times
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Clearing EPROMS/EEPROMS

Post by 1024MAK » Mon Aug 10, 2020 6:52 pm

The HN4827128G needs 5V at 100mA and 21V at 30mA during programming. That’s a total of 1.13W of power.

The M5L27128K needs 6V at 100mA and 21V at 30mA during programming. That’s a total of 1.23W of power.

The uPD2764 needs 5V at 100mA and 21V at 30mA during programming. That’s a total of 1.13W of power.

VPP is the programming voltage, if you can, set it to 21V.

VCC is the logic supply. For normal reads, it’s 5V. Some EPROMs are specified as needing 5.5V or 6V during programming or during verifying.

Mark

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Mon Aug 10, 2020 10:08 pm

18v is the highest it goes, but it has been mentioned on here that it has been sufficient previously.
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

User avatar
BeebMaster
Posts: 3627
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Clearing EPROMS/EEPROMS

Post by BeebMaster » Tue Aug 11, 2020 10:20 am

I've still got about 20 unopened tubes of 27C256 (12v) from the time when I was receiving 5 tubes a month on a repeat order. I don't think I'll need that many so I might have to think about selling some of them (like I used to do).
Image

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 12:08 pm

BeebMaster wrote:
Tue Aug 11, 2020 10:20 am
I've still got about 20 unopened tubes of 27C256 (12v) from the time when I was receiving 5 tubes a month on a repeat order. I don't think I'll need that many so I might have to think about selling some of them (like I used to do).
Well, I would look to buy some from you.

I've had a few delivered by some excellent people from here, you know who you are, but I would like a few of the 256's as I have had delivered 512's.

I now need to work out how to blow them twice (said the actress to the bishop) as apparently I have to do two memory ranges?

Who can help me with that bit? (get it?)
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Clearing EPROMS/EEPROMS

Post by 1024MAK » Tue Aug 11, 2020 12:45 pm

The important point here is the way that a Beeb accesses the EPROM or EEPROM. The Beeb can only ever see a 16k byte area (the sideways ROM area) no matter how large or small the actual EPROM or EEPROM is.

Modern programmers can however see the whole memory area of the EPROM or EEPROM.

The size of the ROM image also comes into play. If you have say a 27C256 (32k byte) EPROM, then that can hold one 16k byte (or one 8k byte) ROM image for use in an unmodified BBC B.

Because pin 27 (EPROM A14 input on a 27256 / 27C256 and larger EPROMs) on the socket in an unmodified BBC B is tied high (to the +5V/VCC power rail), if using in an unmodified BBC B, the wanted ROM image must start at address 16384 (0x4000). This can either by done by setting the programmer software settings to do this (this depends on how flexible the software is). Or by creating a 32k byte file with the first 16384 bytes set to 255 (0xFF) and then followed by the ROM image. Or, if the ROM image is exactly 16384 bytes long, just make a new copy that combines the same ROM image twice.

Or if the BBC B is modified, or if used in a 32k byte socket in a later machine (export BBC B model, B+, or Master 128) then a 27C256 (or 27256) can hold two ROM images. If the first image is exactly 16384 bytes long, just make a new file that combines the first ROM image followed by the second ROM image.

Mark

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 1:02 pm

So, looking at Tricky's ROM image the end of the file appears to be padded with 00 except the last six (addresses) ending at 0x3FF0 which are

E3 CA 00 C0 E3 CA

Then the rest of the ROM is at FF.

So, If I were to write from the 0x4000 address, leaving FF in all the prior addresses, this would then work on an unmodified beeb?

Or, the second half of the question... If I leave trickys ROM in the first set of addresses and write it again from 4000, will this also work?

I'm desperately trying to get my head round this. Thanks again for your help Mark (and all).

I also appear to have a couple of Atmel AT28C256 which are write once devices, so I want to write tricky's ROM to one of these ultimately so that it is permanent.

Once I have mastered this with the reprogrammable ones then that is what I will do. Reading your advice Mark, I take it I have to start at 0x4000 on these also?
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Clearing EPROMS/EEPROMS

Post by 1024MAK » Tue Aug 11, 2020 2:08 pm

The OS ROM socket (IC51) is different. In that pin 27 is not connected to +5V/VCC on all machines (unless it has been modified). But instead pin 27 is connected to the main address bus, in fact to the 6502 A14 line. Despite this, as the OS ROM socket is only selected when the 6502 A14 and A15 are high, the same procedure is needed.
Colday wrote:
Tue Aug 11, 2020 1:02 pm
So, If I were to write from the 0x4000 address, leaving FF in all the prior addresses, this would then work on an unmodified beeb?
Yes. As long as the programmer writes byte 0 from the file to EPROM address 0x4000, byte 1 from the file to EPROM address 0x4001 etc. it should work.

While talking about EPROMs and EEPROMs, I trust that you have noticed that an ‘empty’ unprogrammed memory location reads 0xFF? Hence there being no need to change this in the area of the chip that the 6502 can’t read. This reduces the time taken to program the chip.
Colday wrote:
Tue Aug 11, 2020 1:02 pm
Or, the second half of the question... If I leave trickys ROM in the first set of addresses and write it again from 4000, will this also work?
Yes, as long as the second write starts at 0x4000.

The AT28C256 is not a EPROM but in fact is an EEPROM. These don’t need UV light to erase them, as they can be erased electrically. The datasheet is here. Your programmer should be able to erase it as well as program it. Note that it has a slightly different pin-out. A BBC B can also erase and program it if some minor modifications are made. Although it has to go in a sideways ROM socket, not the OS ROM socket. There is a topic on here all about this (I wonder if Martin will post up a link before I find his topic and link to it?).

If you are having difficulty getting you head round this, just say. I’ll try to think of another way of explaining it.

Mark

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 2:44 pm

Thanks Mark

Well, I successfully burned tricky's ROM to one of the 27c512 chips starting at memory address 0x4000.

Popped it into the dead dishwasher board (after removing the OS and Basic chips and still get the same result).

I've also pulled most of the other chips and am now looking up the 'minimum config' so that I can pull the rest of them and start from scratch.

I will also be putting the test ROM into a known good beeb shortly to make sure the write worked. It was certainly able to read it from the chip and is in the right location.

Wish me luck.
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

User avatar
hoglet
Posts: 9448
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Clearing EPROMS/EEPROMS

Post by hoglet » Tue Aug 11, 2020 2:59 pm

I'm sure Mark will correct me if I'm wrong here, but I think when programming Tricky's Test ROM into a 27C512 it needs to be placed at offset 0xC000 within the EPROM, not 0x4000.

This is because a 27C512 is a 64KB EPROM, and both A14 (pin 27) and A15 (pin 1) are connected on IC51 on the Model B.

Dave

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 3:08 pm

That could explain why it doesn't work at all in any beeb....

So I need to write the test ROM code to 0xC000 instead of 0x4000?

Ok, I'll give that a go next.

I do not think this is going to make any difference with the dishwasher beeb. But we shall see.
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

johnkenyon
Posts: 248
Joined: Wed Jul 20, 2011 3:21 pm
Location: Coventry
Contact:

Re: Clearing EPROMS/EEPROMS

Post by johnkenyon » Tue Aug 11, 2020 4:16 pm

Colday wrote:
Tue Aug 11, 2020 3:08 pm
That could explain why it doesn't work at all in any beeb....

So I need to write the test ROM code to 0xC000 instead of 0x4000?

Ok, I'll give that a go next.

I do not think this is going to make any difference with the dishwasher beeb. But we shall see.
My personal rule is to program N images into a ROM which is N times too big for the socket its sat in.
So for a socket accepting a 27128, if I had a 27256 program it twice over, a 27512, four times over.

For a 8K image, pad it out to 16k with &FF and then treat as 16K.

My rationale for this is as follows:
+ MOS appears to dedupe ROM images anyway, so 2 identical images are no big deal (e.g. if I drop the device into a 27256 socket on a B+)
(or the higher priority copy of the ROM will grab SWR calls before the lower priority one gets a chance)
+ I'm lazy - I know how to create a 32K ROM image from a 16K one without having to look anything up, and it doesn't matter if the spare address pin is tied high or low.
+ My EPROM programmer is modern/quick - if I was burning a 27256 on an old school parallel port programmer, then I'd take the time to create an image with as many &FF as possible, other wise refer to the last point.

Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Kazzie » Tue Aug 11, 2020 5:35 pm

Colday wrote:
Tue Aug 11, 2020 1:02 pm
So, looking at Tricky's ROM image the end of the file appears to be padded with 00 except the last six (addresses) ending at 0x3FF0 which are

E3 CA 00 C0 E3 CA
These six bytes are vector addresses for the code the 6502 will use when it gets an IRQ, NMI, or RESET input: 0xCAE3 and 0xC000. When placed in the OS socket, the six bytes end up at the very top of the memory map, 0xFFFA - 0xFFFF, rather than 0x3FFA - 0x3FFF in your programmer.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 5:43 pm

Ok, very quick update on this.

I have written to 0xC0000 and it works perfectly in a known good beeb.

I didn't duplicate the code, just padded it with FF all the way prior to the actual code starting at 0xC000.

So, now back to the dishwasher beeb.
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 5:53 pm

Kazzie wrote:
Tue Aug 11, 2020 5:35 pm
These six bytes are vector addresses for the code the 6502 will use when it gets an IRQ, NMI, or RESET input: 0xCAE3 and 0xC000. When placed in the OS socket, the six bytes end up at the very top of the memory map, 0xFFFA - 0xFFFF, rather than 0x3FFA - 0x3FFF in your programmer.
Charlie Brown moment again.
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Kazzie » Tue Aug 11, 2020 6:18 pm

Colday wrote:
Tue Aug 11, 2020 5:53 pm
Kazzie wrote:
Tue Aug 11, 2020 5:35 pm
These six bytes are vector addresses for the code the 6502 will use when it gets an IRQ, NMI, or RESET input: 0xCAE3 and 0xC000. When placed in the OS socket, the six bytes end up at the very top of the memory map, 0xFFFA - 0xFFFF, rather than 0x3FFA - 0x3FFF in your programmer.
Charlie Brown moment again.
:lol:
Sorry.

Maybe a "snoopy" at this website will help flesh out what I was on about: https://www.pagetable.com/?p=410

It's not directly relevant to your EPROM issues, just explaining why a small bit of code was off on its own: it needs to be there because that's where the CPU will look for it.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 6:23 pm

[/quote]
It's not directly relevant to your EPROM issues, just explaining why a small bit of code was off on its own: it needs to be there because that's where the CPU will look for it.
[/quote]

Now, that makes sense!!

IRQ = Interrupt Request (got that)
NMI = ???
Reset = Yeah got that one.

What's NMI?
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Kazzie » Tue Aug 11, 2020 6:31 pm

Colday wrote:
Tue Aug 11, 2020 6:23 pm
It's not directly relevant to your EPROM issues, just explaining why a small bit of code was off on its own: it needs to be there because that's where the CPU will look for it.
Now, that makes sense!!

IRQ = Interrupt Request (got that)
NMI = ???
Reset = Yeah got that one.

What's NMI?
A non-maskable interrupt. Kind of like a super-IRQ.

The CPU can turn off IRQ interrupts if it knows it's going to be busy doing something else, but it will always respond to NMI interrupts, because they can't be "masked" .

In the Beeb, the floppy disc controller and econet chips use the NMI. When they've received data, they have to tell the CPU to empty their buffers quickly, before any more data arrives.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Clearing EPROMS/EEPROMS

Post by 1024MAK » Tue Aug 11, 2020 6:52 pm

hoglet wrote:
Tue Aug 11, 2020 2:59 pm
I'm sure Mark will correct me if I'm wrong here, but I think when programming Tricky's Test ROM into a 27C512 it needs to be placed at offset 0xC000 within the EPROM, not 0x4000.

This is because a 27C512 is a 64KB EPROM, and both A14 (pin 27) and A15 (pin 1) are connected on IC51 on the Model B.

Dave
Yes, for the reasons given by Dave.

In essence, when using a chip with a larger capacity than 16k bytes, the image should be blown into the top 16k of the EPROM/EEPROM (unless there have been modifications to the machine).

Mark

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Tue Aug 11, 2020 6:59 pm

Yep, makes sense.

I can see how it works. Not really sensible though is it?

So, If I had 4x ROMS that I put onto one of the 512 IC's one after the other, does it see them without mods, or do I need to make changes to the board first?
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Clearing EPROMS/EEPROMS

Post by 1024MAK » Wed Aug 12, 2020 8:52 am

Colday wrote:
Tue Aug 11, 2020 6:59 pm
Yep, makes sense.

I can see how it works. Not really sensible though is it?

So, If I had 4x ROMS that I put onto one of the 512 IC's one after the other, does it see them without mods, or do I need to make changes to the board first?
On a standard BBC B, the 6502 won’t be able to access (see) anything other than the ROM image in the top 16k byte area. Mark of RetroClinic gives details of how to modify a BBC B here.

64k byte 27512 / 27C512 EPROM chips have two extra address input lines compared to a 16k byte 27128 EPROM. If you want the Beeb to be able to access the rest of the memory in a 27512 / 27C512 EPROM chip, these extra address lines need to be driven with suitable signals. The chip on the BBC B main board that stores the selected sideways ROM number has two spare outputs. So we can use these two spare outputs to feed the two extra address inputs on a 27512 / 27C512 EPROM.

You can either modify the PCB as shown on the RetroClinic web site, or bend out the relevant pins on the EPROM chip.
Either way, the address inputs are A14 on pin 27 and A15 on pin 1. Note that on an unmodified BBC B issue 4 or issue 7 machine, pin 1 is not connected to anything on the main PCB. But pin 27 is connected to +5V/VCC via a PCB track to pin 28 (the +5V power pin).

The spare outputs on the Beeb are pins 12 (QC) and 11 (QD) of IC76 (74LS163). Connect each one via a suitable wire to one of the extra address inputs on the 27512 / 27C512 EPROM. The order of connection does not affect circuit operation, but it does affect which ROM image in the EPROM appears in which ROM slot as far as the OS is concerned.

Also although some 27512 chips may work okay in an unmodified BBC B, some 27512 chips and most 27C512 chips will need pin 1 to be connected to a valid logic level. Otherwise the input pin will float and it will be a bit random on which part of the memory in the chip will be active when the 6502 reads it. Thus a crash is likely.

I should point out that all the above applies to the sideways ROM sockets only. The OS ROM socket is different.

Mark

Colday
Posts: 382
Joined: Thu Jul 25, 2019 10:18 pm
Location: North Essex, UK
Contact:

Re: Clearing EPROMS/EEPROMS

Post by Colday » Wed Aug 12, 2020 9:55 am

That modification looks interesting. I may well give that a go with one of these Beebs.

Although I have 1x with a WE 15 Sideways ROM/RAM board fitted, 1x with that daughter board that goes out to the interchangeable external ROM/RAM boards, 1x that is unmolested and has my TurboMMC in for playing games, 1x that doesn't work at all (yet) and the last one doesn't have a power supply fitted (although I do have one that needs a new power lead.

I think I will do this mod to the dishwasher beeb once I get it running. There is an update on that page by the way.
BBC B's... I now have 6!
I also have 1 boxed with manuals, unmolested model A.
And also an unmolested model B. (but not boxed sadly)
12x floppy drives (only 1x currently works I think)...
Learning to repair and refurb keyboards next! No more sticky keys!

Post Reply

Return to “8-bit acorn hardware”