6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 1:28 pm

All times are UTC




Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Wed Nov 18, 2020 2:30 pm 
Offline

Joined: Wed Jan 08, 2014 3:31 pm
Posts: 578
It looks pretty solid from the picture.

https://hackaday.com/2020/11/17/another-kind-of-bare-metal-6502-computer-powers-rpn-calculator/


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 6:53 am 
Offline

Joined: Wed Feb 23, 2005 5:44 pm
Posts: 42
Location: Sweden JO65kv
Nice build.
Great display, looks like a HP/Agilent/Avago/Broadcom LED. Same as I ueses on my own build, but red.
I miss a picture of the big box inside and a little more about used componenrs. 1K memory, 8x2102?


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 9:39 am 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
I love this build: robust, useful, and with a toggle-switch front panel!


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 23, 2020 3:33 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
That thing looks amazing. The main unit is wire wrapped.

You can see it here.

https://www.youtube.com/watch?v=Hxb7a6DZVzI

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 23, 2020 3:40 pm 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
If anybody's interested, there's a lot more information (including schematics and program listings) on his various units on his Hackaday pages.

I particularly like his toggle-switch PROM programmer, something I've been tempted to build myself from time to time (until I think again about how much work it is actually to program things with it :-)).

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 23, 2020 6:18 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
cjs wrote:
I particularly like his toggle-switch PROM programmer, something I've been tempted to build myself from time to time (until I think again about how much work it is actually to program things with it :-)).

My own first programmer was manual like that, just a lot smaller (on a 4.5" square Radio Shack prototyping board) and without a case, using DIP switches to set address and data, and a pushbutton to trigger a 50ms programming pulse. As slow as it was, the greater problem was that it was very prone to human error. If it were EEPROM, you would be able to correct mistakes without erasing the whole thing and starting over. I don't think there were any EEPROMs commonly available to hobbyists yet in those days though. I found out later that many DIP switches (including the ones I got) are only guaranteed for about 100 cycles. I probably didn't get much further than that anyway before a friend who had made himself a programmer controlled by his calculator offered his help. This was for getting my first computer going which did work on first try but never became very useful. I had no other computer to control a programmer yet.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 23, 2020 11:19 pm 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
GARTHWILSON wrote:
My own first programmer was manual like that, just a lot smaller (on a 4.5" square Radio Shack prototyping board) and without a case, using DIP switches to set address and data, and a pushbutton to trigger a 50ms programming pulse....
I found out later that many DIP switches (including the ones I got) are only guaranteed for about 100 cycles.

Oh wow. Acutually, another thing putting me off a bit was the work and expense to build the switches into a decent case. (Yamada-san's aluminum cases are very nice, but even much cheaper ones start around $30—click the "データシートPDF" button for more details.) So I had thought of using DIP switches, too, but after a bit of playing with them, the significant additional pain of toggling those by hand (especially now that my eyes are getting old) made that a non-starter. So fortunately I never got to discover the cycle limits issue.

I had also considered building some diode ROM boards with DIP switches, but there again expense put me off; even 32 bytes starts to get pretty awkward.

On the other hand, with a bit of extra design work it seems to me that one could "multiplex" PROM programming on to a front panel device, so you'd need to build only one big box o' switches, which might be worthwhile. I never got around to doing a front panel because it seemed too complex (I was looking at the Altair "bus-jamming" design to load the PC directly), but actually now that I've seen those videos the much simpler "just reset to load the PC" seems to be quite practical to use, so maybe I'll go back to this.

Quote:
As slow as it was, the greater problem was that it was very prone to human error.

Yes, he mentioned this in one of his comments on the project page on Hackaday, I believe. If the error was a bit set that shouldn't be it wasn't an issue, you just reprogrammed it, but if the error was a bit clear that shouldn't be, well, get ready for another long programming session. Or, if you're so lucky as to be programming the 6502, some really clever patching with BRK vector routines. :-)

Quote:
If it were EEPROM, you would be able to correct mistakes without erasing the whole thing and starting over. I don't think there were any EEPROMs commonly available to hobbyists yet in those days though.[/color]

I thought I'd seen a lot of EEPROMs by the early '80s, but these were 27xxx series EEPROMs that still erase the whole device in one go. My impression is that it wasn't until the 28xxx series parts (with a slightly different pintout, and not available until the '90s or '00s?) that byte erase became available. And those it seems you just write like regular RAM chips (with no special voltages, either), except that you have to wait a while for the device to respond again after you've triggered a write.

Those should be programmable easily enough from your front panel, so long as you run the write signal to your "ROM" socket (and probably disable that during normal operation to prevent rogue code from corrupting your ROM and crashing your machine).

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 23, 2020 11:38 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
cjs wrote:
I had thought of using DIP switches, too, but after a bit of playing with them, the significant additional pain of toggling those by hand

Using a pen-like object on DIP switches with rockers on the top (instead of the slide-switch type) is easier.  You're still stuck with the short life though.  [Edit, March 2023:  I was just looking at the data sheets for for CTS-brand series 206 DIP switches that claimed minimum life of 10,000 cycles switching 50 mA @ 24 VDC, and it would certainly be a lot more at the much lower currents involved in switching logic inputs of CMOS ICs.]

Quote:
Quote:
If it were EEPROM, you would be able to correct mistakes without erasing the whole thing and starting over. I don't think there were any EEPROMs commonly available to hobbyists yet in those days though.

I thought I'd seen a lot of EEPROMs by the early '80s, but these were 27xxx series EEPROMs that still erase the whole device in one go. My impression is that it wasn't until the 28xxx series parts (with a slightly different pintout, and not available until the '90s or '00s?) that byte erase became available.

27xx is EPROM (with one 'E').  28xx is EEPROM.

Quote:
Those should be programmable easily enough from your front panel, so long as you run the write signal to your "ROM" socket (and probably disable that during normal operation to prevent rogue code from corrupting your ROM and crashing your machine).

We have a topic on dead-start-panel computers at viewtopic.php?f=4&t=4341 .  There's definitely some intrigue to the survivalist idea of a dead-start panel. :)

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2020 1:25 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
GARTHWILSON wrote:
27xx is EPROM (with one 'E'). 28xx is EEPROM.

Hm. I've always been a bit uncertain about this. I had thought that PROM was one-time field programmable, EPROM was UV-erasable, and EEPROM was electrically erasable. What do you call the UV-erasable PROMs, and how do you distinguish them from the electrically erasable?

Quote:
We have a topic on dead-start-panel computers at viewtopic.php?f=4&t=4341 . There's definitely some intrigue to the survivalist idea of a dead-start panel. :)

Oh, thanks for that link! There's a lot of good information in there. It's also reminded me about all the issues I'd forgotten.

I now realize that the panels for Yamada-san's systems above don't do auto-increment, which is something I'd be loath to live without. This can be done by giving the panel its own address register, but this introduces some UI complexity in now that you need to be able to switch the address display between the CPU and the panel.

Jamming instructions on the bus (JMP to set the address and NOP for increment/load), Altair 8800-style not only fixes that, but additionally simplifies the UI in that now you need not set the reset vector and reset before running but simply load the address at which you wish to run. Of course, since I use multiple CPUs (6800 and 6502 at the moment, and Z80 at some point) it would be nice to have a set of DIP switches to set the opcodes for these instead of having them hardwired. (I think we're starting to see why I never get anything built. :-))

I notice that the Altair 680 (6800 CPU), unlike the 8800, didn't use instruction jamming but instead went with a Yamada-style interface. I wonder if this was just because that was cheaper, or if there's some issue with instruction-jamming on 6800 and/or 6502 systems. (There's the obvious support you'd need to add to take the 6502 off the address bus on many models, but that's not an issue for the 6800, W65C02 or 6510.)

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2020 1:50 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
cjs wrote:
GARTHWILSON wrote:
27xx is EPROM (with one 'E'). 28xx is EEPROM.

Hm. I've always been a bit uncertain about this. I had thought that PROM was one-time field programmable, EPROM was UV-erasable, and EEPROM was electrically erasable. What do you call the UV-erasable PROMs, and how do you distinguish them from the electrically erasable?

The original PROMs actually had tiny fuses which you blow to program them (hence the term "burn"). Once a fuse is blown, there's no going back, no erasing.

EPROMs (erasable PROMs) worked on a different principle and could be erased with ultraviolet light. There are however one-time programmable EPROMs which use the same die but the transparent window in the package is omitted to save cost in situations where the need to reprogram them was so unlikely that you could accept the risk of having to just replace. There are windowless EPROMs of the 27xx family.

Electrically erasable PROMs are the EEPROMs. No UV is needed to erase, and you can erase and reprogram one byte at a time.

Flash is a type of EEPROM that allows you to do the erasure a whole block at a time, making write operations much faster when you're dealing with large amounts of data.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2020 3:51 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
GARTHWILSON wrote:
27xx is EPROM (with one 'E'). 28xx is EEPROM.
...
Electrically erasable PROMs are the EEPROMs. No UV is needed to erase, and you can erase and reprogram one byte at a time.
Ok, through more careful reading of the Winbond W27C512 datasheet, which is careful never to use "EEPROM" but instead calls it an "Electrically Erasable EPROM", and Wikipedia I now see my confusion. The "EE" versus "E" prefix refers not to whether the the device is electrically erasable or not, but whether it's erasable per byte or only as a whole. That's not exactly intuitive, but there it is!

I guess I'll use "UV EPROM" and "EE EPROM" to distinguish the UV and electrically erasable EPROMs.

I see also that some EEPROMs can be erased as a whole, as well, such as the AT28C64 (/CE low, /OE 12 V, 10 ms low pulse on /WE) and the AT28C256 (via a 6-byte command sequence).

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2020 5:17 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
cjs wrote:
GARTHWILSON wrote:
27xx is EPROM (with one 'E'). 28xx is EEPROM.
...
Electrically erasable PROMs are the EEPROMs. No UV is needed to erase, and you can erase and reprogram one byte at a time.
Ok, through more careful reading of the Winbond W27C512 datasheet, which is careful never to use "EEPROM" but instead calls it an "Electrically Erasable EPROM", and Wikipedia I now see my confusion. The "EE" versus "E" prefix refers not to whether the the device is electrically erasable or not, but whether it's erasable per byte or only as a whole. That's not exactly intuitive, but there it is!

Interesting. It does say on page 5, "Unlike conventional UVEPROMs, which use ultraviolet light to erase the contents of the entire chip (a procedure that requires up to half an hour), the W27C512 uses electrical erasure." So apparently the idea was to leave the option of programming like a standard 27Cxx part while adding a feature that's not in normal 27's. A strong UV eraser could do the job in a few minutes, while putting it in the sun may take a week. My eraser takes about 15 minutes; so if I keep four cycling, one is ready every four minutes.

Quote:
I guess I'll use "UV EPROM" and "EE EPROM" to distinguish the UV and electrically erasable EPROMs.

I would just say "EEPROM," since the two E's in a row already mean "electrically erasable," so EE EPROM would mean "electrically erasable erasable programmable read-only memory," with the redundancy.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2020 9:07 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
GARTHWILSON wrote:
27xx is EPROM (with one 'E'). 28xx is EEPROM.
...
Electrically erasable PROMs are the EEPROMs. No UV is needed to erase, and you can erase and reprogram one byte at a time.
GARTHWILSON wrote:
I would just say "EEPROM," since the two E's in a row already mean "electrically erasable...."

Well, that was what I was originally saying, but you said that 27xxx is not EEPROM (by this I assumed you were talking about all types of them, obviously there are many 27xxx devices that are not EEPROM) and that EEPROMs are byte-erasable, which the electrically erasable 27xxx are not. So now I'm confused. Is it the byte erasability or the electrical erasability that distinguishes an EEPROM from an EPROM?

Wikipedia (which I'm not claiming is utterly trustworthy on this) seems to state that byte-erasability, or at least block erasability, is an important part of the definition; the lead paragraph says it "is a type of non-volatile memory...allowing individual bytes to be erased and reprogrammed." And later it even comes right out with, "In the industry, there is a convention to reserve the term EEPROM to byte-wise erasable memories compared to block-wise erasable flash memories."

Sorry if this is a comes across as a bit fussy and pedantic, but I do want to be communicate clearly and if my previous convention of refering to, e.g., the Winbond W27C512 as an "EEPROM" is confusing, because it can be erased only wholly, I want to avoid that.

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2020 9:17 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
cjs wrote:
So now I'm confused. Is it the byte erasability or the electrical erasability that distinguishes an EEPROM from an EPROM?

B. The "EE" specifically stands for "electrically erasable."   "Byte" versus "block" comes into play in whether the EEPROM is flash or not.  "Flash" refers to erase/program speed, in that you can go much faster if you can erase a whole block at a time, regardless of whether you can do a byte at a time or not.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2020 9:37 am 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
(I think I prefer to stay close to current usage, where possible. Among other things, it helps the newcomer. To my understanding, those early products, which might well have been called EEPROM when current, are not what is presently meant when someone speaks of EEPROM. Of course most people have no reason to discuss retro products, so they don't need a term for something which can be reprogrammed without UV but is not bytewise reprogrammable. I think it falls to us, the minority, to make ourselves clear. We can bemoan the loss of a useful term, if we like.)

I think the evolution might have been
ROM - read only memory, mask-programmed
PROM - programmable read only memory, field-programmed electrically
EPROM - PROM which can be erased. Initially UV-EPROM.
EEPROM(1) - EPROM which can be erased electrically
EEPROM(2) - EPROM which can be erased electrically and also rewritten byte-wise.

I found this statement: "Flash uses NAND-type memory, while EEPROM uses NOR type. Flash is block-wise erasable, while EEPROM is byte-wise erasable."

And I found this Q&A: What is the difference between Flash memory and EEPROM?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 21 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: