Click here to Skip to main content
14,489,784 members

Welcome to the Lounge


For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
GeneralRe: Since there is no soap box anymore... Pin
Slow Eddie27-Dec-19 3:20
professionalSlow Eddie27-Dec-19 3:20 
GeneralRe: Since there is no soap box anymore... Pin
Super Lloyd27-Dec-19 6:40
MemberSuper Lloyd27-Dec-19 6:40 
GeneralLove, Peace and Happiness Pin
Kornfeld Eliyahu Peter24-Dec-19 18:28
mveKornfeld Eliyahu Peter24-Dec-19 18:28 
Generaltoday on this very day 105 years ago Pin
lopatir24-Dec-19 17:58
Memberlopatir24-Dec-19 17:58 
GeneralRe: today on this very day 105 years ago Pin
Super Lloyd24-Dec-19 19:13
MemberSuper Lloyd24-Dec-19 19:13 
GeneralRe: today on this very day 105 years ago Pin
lopatir24-Dec-19 20:29
Memberlopatir24-Dec-19 20:29 
GeneralRe: today on this very day 105 years ago Pin
Super Lloyd24-Dec-19 20:37
MemberSuper Lloyd24-Dec-19 20:37 
GeneralToday, 41 years ago Pin
CodeWraith24-Dec-19 15:43
MemberCodeWraith24-Dec-19 15:43 
I got my longest lasting chrismas present ever: My old Elf II computer. It still works, but it has gotten old. The bus connectors don't have good contacts anymore, the keys on the hexadecimal keyboard are worn out and my experiments long ago have left some occasional weird glitches. On a good day the old dog is as good as ever, but most of the time it's not really a pleasure to do something with it anymore.

High time for retirement, but not without a replacement. I'm going to take the old Elf apart and check all the soldering, clean up the dust of 41 years on the boards and the connectors, remove all remains of my old modifications and repair whatever needs to be repaired. And then I hopefully have a grandpa of a computer from the time when you could not just buy your next one in any store.

And today I have opened my 'present', a box full of electronic parts, plus a device to program microcontrollers and some microcontrollers to play around with. And now the replacement for the old Elf is taking shape on a breadboard. Just 6 ICs. The microprocessor, an 32k EEPROM, a 32k RAM, two simple logic ICs and a MAX232 for serial communication. On the breadboard I'm going to clock it with slowpoky 1.0 MHz, but the processor can officially go up to 5 MHz and was also often overclocked. Not bad for a processor from 1976 and memory access times are not an issue anymore as they were then.

And if you have read carefully, you may have noticed that there is no UART on the breadboard. So how is this little computer going to do serial communication? The MAX232 IC only shifts the voltages of the input and output signals, nothing more. The processor has some programmable I/O lines, like a microcontroller. The RS232 protocol is bit banged in software. At 1 MHz this will not be very fast, 300, maybe 600 baud, but it's going to be enough to hook it up to an old notebook with terminal emulation.

If everything goes the way I would like it to, I can have the breadboard version running in a few days and can have a small board made. This minimal computer will allow to test the old Elf's expansion boards more easily and also to test all expansions, one at a time, without having to build the entire thing on breadboards.

The name was a little hard to come up with. Elf III? Boring. Super Elf? That one already was taken 41 years ago. It was your fondness of puns and wordplay here that gave me the idea: Zwölf. In German 'Elf' has several meanings and Zwölf is then the logical name for something that comes after Elf. Smile | :)

Now what kind of expansions might a real zwölf need?

First, I'm going to throw out the EEPROM and replace it with a pin compatible RAM. So how is the Zwölf going to start up without a ROM? The old Elf did that the simplest way. The processor has a 'LOAD' operating mode, where it does nothing but wait for some external device to request DMA. When that request comes, the processor acts as a DMA controller, stores the byte in memory and waits for the next request. That external device was the hexadecimal keypad and hexadecimal display. You were able to enter and start a program without a shred of software involved. As a bonus, both the hex keypad and displays would act as regular I/O ports at runtime.

For the Zwölf I want something a little more modern. A cheap 8 bit PIC microcontroller enters LOAD mode and feeds the bytes from a tiny serial ROM to the processor after every reset. This way I can load a BIOS or bootloader and can still support all old Elf features, including the 'all RAM' memory configuration. PIC microcontrollers will also have to encode the new keypad and act as display drivers. Hexadecimal encoders/drivers are hard to get these days.

Then the Zwölf needs a little more memory. Let's say, 16 mb banked memory should be enough for an 8 bit processor. Old Elf only has 4k and I had to sell my childhood to the neighbor's kids to get them. Ever since then I have expanded the memory of every new computer to the brim. There is no such thing as enough memory. Ever. Before I really build that, I would first like to test this with the ProtoZwölf and the breadboard.

Graphics are going to be a bit boring. In 'old Elf mode' the Zwölf should use the ancient CDP1861 graphics chip. It's really great. Hook this thing up to the processor's bus and get instant graphics. Monochrome and quite low resolution, but graphics with a single IC. This IC is extremely hard to get. It's probably been out of production for 35 years and almost impossible to buy anymore. The one in the old Elf is off limits off course, but I still have two spares in perfectly new condition. It also bogs down the processor to 1.79 MHz, so it is only useful to stay compatible to the old Elf. The Zwölf should run a little faster when it's not trying to be compatible.

The problem is that there are no graphics generators around anymore that might be useful. An 8 bit processor can only move so many bytes over it's bus, so colors and resolution must stay within certain limits. Bottom line: There are only two graphics generators that are suitable and fairly easy to get: The Motorola MC6847 and the Texas Instruments TMS9918. I don't like the TMS9918's organization of the video memory. It essentially has no real linear pixel graphics mode. And I found a 6847 in my parts box, so that's going to be it.

Last, I'm going to need some I/O ports. Here the microcontrollers will have to help out again. I'm going to need PS/2 ports for a keyboard and a mouse. I also want to use a microcontroller as an IDE port for mass storage. IDE is easy to do and I can use it with real (old) hard disk drives as well as with SD memory cards. Add a UART for a serial port and a parallel port and we're done with I/O. Almost. Does anyone know a good 8 bit sound chip that is still available?

And why build one Zwölf when I can have three in one? Why not let one Zwölf execute the program, the next one does the I/= and all the hassle with the FAT32 file system and the third one does graphics. Multitasking, 3D graphics or a UI? No problem for a Zwölf with three processors. I just need a suitable interface between the processors. Shared memory buffers? Simple, but lots of discrete logic on the boards. Serial connections are easy to do, but the slowest option. My best bet right now is bidirectional parallel ports. Faster than serial and almost as easy to build, far less logic than shared memory.

Whew. What a rant. So how do you like the Zwölf? I'm going to have years of fun if I really want to build all that.
I have lived with several Zen masters - all of them were cats.

His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

GeneralRe: Today, 41 years ago Pin
Kornfeld Eliyahu Peter24-Dec-19 18:19
mveKornfeld Eliyahu Peter24-Dec-19 18:19 
GeneralRe: Today, 41 years ago Pin
RickZeeland24-Dec-19 20:01
mveRickZeeland24-Dec-19 20:01 
GeneralRe: Today, 41 years ago Pin
CodeWraith25-Dec-19 3:07
MemberCodeWraith25-Dec-19 3:07 
GeneralRe: Today, 41 years ago Pin
theoldfool25-Dec-19 1:28
professionaltheoldfool25-Dec-19 1:28 
GeneralRe: Today, 41 years ago Pin
CodeWraith25-Dec-19 4:29
MemberCodeWraith25-Dec-19 4:29 
GeneralWhen work and life collide Pin
kmoorevs24-Dec-19 11:09
Memberkmoorevs24-Dec-19 11:09 
GeneralRe: When work and life collide Pin
Nelek24-Dec-19 11:32
protectorNelek24-Dec-19 11:32 
GeneralRe: When work and life collide Pin
Ron Anders24-Dec-19 13:02
MemberRon Anders24-Dec-19 13:02 
GeneralRe: When work and life collide Pin
Greg Utas24-Dec-19 13:11
professionalGreg Utas24-Dec-19 13:11 
GeneralRe: When work and life collide Pin
kmoorevs25-Dec-19 7:53
Memberkmoorevs25-Dec-19 7:53 
GeneralRe: When work and life collide Pin
RickZeeland24-Dec-19 20:03
mveRickZeeland24-Dec-19 20:03 
GeneralAfter years I consume at the moment again ... Pin
0x01AA24-Dec-19 8:00
professional0x01AA24-Dec-19 8:00 
GeneralRe: After years I consume at the moment again ... Pin
RickZeeland24-Dec-19 10:15
mveRickZeeland24-Dec-19 10:15 
GeneralRe: After years I consume at the moment again ... Pin
dandy7224-Dec-19 17:00
Memberdandy7224-Dec-19 17:00 
NewsPentagon tells military personnel not to use at-home DNA kits Pin
Cp-Coder24-Dec-19 6:54
MemberCp-Coder24-Dec-19 6:54 
GeneralRe: Pentagon tells military personnel not to use at-home DNA kits Pin
PIEBALDconsult24-Dec-19 6:59
professionalPIEBALDconsult24-Dec-19 6:59 
GeneralRe: Pentagon tells military personnel not to use at-home DNA kits Pin
Cp-Coder24-Dec-19 7:07
MemberCp-Coder24-Dec-19 7:07 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.