• Please review our updated Terms and Rules here

Willem programmers and reading late seventies vintage masked ROMS

hmm..ok, first hitch.

The 76c16Q (edit: no, ignore that. I mean 27C16Q) chips arrived today. These were all used except two. I figured I'll see if I could get the binary in one of them for my Sorcerer BASIC ROM-PAC.

First problem I ran into was figuring what programming voltage to use. The Willem docs under EPROMS say "...As an example: write a 27C16 (programming voltage is 12.5V), also you need change the Vcc voltage setting accordingly..."

Hmm...the other docs I have (datasheets) suggest 25 volts for programming. So now I'm confused. Anyway, I tried what the manual said and used 12.5 V. No joy, no writing took place. So I tried again this time using 25V. Joy! Programming DID take place...but....uh oh, the very first byte was wrong. A zero whereas it should have been a 32. All the other bytes were correct and accounted for.

I figured maybe the first attempt at the low voltage might have done something to that first byte initially. So, I tried again at 25v with my second blank 27C16.

Same result. Ok, except for that very first byte?

Anyone got any ideas? There is a slider setting called tWP (default 140.0 us) and another called tWC (default 20.0 us) which may relate to programing pulse speed delay? The manual doesn't actually say what these do but they can be altered. Should I bump them up? The input voltage is 12V DC BTW, supplied from a power pack.

The pdf manuals are actually very bad. First there are FOUR versions with conflicting information none seem to match the hardware absolutely.

Oh well, no harm done. I have 14 26C16s but those were the only two blank ones. However, I'll have to wait for my eraser to arrive from Hong Kong before I can do anything else. Meanwhile, if anyone has any ideas, I'm all ears.

Tez
 
Last edited:
There is a slider setting called tWP (default 140.0 us) and another called tWC (default 20.0 us) which may relate to programing pulse speed delay?

The tWC is write cycle time and tWP is write pulse length. I haven't tried actually programming any 27C16 chips on mine, but the settings I see for that chip (using the 0.98d12 software with a PCB5.0E unit) look to have a 5.0mS tWP and 1.0ms tWC as the default. I've also found that there's a bug in the software, whereby it will sometimes retain the tWP, tWC and/or DIP switch settings of whatever chip was previously selected, rather than changing them appropriately... if that's happening to you, then that could cause all sorts of problems.
 
The tWC is write cycle time and tWP is write pulse length. I haven't tried actually programming any 27C16 chips on mine, but the settings I see for that chip (using the 0.98d12 software with a PCB5.0E unit) look to have a 5.0mS tWP and 1.0ms tWC as the default. I've also found that there's a bug in the software, whereby it will sometimes retain the tWP, tWC and/or DIP switch settings of whatever chip was previously selected, rather than changing them appropriately... if that's happening to you, then that could cause all sorts of problems.

Thanks for that. Hmm...interesting. I get the feeling that the problem does relate to cycle time and pulse length. The setting's aren't mentioned specifically in the manual(s) but there is some discussion of altering cycle times if programming is done with a fast computer. They don't say what a fast computer is though. I have a pentium 4.

I'm optimistic as writing certainly occurred and it was perfect except for that very first byte. Once I get my eraser and create some more blanks I'll try altering the setting to what you have i.e. 5000 ns (5.0 ms) and 1000 ns (1.0 ms) , which is a lot slower/longer than my default setting now. The sliders are very much to the left with my default so there is a lot of room for increasing these values.

Tez
 
Thanks for that. Hmm...interesting. I get the feeling that the problem does relate to cycle time and pulse length. The setting's aren't mentioned specifically in the manual(s) but there is some discussion of altering cycle times if programming is done with a fast computer. They don't say what a fast computer is though. I have a pentium 4.

Tez,
You have me confused. I can't find anything on a 76C16. Who is the maker? Is it a clone of the 27C16 by National Semi? I wish you had tried to find some plain old Intel 2716 units.

I'm not sure but the parameters you are tweaking on the Willem may be for EEPROMs not EPROMs.

I did find an old spec for a National Semi 27C16 which oddly does call out for a Vpp of 25 V. It used something called P2CMOS which may be an older CMOS process. The programming pulse is 50 mS.
 
Duh! That's because I MEANT to say 27C16. Sorry...typo in the first post...so many new codes...so many new things to remember. It was 27C16s I was trying to burn. I certainly had the Willem set up for 27C16s.

I shouldn't type these things late at night.

Tez
 
I MEANT to say 27C16.

Good. Then according to my Data I/O wall chart, they are National Semiconductor parts and the Vpp is 25V so with a good erase, they should program OK (knock on wood).

Set the timer on the UV eraser for about 20 to 30 minutes. Too little time and they might not fully erase and too much time can damage them. Does everyone agree on the erase time?
-Dave
 
Do you think that the parameters discussed would have caused the error on that first byte Dave?
 
Do you think that the parameters discussed would have caused the error on that first byte Dave?

Tez,
I don't know, but I would leave them in the default position for now.

If you continue to have a problem with the 27C16 setting, I would try the normal 2716 setting on the Willem since we determined that your part is a 25V device with a 50 mS pulse requirement, same as the 2716. What do you think?
 
For programming anything under 27c64s I use my Digelec programmer...
824.jpg


Find em cheap on eBay now and again. All self contained stand alone units powered by i8085/z80 cpus. Great feature is, burn what you want to say a newer 27c128 or even 28f on the willem, then copy on the Digelec onto the older 27c 16/32/64. No having to deal with flaky voltages or praying it work on your Willem. I paid less then 30 shipped for mine. Added bonus is it has a uv eraser built in! Whole reason I got into it was trying to play some Atari 2600 games I owned that were dead. Plus it supports programming eprom on cpus of the era, and some other neat features.

See this thread, has alot of knowledge in it.
http://www.atariage.com/forums/topic/140787-burning-roms-to-eeproms/

Old Stag machines are great too! Hard part is software. At least my digielec 824 works through a terminal. :) Your mileage may vary...
 
Last edited:
Tez,
I don't know, but I would leave them in the default position for now.

If you continue to have a problem with the 27C16 setting, I would try the normal 2716 setting on the Willem since we determined that your part is a 25V device with a 50 mS pulse requirement, same as the 2716. What do you think?

When the UV eraser gets here I'll experiment a little. Hopefully I can find a setting where it works perfectly.

I'll report back...

Tez
 
Wish you luck!!! :D

I have an older willem, never managed to get 25v eproms to flash correctly, hence the digelec post above... I hear the newer ones are much less temperamental.
 
Gulp! That doesn't sound hopeful.

Was the problem with the first byte? It seems to put the code in just as it should EXCEPT for that first byte.

Tez
 
Gulp! That doesn't sound hopeful.

Was the problem with the first byte? It seems to put the code in just as it should EXCEPT for that first byte.

If I recall correctly, it was the first 3 bytes each time... Been a few years LOL. I tried different power packs / shielding / swapping cables as well, no luck. I ended up taking advice from a friend, and got an early stand alone copier/programmer. Solved the problem. :thumbsup:
 
Yes, slow boat from China but it arrived yesterday and I blanked some EPROMS last night.

This morning I tried programming a 2716 (not a 27C16) for the Sorcerer ROM-PAC fix.

IT WORKED! Furthermore not only did programming the chip work, but I managed to rewire/jumper the ROM-PAC socket as per instructions so it would recognise the 2716 as one of the 2k masked ROMS. That worked too!!

So now I have a working BASIC ROM-PAC for the Sorcerer. I've only just finished the project and was about to head in for a cuppa, when I thought I'd check the forums. I wasn't going to report until I'd written a blog post...then you'd get the full narrative with PICS!.

However...there are still the PET ROMS to go so I haven't quite finished yet. I've now got 2532 EPROMS and the "Pet Resuce" adaptor. I'll tackle that project in the next day or two, after I document this ROM-PAC fix.

Also...I've just tried to burn another 27C16 as an experiment. THIS time I used the 2716 settings rather than 27C16 ones. Same issue. An incorrect BYTE in the very first location, but not 00 this time. Instead it was 20. For some reason my Willem doesn't like 27C16s but 2716s are ok?? At least I had a couple of 2716s so could use one of those for the ROM-PAC fix. I'd like to get to the bottom of this mystery though.

Tez
 
Back
Top