Monday 19 October 2009
Par Torlus,
Monday 19 October 2009 à 21:48 :: Oldies
Everything you need to know about the Guimauve 2ooo Apple //c VGA adapter can be found here : http://silicium.org/g2k/.
Last details have been sorted out, and boards are now available for purchase.
Enjoy!
aucun commentaire
:: aucun trackback
Friday 25 September 2009
Par Torlus,
Friday 25 September 2009 à 23:25 :: Oldies
Some time ago, I managed to get a (broken) X68000. The power supply died the first time I powered it on, but it wasn't much of an issue, as you can easily replace a broken power supply with a standard ATX one, as explained here.
The main issue with this X68000 was an overclocking mod that had been performed by its previous owner, and prevented the machine to boot. I managed to remove this mod (the tricky part was to eventually find a track on the motherboard, which had been cut), and everything went fine. However, having an ugly grey box (the only spare ATX power supply I had at that time) was really awful, especially as I love the case design of this machine.
So I purchased another ATX power supply, and managed to fit it into the case, reusing the original fan for proper cooling of the whole thing.
Here is a picture of the X68000 and its brand new power supply ;)

aucun commentaire
:: aucun trackback
Thursday 24 September 2009
Par Torlus,
Thursday 24 September 2009 à 09:09 :: Oldies
Exelvision is an obscure brand of computers from France, that operated in the 80s, their most famous home computer being the Exl 100.
For more information, here is Fabrice Montupet's Exelvision-related website, which is the largest source of information you can find on this company and their computers.
The Exl 100 embeds two CPUs : a TMS7020, and a TMS7041, the TMS7020 being the main CPU, whereas the 7041 is used as a microcontroller, and is responsible for most I/O related stuff, including screen display (for instance, it stores in its internal ROM the character table).
Until now, the contents of this ROM hadn't be retreived, so it was an issue for emulator writers. However, someone on Silicium's forum found this newsgroup thread, explaining a way to retreive the internal ROM contents of a PIC7040, which is very close to the TMS7041, so I decided to give it a try.
For this purpose, I used my favorite FPGA board, to make the TMS7041 output its internal ROM to the board's SRAM, then dump the SRAM contents over a serial port. Here is a picture of the whole stuff :
After some attempts, it seems that it worked fine :) Emulator writers are currently analyzing the ROM contents, and have a good feeling about it.
It should hopefully lead to a better understanding and emulation of these obscure machines.
un commentaire
:: aucun trackback
Monday 25 August 2008
Par Torlus,
Monday 25 August 2008 à 22:22 :: Oldies
Above is a picture of my 2600 Monocart. It's a "Flash cart" for the Atari 2600, featuring an ATtiny461 with a AVRUSB-based firmware. It also features a EPM3064 CPLD that will perform the various bankswitching stuff you can find on many 2600 carts.
I've called this project "Monocart" (as opposed to "Multicart"), because the memory size is only 32Kb, so don't expect to load tons of games into it ;)
I wanted to make the board as convenient as possible : all DIP and PLCC components (with the exception of a 3.3V LDO regulator), and standard programming headers available on the board itself.
I managed to have it work properly, but not as I intended at first. I planned to use a NVRAM chip, so it would have been able to emulate the additional RAM you can find on some carts. However, for some reason, the chip doesn't work as expected. I ended up using a standard EEPROM (28C64) and it went fine. So let's call it half-successful ;)
Now I need to write some kind of "bootloader", that will set up bankswitching, and maybe display a nice logo too ;) and write all the bankswitching logic you can find on 2600 carts (there are many of them, due to the limited 4KB address space of the 6507 CPU used in the 2600).
Later, I will try to figure out why it doesn't work with the NVRAM chip. I tried to use it on a Pixel Past PCB (suspecting a flaw in my own board design) and it failed too.
2 commentaires
:: aucun trackback
Friday 11 July 2008
Par Torlus,
Friday 11 July 2008 à 07:42 :: Oldies
I double-triple-checked my board, in order to sort out the issues I talked about in my previous post, but everything looked correct at the hardware level so far... krb then suggested to chat with some people in the PCE homebrew scene, and the well-known hacker Charles MacDonald explained me the weird ROM layout when it comes to games larger than 256Kb. After some attempts, I patched my flash programming software to take care of this layout, and it works !
Here you can see Bomberman '93 running fine on a SuperGrafx. Thank you Pascal and Charles for your help ;)

3 commentaires
:: aucun trackback
Wednesday 9 July 2008
Par Torlus,
Wednesday 9 July 2008 à 01:34 :: Oldies
I recycled my "Generic USB Linker" gizmo to make a Flash cart for PC Engine consoles.
I etched a PCB having roughly the size of a HuCard, and connected it to my flash board, and it works... almost. For some reason, on the ROM I've tested, some sprites are garbage, but the reamining sprites/backgrounds are OK, music and SFX work too, as well as the game itself. Weird. Well it's enough for today, I'll have a look at these issues later ;)
Here is a picture for now (click on it to get a full-sized one).

aucun commentaire
:: aucun trackback
Wednesday 18 June 2008
Par Torlus,
Wednesday 18 June 2008 à 23:34 :: Oldies
Just a small picture of something I'm currently working on...
More on that later... For this one, I will have the PCB manufactured.
un commentaire
:: aucun trackback
Sunday 8 June 2008
Par Torlus,
Sunday 8 June 2008 à 09:15 :: Oldies
I've managed to fully assemble my flash cart yesterday, and connected it in place of a SNES cartridge Mask ROM.
Guess what ? It's working ;)
On the left side of the picture is the flash cart connected to a SNES cartridge. On the right side, you can find the programmer board, that allows programming of the flash cart with a PC, via an USB cable.
Well, that's already a good start. SNES is just one of many targets this flash cart could be used on. Stay tuned for further updates ;)
un commentaire
:: aucun trackback
Sunday 1 June 2008
Par Torlus,
Sunday 1 June 2008 à 13:20 :: Oldies
It's been some time since my last update... Spare time is hard to find when you have two little kids to take care of ;)
Anyway, I've been working these last weeks on a "Generic" linker for old cartridge-based systems. The principle is to use 2 boards : one "motherboard" containing some flash memory, as well as the required stuff to write to this flash via USB, and a "daughter board", that contains system-specific logic.
As I decided to build the PCB myself, I splitted the "motherboard" into 2 boards : one containing the flash memory, the other being the USB flash programmer. I used a PIC18F4550 as the main chip of the programmer board. Here are some pictures of the programmer board, linked to the (partially assembled) flash memory board.
As you can see on the flash memory board, I had to correct some shortcuts by hand. I need to perform a full check of both boards now, then I'll work on the software side, and see if eveything works fine.
Some thoughts about this project :
- Instead of building 2 boards "by hand", I should have had the PCB built by some PCB house. Those are cheap nowadays, and it would have saved me the hassle of this 40-pin header soldering, and PCB tracks correction and such, since I would have been able to put both the programmer stuff and the memory on the same board.
- My programmer board needs a full redesign. My choices weren't wise as the time, and the consequence is that the programming phase will be way too slow. Anyway it should be sufficient for a "proof-of-concept".
aucun commentaire
:: aucun trackback
Wednesday 5 December 2007
Par Torlus,
Wednesday 5 December 2007 à 21:22 :: Oldies
I added a PS/2 keyboard interface to the system, which makes it possible to play a bit with the Basic.
Fabrice Frances also provided me a modified ROM that is able to somewhat "resume" the execution of the system, from a memory dump that can be done from his well-known emulator, Euphoric. So I designed a memory loader, that downloads the contents from such a dump into memory, with the help of a FTDI USB module. First results look nice :)
EDIT : DBug gave me some tips to fix the .TAP files header (disabling the autostart) and retreive information from it (like the start address). It means that along with Fabrice's ROM, it now brings a great testing solution :) Here you can see some of his demos running.
aucun commentaire
:: aucun trackback
Sunday 18 November 2007
Par Torlus,
Sunday 18 November 2007 à 18:45 :: Oldies
I managed to fix some bugs in the ULA, and now it displays the Basic welcome screen correctly. The cursor also blinks like it was supposed to do.
The "key pressed forever" issue was due to the PB3 input of the VIA that was incorrectly held high.
Next thing to do, add a PS/2 keyboard interface ;)
aucun commentaire
:: aucun trackback
Tuesday 13 November 2007
Par Torlus,
Tuesday 13 November 2007 à 21:14 :: Oldies
The project of emulating an Oric-1 in a FPGA is something I started some months ago... until my interest in doing such a thing faded a bit...
Fortunately, mostly because of the (then upcoming) Alchimie 7 party, I went back to this project. I didn't manage to have something working (at least showing some stuff on a TV) during this party, but I worked a bit on it, and managed to get some results in simulation.
Now, after a few days worth of work, here is a first version on the "Oric-on-a-chip" booting the Oric Atmos ROM :)
You may notice some issues here : the first line is not what it is expected to be, and for some reason, it acts like the * keyboard key is pressed forever. But well, that's a good start anyway.
For the moment, there is no PSG implementation at all, and I guess the VIA and ULA code need some rework too :)
More to come soon, hopefully :)
aucun commentaire
:: aucun trackback
Wednesday 4 July 2007
Par Torlus,
Wednesday 4 July 2007 à 23:38 :: Oldies
This is a project I started some months ago : connect a C64 SID to a PC using the USB port, in order to listen to my favorites C64 tunes on the "real thing".
See my previous posts about it here and here.
To sum up, connecting a SID to the parallel port of a PC gives good results, but it was another story with USB, which works in "packetized" mode, and therefore my first attempts suffered from latency issues.
Some time ago, some people seeing my page contacted me about this project, with some new ideas. One of these ideas was to do the synchronization on the hardware side, rather than on the software side.
So here is the new interface :
It features :
- a PIC16F690 (here, installed on the "Low Pin Count Demo Board" from Microchip)
- a FT245BM USB FIFO IC (on a handy DIP module)
Here is how it works (it's dead simple) : on the software side, SID commands are sent to the USB FIFO, and for each start of frame, it inserts a special value in the FIFO (a "marker").
On the hardware side, there is a Timer on the PIC (at 50Hz). When the Timer counter overflows, the PIC starts reading the FIFO and sends commands to the SID, until it finds a marker. Et voila !
Here is a small recording made using this interface (the music is Sanxion's loader tune, from Rob Hubbard) : usbSID Sanxion playback
The whole thing needs some rework, but I'm very happy with the first results. It could lead to one of the cheapest (and handiest) way to feel the SID magic ;)
7 commentaires
:: aucun trackback
Monday 19 March 2007
Par Torlus,
Monday 19 March 2007 à 22:24 :: Oldies
Yet another old microcomputer in a FPGA :) This time, the "victim" is the Thomson MO5, a machine based on the Motorola 6809E microprocessor. This machine sold well in France, especially because Thomson was the company chosen by the French governement to try to "bring microcomputing to the masses", back in the 80s.
Now, some explanations about the project itself : as most of my Hector-related project is done, I had the idea to do something similar for the Thomson MO/TO microcomputers. A bit of googling led me to a thread in Logicielsmoto.com forums, where someone was saying that he made the implementation of the Thomson MO5 main component (a gate-array used for video and glue logic) into a CPLD. I managed to contact him, with the help of the Serveur87.com mailing list people. The author of the gate-array reimplementation accepted to share his work, and I managed to put things together using the System09's 6809 core, and writing a 6821 core. And here is the result :
Sorry for the bad picture, but that's all I can do for now... as the project is not finished. For instance there is no keyboard interface (EDIT : it is done now). But most of the system seems to work : CPU, ROM, RAM, video, interrupts...
I would especially like to thank :
- Pierre Schmidt (Whitebird), author of the gate-array CPLD conversion. He is the person to give credit for this project, as without him, it would probably not exist.
- Edouard Forler (FoolDuplex), who helped Pierre with his design, then helped me to contact Pierre, and for his advice.
EDIT : I just finished the keyboard interface today, now I can play with MO5 BASIC :) I've also updated the picture (click on it to get the full-size one).
5 commentaires
:: aucun trackback
Sunday 11 February 2007
Par Torlus,
Sunday 11 February 2007 à 18:28 :: Oldies
These last days, I have been working on a small project : have an old "Pong" video game (here, from Univox) video output adapted to a TRS-80 monitor. Most "Pongs", including this one, are usually connected to a television through the antenna plug. As usual on this kind of devices, the video signal can easily be found right before the UHF modulator.
However, this one has an interesting "feature" : the video signal is inverted (!) and sits between 0.5V and 1.5V (1Vpp). The TRS-80 monitor expects a 2Vpp signal, between 0V and 2V. I also thought that it would be nice to be able to make a composite output too, so I started to think about a generic solution to perform this kind of operation (here, invert the signal, change its amplitude when needed and adjust it to the right reference voltage).
I thought that this kind of operation could be done with a Operational Amplifier (Op Amp, for short). So here is what I did :
- From the positive voltage coming from the power supply of the device, generate a negative voltage. It has been done using this 555-Timer based voltage inverter circuit.
- Regulate both the positive and negative voltages, to feed up the Op Amp with proper voltages. This has been done using LM1117 and LM2990 LDO regulators.
- Finally, use the Op Amp to perform a voltage substraction and amplification. I used the MAX477, which is a bit overkill, as it has a 300Mhz bandwidth (!). But at least, there is no signal distortion issue, unlike with the basic 741 one I used for a first try :)
Here is the result :
There are probably better and cheaper solutions, but I'm quite happy with it, as I managed to design the circuit myself, provided that my knowledge about analog electronics is close to nothing :) Please let me know if you're interested in the schematics.
Note : the 555 voltage inverter circuit schematic has a small mistake in it : the R1 resistor needs to be connected between the 6 and 7 pins, V+ being connected to the 8 pin.
My Hector HRX in a FPGA documentation has been updated as well (the document is still in French). You can find the updated documentation here.
aucun commentaire
:: aucun trackback