|
nah, sticking to more recent events
<< Signature removed due to multiple copyright violations >>
|
|
|
|
|
Ha, yeah, of course!
|
|
|
|
|
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.
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.
|
|
|
|
|
I somwhat envy you ...
CP mostly for programming articles but it is definitively the ever best base for some series... Consider it...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
The Elf always was of great help to Santa too
|
|
|
|
|
I bet![^] Wasn't that guy a saint before he worked for Coca Cola?
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.
|
|
|
|
|
That is great!
My "today" (very mild) version of that:
Last night, I connected one of my Raspberry Pi's to a 7 year old 32" television. I then connected, over the Internet, to an NVR with 11 surveillance cameras. Ran video at 1080. All cameras run and record 24/7 at 15 FPS. The (large) thumbnails looked good, with smooth video. Bringing a single camera up gave smooth (as much as 15 FPS does) and good playback of recordings. All this with a $35 computer (NVR is a 5 year old computer bought via eBay).
Normally, I run the Pi headless and connect via tightvnc and openvpn.
Happy day!
Lou
If you can keep your head while those about you are losing theirs, perhaps you don't understand the situation.
|
|
|
|
|
In many ways the Raspberry Pi is the modern version of the Elf. As much of a computer as you can get out of minimal hardware and expandable in every direction. No wonder that both are built around RISC processors which try to be microprocessors and microcontrollers at the same time.
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.
|
|
|
|
|
|
kmoorevs wrote: but suppose I'd better keep the wife happy... Very wise
kmoorevs wrote: I'd really rather code for another hour or two, ... .I can always get back to it later tonight! No, if premise #1 is not fullfilled
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
The code will be the same way you left it no matter how long you're gone.
The missus, not so much.
|
|
|
|
|
I big to differ. Both degrade over time.
|
|
|
|
|
Yes, the code will not change it's behavior/logic based on the time I ignore it. I'm the boss of my code, 'the missus, not so much'.
"Go forth into the source" - Neal Morse
|
|
|
|
|
You have got to respect the Christmas code
|
|
|
|
|
... while I'm on duty "The Lord of the Rings", part I. And I enjoy it
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Rocketman (story of Elton John) for me while off duty, highly recommended
|
|
|
|
|
That reminds me...it's been a while I've watched them. Years.
I must've seen each one at least 10 times, and it never got old. I've just been re-watching them less frequently.
Maybe I should make a point of watching them during the holidays. Hopefully they hold up. Maybe I should wait for the inevitable 4K editions...
[Edit]
"Mid-2020" is the word for the 4K versions. I guess next year then...
|
|
|
|
|
|
What are they trying to hide? Or are they actually trying to get more people to use them?
|
|
|
|
|
One argument is that information about your potential health problems (for example) can be secretly sold by the companies who keep the data bases. This sounds perfectly reasonable to me. The data bases can also be hacked for nefarious purposes. I'll just stay away - far away!
|
|
|
|
|
Cp-Coder wrote: your potential health problems
Cp-Coder wrote: can also be hacked for nefarious purposes. Ya, how dare someone try to sell you medicine that could help your health problems.
Social Media - A platform that makes it easier for the crazies to find each other.
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
The Pentagon's already got all the DNA samples it wants from its employees.
They get the rest of the population from those very same "private DNA test kits" you allude to. It was news last year; by now it shouldn't be news to anyone anymore.
|
|
|
|
|
are they worried his traced to a killing overseas
|
|
|
|
|
In parsley you can now use a "where" clause to further constrain the parse using C# code.
My gosh this will help with C# parsing.
I'm bound and determined to get Parsley to parse slang and build the codedom tree from it.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|