|
I say stick with the Assembler language, we don't need all this high level mumbo jumbo!
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
Assembler? :CoughsOverScreen:
Bring back machine code that's what I say. Couple of years of toggling your app into the front panel'll do 'em a world o' good!
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I say we get a movement going to revert back to machines with front panels with lights and switches by god.
Code name: Bowel Movement
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
Movement? I never stopped doing these things on my old Elf. While it has a super practical hex keyboard (and a hex 7 segment display), the original DIY Elf really had switches and eight LEDs.
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 love the old ELF, always wanted one but never could justify buying one. What have you done with it lately?
Maybe that will be my next project, a new version od the old ELF?
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
This year my old Elf II will be 41 years old. The bus connectors and the keys are worn out and the whole computer suffers from bad contacts. For my experiments it's slowly becoming better to build a new one. How about this:
- 16 Mb RAM in separate three banks, no ROM in the memory map
- BIOS (or anything else) will be loaded by a microcontroller via DMA. The microcontroller also takes care of the processor modes, so that the computer can stay compatible to the old Elves and still boot like a more modern computer.
- traditional bit banged serial interface, like the old Elf
- traditional bit banged cassette interface, again to stay compatible to the old Elf
- PS/2 mouse and keyboard connectors, so that you can use more modern input devices
- Alternatively a real UART and a serial to USB converter.
- A DIY IDE port to connect one or two Compact Flash cards as 'hard drives'.
- The old CDP1861 graphics chip is extremely hard to get. I have one, just in case the old Elf ever suffers a terrible accident, so it's off limits. How about building a single board Elf with, let's say, 1 Mb graphics RAM, a MC6847 graphics chip and some yet to be determined interface to the main processor (the DGP, decelerated graphics port ) I want to have vector graphics on my Elf.
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.
|
|
|
|
|
Hmmm sounds like a RPi
What MCU/MPU would you use?
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
Much, much older. The original Elf is from 1976 and was designed around the architecture of the processor by the 'father' of the processor itself. AN Elf without a CDP1802 is no Elf.
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.
|
|
|
|
|
Yeah that makes sense! Just ebyed the DP1892 and lo they're still available and cheap as hell! $2
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
For my reimagined Elf I would use a CDP1802BCE (usually from Harris or Intersil), that runs at blistering 5 MHz at 5V. A CDP1802ACE would be sufficient for a more or less accurate original Elf, because the CDP1861 graphics chip relies on very accurate timing with the processor. That limits the processor's clock to 1.79 MHz, but any graphics at all in a single board computer were more valuable than brute processor power at the time. Anyway, I would at least replace the original 2101 static memories (256 bytes) at least by something like a 62256 static RAM (32k x 8). I'm sure with his way of making most of very little, the original designer would have done the same if such a thing would have been at his disposal. And a 62256 is easy to get and costs around 2 bucks. We would have killed to get one in 1978.
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'm looking at maybe doing something with this Arduino Due[^]
It's a PDF - devicedoc/atmel-11057-32-bit-cortex-m3-microcontroller-sam3x-sam3a_datasheet.pdf
Not sure yet if can run programs from SRAM or not though?
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
I don't think it can do that. At first glance I do not see any of the I/O lines to drive a memory bus. It does have many UARTs and USARTs, so it can access one of those tiny serial ROMs[^], if that helps.
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.
|
|
|
|
|
According to a post in AVRFreaks;
Create a function that is prefixed with this line:
Code: [Select]
__attribute__ ((long_call, section (".ramfunc")))
That will cause the function to reside in RAM. The SAM3X can call RAM functions just the same as FLASH functions so you don't need to do anything else to make the call. It can literally long jump into a RAM function. But, you have to be careful what you do within a RAM function. You generally don't want to be calling external code - just do what you need to do to the hardware and get out.
So yeah you're right I don't see it being practical. Hmm was hoping!
Oh well worth a shot!
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
Ahh, ok you don#t want to use external RAM! You just want to run code in the internal RAM. That's something different, of course.
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.
|
|
|
|
|
No I've got no problem with running in external RAM.
If I do this it will probably be with a full fledged processor like the CDP1802, Z80 or something similar?
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
I would say that would be the better choice. A 'real' microprocessor is equipped to drive a bus and it's up to you what you want to hook up to that bus and how much of it. More parts, bigger boards and more soldering, but also more freedom to do whatever you are up to. You will have to stay with stone age tech anyway because getting yourself the equipment to develop any hardware more advanced than, let's say a MC68000, can quickly become very expensive. Even worse, you will have a hard time finding suitable periphery chips, because computers depended more and more on custom chipsets and not general purpose devices. Where would be the point to rebuild an Amiga or Atari ST? Simply get one on Ebay if you really want one, but even they are slowly becoming more rare.
But microcontrollers are also very useful. Even cheap little PIC microcontrollers can easily emulate periphery chips that are long out of production. In my new Elf I want to use them as PS/2 ports, bootloader, hex keyboard encoder, hex display driver and interrupt encoder, just to name a few. Most of these tasks could only inadequately be done with simple logic gates because they would take up far more space on your board and quickly cost more than that simple microcontroller.
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.
|
|
|
|
|
Mike Hankey wrote: machines with front panels with lights and switches When I was in college I took a class in real-time programming. The lab environment was two DEC PDP-11/05's. Both of them had a 128-word core memory board that stored the boot code for RT-11 (the PDP-11 operating system). Unfortunately the core memory was not protected from writing, so student programs could (and did regularly) overwrite the boot code. Fortunately a dump of the 80 or so words of boot code was laminated to the front of the machine cabinet. Almost everyone taking the class had to re-enter the boot code with the front panel switches at least once. One bad programmer poor soul got so good at it he could re-enter the boot code in under 60 seconds.
Software Zen: delete this;
|
|
|
|
|
Would that poor soul have been you?
I got an Altair 8800 from the college and played with it for a while, but then I got an Commodore 64 and that consumed all my time after that.
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
Mike Hankey wrote: Would that poor soul have been you? Nope. I only had to re-enter the boot a couple of times.
I remember two things about that class.
One, PDP-11 assembly language was elegant. Every addressing mode worked with every register, even when that didn't make any sense. I remember a single instruction that you could write that would cause the CPU to copy the instruction to the word at the preceding address in memory and then jump there. The end result was the address register (as displayed on the front panel lights) would continuously decrement. The machine was useless, but the result was fun.
Two, we built a small real-time multithreading kernel in the course. For all that the basics only required < 100 lines of code, it was pretty cool. It only supported two constructs - semaphores and context switching. We could still build pretty cool applications with it. The final project for the course was to read punch cards from a card reader, print their content on a line printer, and at the same time talk to a serial CRT terminal for displaying status. Getting the whole thing working was the first step. To pass the course you had to let the instructor halt the machine, dump the memory, and you had to walk the dump and tell him where every thread was executing and what it was doing. One of the most difficult classes I ever had, but also the most fun.
Software Zen: delete this;
|
|
|
|
|
I wrote some assembly for a PDP/11 and yes it was fairly elegant, I enjoyed it.
The class sounds pretty cool but difficult.
Still write assembler on an ATMega328P, although rarely, most the time I use C or C++!
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
I haven't written assembly language in quite a while. The last was some Microchip PIC code on a *cough* outside job *cough* a few years ago. I've had to learn to read 'ColdFire' assembly language (distant successor to the 68000) recently, but haven't needed to write it yet.
Most of my development is in C#, C++, and C.
Software Zen: delete this;
|
|
|
|
|
Thee's really not much of a need anymore, unless you've got some tight timing that needs to be done. Most everything can be done with C or variants.
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
Agreed. You see it in embedded stuff (that's where all of mine is found) and maybe low-level kernel programming. I can't imagine using it directly in an application. Even performance-enhancers (graphics GPU's and other outboard stuff) give you at least a 'C'-level interface nowadays.
Think we've frightened the youngsters sufficiently?
Software Zen: delete this;
|
|
|
|
|
Gary Wheeler wrote: Think we've frightened the youngsters sufficiently?
I think we lost em at C and C++!
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
Gary Wheeler wrote: One, PDP-11 assembly language was elegant. Even more elegant is a processor that has only one addressing mode, loading and storing everything via its many general purpose registers. Essentially that's a RISC processor.
Mike, that CDP1802 I was talking about was one of the earliest RISC designs, before the term RISC was even invented. And I think it bears a remote resemblance to the later ARM processors.
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.
|
|
|
|