Welcome to Retro Ramblings, my retro-computing and FPGA development blog. I opened the site to serve as an outlet for some old Amiga projects that I recently uncovered after digging out my old machines, but the site’s ended up being more about my FPGA adventures than retro projects!
I hope as the site develops you’ll find something of interest!
I have been programming Assembler for half of my life now and since I also own a Turbo Chamäleon, I read your article “Pong revisited” with great interesst. Great Job!! 🙂
Once question remains: Since I am a hobbyist, who cannot invest in a huge professional VHDL development stack: Can you by chance advise some reasonably priced or even free (Open Source?) tools to just play around with this FPGA topic a bit?
Glad you enjoyed the “Pong Revisited” article – and congrats on buying a Chameleon – excellent piece of hardware!
As luck would have it, Altera’s huge professional VHDL development stack is available in a “free “Web Edition” as well as the eye-watering out-of-reach-of-hobbyists Subscription edition
It’s a massive download but it’s actually really good software. The free edition will only use one processor core for compiling, and lacks a few other advanced features, but *does* include the SignalTap software.
I’d strongly recommend using the hardware test core as a starting point – see if you can make the black background into a gradient or something – you can download binary and source from Syntiac’s website
I also soldered a JTAG header onto my Chameleon, so I could program cores directly into it from within Quartus using a USB Blaster. Without that, the only way to test a core is to use the Chaco program, uploading it into a flash slot and then running it from there. That method works, of course, but it’s a bit long-winded and tedious.
Thank you so much for the blog plug. Really appreciated.
Your plug has pointed me in the direction of your blog, which I didn’t know exited beforehand. I’m really enjoying ploughing through your posts, and have now added it to my favourites. I’ll be checking back on a regular basis.
Keep up the great work!
Hello my good sir! First I thought this was the blog of TobiFlexx, the original porter of the minimig core to the chameleon. Today I realised that you are a different person. I think the chameleon community really has to thank you for improving this one as the original development seems to have stopped one year ago. This is quite sad as I think that there is still room for improvement:
For example a ‘working’ instance of 68020, AGA and the possibility to transfer PAL to 60 Hz using double buffering. But the latter seems to take a lot of memory bandwidth so maybe this was only possible with the c64 core.
I’m also a FPGA developer but I’ve worked only with xilinx devices and i think a project like this is to big for me to manage as I don’t really developed anything using altera. I was tinkering to port minimig to my atlys but this board is just to different with ddr ram and dvi. ^^’
Thanks for the comments – but TobiFlexx still deserves the lion’s share of the credit – my tinkering’s nothing compared with his creation of the processor core and making the dual-CPU FPGA core that allows the Minimig to stand alone without an external controller.
I stumbled across the TC64 and your Minimig Core since I am very interested in getting a Minimig.
I am absolutely not into the technical details of the C64, Amiga or FPGA.
My only intend it to play all the nice games from back then.
On my C64 I am doing this already with an 1541 Ultimate.
Regarding the Amiga Games I was planning on getting an Minimig but the TC64 seems to give me the C64 and Amiga Games with only one setup.
Would you recoomend the TC64 with the Minimig Core to play the Amiga games or would it be better to stick with the Minimig itself (compatability or other ssues)?
There are still a few games that work on the original Minimig but not yet on the TC64 Minimig core, but on the whole the TC64 core is pretty good. It also has *lots* more memory available than the original Minimig, so it’s far more successful with WHDLoad.
Hello! How may I subscribe to this blog? My browser doesn’t reveal anything on your blog, is there an RSS-feed?
Thanks in advance.
I hadn’t even thought about RSS feeds, but it turns out WordPress creates one automatically, which you can find at: http://retroramblings.net/?feed=rss2
I was given this site and your name when I inquired on another forum if there was anyone that could make an add on board for a DE1 fpga. Specifically to support the MSX core running on a DE1.
If this is something you be willing to do could you make an add-on board just like the one you made for gaula92.
Yes, certainly. Just bear in mind that it will be wired to support Commodore / Atari style joysticks, not MSX-wired joysticks – will that be OK?
Atari style joystick ports are fine. What does the board support besides joysticks?
Thank you very much!
I’ve enjoyed checking out your blog! Although most articles are way too technical for me 😉
I have a small question which I hope you can help me with.
I’m looking for an FPGA board that can run both C64 and Amiga cores. I really need support for two mice since I really would like to play two player Lemmings in the Amiga mode. 🙂
I did my research and ended up comparing the MIST board and the Turbo Chameleon 64, both which appear pretty stable and are currently available to purchase. I intend to use the device as a standalone device connected to my TV.
Unfortunately it seems the MIST board does not support two Amiga nor PS/2 mice (yet). However, I read in a few forum posts that the Chameleon should support real Amiga mice.
One of the posts I found about this was yours, on the Minimig forum:
However, on the Chameleon Wiki’s known bugs page, it says that real Amiga mice are not supported:
I’m puzzled now. I’d be grateful if you could offer your opinion on this. Are Amiga mice supported right now, and also two of those mice simultaneously?
Thank you very much for reading this.
There’s a little bit of confusion with the Chameleon, because the name refers both to the hardware and to the default C64 core. The Minimig core does support two Amiga mice in the docking station (or one Amiga mouse and a PS/2 mouse) – however, the default C64 core doesn’t support them, and will in many cases refuse to start up if an Amiga mouse is connected, showing the message “Waiting for keys released”. Therefore to use Amiga mice, you have to start the Minimig core, then plug the mice in. I’ve just verified with two Amiga mice and Battle Squadron that this works.
Alright, that’s great news then, thanks for clarifying!
Hi, great work on improving the minimig core so far 🙂 You do not seem to have made any updates on it for over a year though. Are you expecting to do more work on the minimig core in the future? Maybe making AGA support and support for the Amiga 500 keyboard? Otherwise its running great for me 🙂 Nice to be able to use commodore joystics and mice to play Amiga games.
I don’t have nearly as much time for this stuff as I used to, so progress is slow, and I’ve been sidetracked with other projects such as the ZPUFlex core, control module and MSX and PC Engine ports.
I am, however, currently working on the Minimig core for the MIST board, changing how the CPU is clocked with the aim of improving stability, which should make developing the core much less frustrating. Once that’s working I will look at porting the preliminary AGA support from MIST back to the Chameleon.
Greetings fellow retro amiga dood!
Great projects on here. Glad I discovered this today.
Did I read that you ported the TG68 core to Verilog? I’m a verilog guy. I know you can do mixed language VHDL and Verilog projects, but it would be simpler to have everything in Verilog. At the minimum, I’d be able to read it better/easier. Is that available someplace? github?
Have you seen this core deployed on a Altera DE0(not the DE0-NANO) ? I think there should likely be room. I believe the DE0 has 15-16K logic cells. For now, I’m just trying to get a 68K softcore up and running, attach some RAM (SDRAM, I’ve got a working controller), attach some ROM (probably produced from a .mif), and minor peripherals, vga controller (minimal cells), and a keyboard.
Anyways, keep up the great work, I’m going to add link to your blog.
I haven’t ported it to Verilog, merely used in projects that also contain some verilog code. It should fit easily within the resources of a DE0 – the TG68MiniSOC is under 8,000 logic elements.
Good luck with the project. 🙂
AMR, I am currently a user of the latest OneChip MSX2 core for Mist FPGA. Unfortunately any attempt to do a write to my SD card locks up the system. Thoughts?
Yeah I’ve been following the discussion on the GitHub issues – and will take a look as soon as time allows. Thanks for the report.
Any chance you could look at the PC Engine on the MiST. The display keeps scrolling on a SCART RGB 15khz TV. I’ve had a look myself but can’t figure out the issue. Possibly there’s a sync issue with the composite signal for RGB.
I will take a look when I get a chance. It’s possible the scanrates are slightly out of spec.
If you could swap the 2 pad action buttons when you’re at it. As they are reversed right now. Or add some sort of option to set them.
I’ve fixed the RGB 15khz issue, the patch is below. The screen is quite a long way to the left though – same on VGA. Any tips where I can look to adjust this?
$ diff -Nur virtual_toplevel.vhd.orig virtual_toplevel.vhd
— virtual_toplevel.vhd.orig 2017-02-08 17:08:51.266576699 +0000
+++ virtual_toplevel.vhd 2017-02-20 18:56:58.638060651 +0000
@@ -781,7 +781,9 @@
vga_blue_i <= BLUE when SW(0)='1' else VGA_BLUE;
vga_hsync_i <= HS_N when SW(0)='1' else VGA_HS_N;
vga_vsync_i <= VS_N when SW(0)='1' else VGA_VS_N;
-VGA_HS <= vga_hsync_i;
-VGA_VS <= vga_vsync_i;
+VGA_HS <= not (vga_hsync_i xor vga_vsync_i) when SW(0)='1' else vga_hsync_i;
+VGA_VS <= '1' when SW(0)='1' else vga_vsync_i;
Hi AMR, I still love playing the PC engine emulator on my TC64, is there any chance you could look at porting a megadrive emulator over, I find this one posted
There’s already a Chameleon target (one of a few contributions I’ve made to the project along the way) so in theory it just needs building and maybe a few tweaks to match the latest version. I haven’t released a binary and made any kind of fanfare yet just because the author of the sound component didn’t want too much attention drawn to it while it’s still unfinished. I will try and find time over the next few days to make a beta binary core for the Chameleon.
That would be great ,Thanks AMR
Any update on the beta binary ??? would love to test it
This would be a very nice Xmas surprise 🙂
Thanks for the reminder – and sorry for not having made any progress. On paper I got the core ported, but I was struggling to get a stable build, and then ran out of time and ended up moving onto other things. I will try and find time to revisit this soon.
Now Ive just got to root out my TC 64 thanks AMR cant waut to try it 🙂
Finally found the time to try the xmas present , brilliant , I had some screen tearing on some roms and didn’t take any notice of sound, but it works a charm, quick blast on sonic and my favorite shootem musha aleste for about 3 hours 🙂 heres hoping the original coder continues ironing out the bugs and the possibility of using the dtv controller would really top it off , Thanks AMR
Hi, is possible port https://github.com/alfikpl/ao486 on the turbo chamaleon 64?
thanks for your time! 🙂
Sadly not – on its original target board, the DE2-115, the AO486 core takes up over 91,000 logic elements. The Turbo Chameleon 64 has slightly under 25,000.
thank s for info
Do you know what the minimum specs necessary to run OneChipMSX on a spartan 6 FPGA to have MSX2 compatibility as far as chip size and external ram requirements?
I don’t really know, I’m afraid. I don’t know Xilinx parts well enough to know how they compare size-wise with Altera. All I can say is that the MSX core fits within the DE1’s FPGA, and the 8 meg of RAM onboard is enough. The original OneChipMSX has a significantly smaller FPGA than the DE1.
Could you join (if you can) https://www.facebook.com/groups/288028868547887/
which is the TC64 group ? It would be very nice to have you there.
I was buy an adaptor from icomp for connecting anything on to an minimig, but meant there was only two more joystick ports. 🙁
The goal was to connect an A500 keyboard, but isn’t implemented in minimig cores everywhere. Jens Schoenfeld means, it should be really easy because the clear data stream directly goes on to the serial stream to the minimig and a few lines of commands has only to lead into the CIA.
Would it be possible for you or anybody to do it? I have no idea from writing minimig cores…
My hands are a bit full at the moment, but it shouldn’t be too difficult a task. I think the source for the special version that supports the extra joystick ports is available somewhere on A1K.org.
G’day. I just found your site. I flashed my Turbo Chameleon v1 with the AGA Amiga core, and was dismayed when I tested it to get a green screen. Google tells me this indicates badly seated chip RAM. How can I fix this?
I double checked – I have definitely flashed with the v1 core. I reflashed the main core just to be sure my TC64 is up to date.
I hope you can help. I am longing to turn this little machine into a functional AGA Amiga
The TC64 Minimig core has to load menu / disk emulation firmware from the SD card – that’s the 832OSDAD.bin file. At the very early boot stage, a green screen means the SD card was mounted OK, but the core couldn’t load the firmware file. (Red means it couldn’t initialise the SD card, and yellow means it couldn’t identify a filesystem.)
Once the system’s booted and loaded the Kickstart ROM, then a green screen does indeed mean a chip RAM problem.