Slightly further on from the last post. I have added two things - firstly the ability to use a background rather than just a single colour, and some authentically bad sound effects.
The latter was nicked from the Watchman project - rather than generating a simple tone it's a modulated tone, which gives it that authentic "tuneless Sinclair Spectrum music" sound that goes with cheapo sound hardware.
The Funtronics Handhelds were a series of simple electronic handheld toys. For Retrochallenge Summer 2013 I intend to recreate one or more of the currently existing toys and at least one new one, in emulator form.
Tuesday, 2 July 2013
Sort of working
This is the current working version of the Funtronics emulator. On the left, the debugger window, on the right, a very quick and dirty sample screen. It is written to the design in the documentation.
The screen has 3 LEDs - a Red one, that is on, the Yellow one (top left) and a Green one (bottom centre) that are off. There are two switches - a push button (black square on the left) and a slide switch (on the right).
It is actually running real code - you can see a little bt of it in the window and it doesn't do anything other than switch the RED LED on and off as the slide switch goes from left to right.
There's no sound, yet, though the hooks for it are there.
I really just wrote it for testing so I could see if the whole 'wiring up' thing works. And it appears to work fine. Once the speaker is installed the basic emulator will be finished, and then there is just the matter of writing some code for it. I also want to spruce up the graphic display a bit.
The screen has 3 LEDs - a Red one, that is on, the Yellow one (top left) and a Green one (bottom centre) that are off. There are two switches - a push button (black square on the left) and a slide switch (on the right).
It is actually running real code - you can see a little bt of it in the window and it doesn't do anything other than switch the RED LED on and off as the slide switch goes from left to right.
There's no sound, yet, though the hooks for it are there.
I really just wrote it for testing so I could see if the whole 'wiring up' thing works. And it appears to work fine. Once the speaker is installed the basic emulator will be finished, and then there is just the matter of writing some code for it. I also want to spruce up the graphic display a bit.
Useless factoid of the day.
The COP411 has an instruction which outputs the current memory location to the "G" port.
Thus in a co-processor system with the CDP1802 one could have the following assembler code.
OMG
SEX
.... okay, it's been a long day.
Thus in a co-processor system with the CDP1802 one could have the following assembler code.
OMG
SEX
.... okay, it's been a long day.
Documentation
Version 0.00001 of the Documentation on how I'm going to make the whole thing wire up together coherently (and some documents regarding the Emulator and Assembler) is now in the links box.
Well, I thought I'd better write some documentation .....
Well, I thought I'd better write some documentation .....
Monday, 1 July 2013
Kevin Savetz's book
As a slightly relevant aside, I did get a prize in the last RC, kindly donated by Kevin Savetz (I'm guessing this is him :) ). Signed copy, no less.
If you ever want an entertaining read and you are a 70s/80s computer geek, it's highly recommended.
Actually a lot of the book could be about me, (if you cross out where it says "Atari" and replace it with "Sharp MZ-80K and BBC Micro."), I never owned any Atari kit before an Atari ST.
If you ever want an entertaining read and you are a 70s/80s computer geek, it's highly recommended.
Actually a lot of the book could be about me, (if you cross out where it says "Atari" and replace it with "Sharp MZ-80K and BBC Micro."), I never owned any Atari kit before an Atari ST.
First release of Assembler and Emulator
The post title gives it away really.
I've added to the links bar links to zips of the Assembler and Emulator for the Funtronics hardware.
These should be very much considered v0.1 (actually they are .....) but they do work, admittedly you can't do much with them, yet.
The souce is set up for Eclipse and both were developed under Java 7, though 6 will probably work. (not so sure about the audio)
The emulator has no actual hardware so whilst it will run COP411 binaries it won't interact with anything external.
Finding a graphic for Assembly Language isn't that easy and I came up with this stack. I can't really see a HLL for this machine being developed - but having said that, there's a machine called the "Gakken GMC-4" you can get which is a 4 bit Microcomputer based on a Tandy (Radio Shack) trainer from the 1980s. Someone wrote a GCC back end for it and someone else wrote a Basic compiler. So you never know. Given that it has about 80 bytes of program memory (4 bit memory at that) you couldn't do much with it (but then you couldn't with Atari 2600 BASIC either ....)
So, anyway, the next thing is to develop the hardware interface. This will probably be integrated into the assembler, because there is no consistent hardware for this machine, merely a bunch of LEDs, switches and buttons that appear in various places on the game box. So there will be some sort of descriptive language for that that is integrated into the assembler.
The hardware will be a sort of crossover between Jacks and Red Light Green Light. It will take the basic design of RLGL and add to it the option of the keyboard matrix in Jacks. While the patents are pretty similar, there are silly design differences - in RLGL the power switch is connected to G2 and the speaker to G3. In Jacks the power switch is connected to G3 and the speaker to G1. (Port G is a configurable I/O port).
I did have the idea of making the design completely configurable but I thought that was going a bit far. I will basically stick with the RLGL hardware (4,296,926) with the Switches 16a-f added as in Jacks (4,355,806). This will be extended slightly on both, so that there are a possible total of 8 switches mapped to L4/L5 and D0/D1/D2/D3 (giving a total of 8 switches, and G0 and G1) and 16 LEDs - with their anodes driven by L0/L1/L2/L3 sinking into D0/D1/D2/D3.
I've added to the links bar links to zips of the Assembler and Emulator for the Funtronics hardware.
These should be very much considered v0.1 (actually they are .....) but they do work, admittedly you can't do much with them, yet.
The souce is set up for Eclipse and both were developed under Java 7, though 6 will probably work. (not so sure about the audio)
The emulator has no actual hardware so whilst it will run COP411 binaries it won't interact with anything external.
Finding a graphic for Assembly Language isn't that easy and I came up with this stack. I can't really see a HLL for this machine being developed - but having said that, there's a machine called the "Gakken GMC-4" you can get which is a 4 bit Microcomputer based on a Tandy (Radio Shack) trainer from the 1980s. Someone wrote a GCC back end for it and someone else wrote a Basic compiler. So you never know. Given that it has about 80 bytes of program memory (4 bit memory at that) you couldn't do much with it (but then you couldn't with Atari 2600 BASIC either ....)
So, anyway, the next thing is to develop the hardware interface. This will probably be integrated into the assembler, because there is no consistent hardware for this machine, merely a bunch of LEDs, switches and buttons that appear in various places on the game box. So there will be some sort of descriptive language for that that is integrated into the assembler.
The hardware will be a sort of crossover between Jacks and Red Light Green Light. It will take the basic design of RLGL and add to it the option of the keyboard matrix in Jacks. While the patents are pretty similar, there are silly design differences - in RLGL the power switch is connected to G2 and the speaker to G3. In Jacks the power switch is connected to G3 and the speaker to G1. (Port G is a configurable I/O port).
I did have the idea of making the design completely configurable but I thought that was going a bit far. I will basically stick with the RLGL hardware (4,296,926) with the Switches 16a-f added as in Jacks (4,355,806). This will be extended slightly on both, so that there are a possible total of 8 switches mapped to L4/L5 and D0/D1/D2/D3 (giving a total of 8 switches, and G0 and G1) and 16 LEDs - with their anodes driven by L0/L1/L2/L3 sinking into D0/D1/D2/D3.
Working COP411 Emulator
As the post title implies, the emulator for the COP411 is now working and here it is.
One oddity is that whilst there are only 32 nibbles of RAM, the mapping actually allows for 64 bits of RAM (Bd is 4 bits, Br is 2 bits).
A consequence of this is that in the map every nibble appears twice - e.g. $00,$08 ... $01,$09 and so on. (The hardware ignores bit 3 of the Bd register).
Now I need to cannibalise the Assembler I wrote for the watch project so it will assemble COP411 assembler. There is actually a working COP411 assembler available, but I want to be able to extend it easily.
One oddity is that whilst there are only 32 nibbles of RAM, the mapping actually allows for 64 bits of RAM (Bd is 4 bits, Br is 2 bits).
A consequence of this is that in the map every nibble appears twice - e.g. $00,$08 ... $01,$09 and so on. (The hardware ignores bit 3 of the Bd register).
Now I need to cannibalise the Assembler I wrote for the watch project so it will assemble COP411 assembler. There is actually a working COP411 assembler available, but I want to be able to extend it easily.
Subscribe to:
Posts (Atom)



