Page 1 of 3

CreatiVision Console re-Creation

Posted: Fri Jul 19, 2024 2:19 am
by Editor
Having recently completed a 6502 CPU Card for the Minimalist Europe Card system (MECB), I now have all of the system Cards that I need for re-creating the early 80's 6502 based CreatiVision Console.

Join me for Part 1 here: Minimalist Europe Card Bus (MECB) – 6502 CreatiVision re-Creation (Part 1)

Part 1 ends with me running the CreatiVision "Sonic Invader" game in Attract mode. The next step being to design a Controller interface, to enable me to actually control the CreatiVision re-Creation, and play a game!

So, in Part 2, I share my CreatiVision Controller design journey.
This can be found here: Minimalist Europe Card Bus (MECB) – 6502 CreatiVision re-Creation (Part 2)

Subsequently, Part 3 introduces a major version upgrade (to v2.0), for the CreatiVision Controller.
This can be found here: Minimalist Europe Card Bus (MECB) – 6502 CreatiVision re-Creation (Part 3)

The final Part 4 of my CreatiVsion series presents my CreatiVision Mechanical Keyboard add-on to the Controller, which is also the culmination of my RetroChallenge 2024/10 project.
This can be found here: Minimalist Europe Card Bus (MECB) – 6502 CreatiVision re-Creation (Part 4)

Re: CreatiVision Console re-Creation

Posted: Tue Jul 23, 2024 9:08 pm
by epaell
Awesome - great to see the MECB in action running classic software :-)

Re: CreatiVision Console re-Creation

Posted: Tue Jul 23, 2024 9:46 pm
by Editor
epaell wrote: Tue Jul 23, 2024 9:08 pm Awesome - great to see the MECB in action running classic software :-)
Yep, it was also really great to see the TMS Display Card getting some real graphical action!

For Part 2, I've so far got my v1.0 Controller PCB manufactured and now in-transit to me. Yesterday, I also finished writing and the initial testing of the 8-bit AVR code to interface a couple of Atari Joysticks and a PS/2 Keyboard, to either a genuine CreatiVision console, or directly to a PIA (i.e. the MECB Motorola I/O Card PIA connector). Can't wait for the PCB's to arrive!

This project was also a good exercise on writing PS/2 interface code for an 8-bit AVR chip. I wasn't happy with the PS/2 interfacing examples that I found via google, so I ended up writing my own Interrupt driven keyboard code for this project, from scratch (sometimes you just have to re-invent the wheel). :geek:

Re: CreatiVision Console re-Creation

Posted: Tue Jul 23, 2024 10:50 pm
by epaell
Excellent - I look forward to seeing these :-)
sometimes you just have to re-invent the wheel)
Indeed - and then the tough question is what colour should it be :-)

Re: CreatiVision Console re-Creation

Posted: Wed Jul 24, 2024 12:29 pm
by LennonNZ
Hi there

Do you want to borrow a multicart which has 95% of all releases software for the Creativision so you can test?

Re: CreatiVision Console re-Creation

Posted: Wed Jul 24, 2024 8:58 pm
by Editor
LennonNZ wrote: Wed Jul 24, 2024 12:29 pm Do you want to borrow a multicart which has 95% of all releases software for the Creativision so you can test?
Hi. Thanks for your kind offer. But, I need the software as ROM image files, which I've managed to get from the CreatiVEmu website.

There are also some helpful diagnostic cartridge ROM images there, which will help me with testing the Controller Interface.

Have you backed-up your multicart ROM, and are there any releases on the multcart that aren't on the CreatiVEmu site?

Re: CreatiVision Console re-Creation

Posted: Wed Jul 24, 2024 11:18 pm
by epaell
Your post made me realise that there was a creativision emulator for MAME, so looking into that I was able to update my MECB emulator to work with the VDP (I think it should now work for the 6502, 6809 and hypothetical Z80 version; I also added to the 68008 version but it is somewhat incomplete because I didn't have time to work out how to interface the interrupts there).

I disassembled the bios and sonic invaders code and modified it to work with the standard MECB I/O set-up and got to the point where at least the video is working (I had to disable the PIA check otherwise it would get stuck there - so there is no sound or game control):

Image

My disassembly is clearly not 100% and I suspect there is some indirection that I missed in the code because while it seems to run for a while with the invaders moving and shooting, it eventually freezes. Nonetheless, I'm kind of chuffed that it got to that point - it also made me realise how much nicer the 6809 is to program compared to the 6502.

Re: CreatiVision Console re-Creation

Posted: Thu Jul 25, 2024 1:18 am
by Editor
epaell wrote: Wed Jul 24, 2024 11:18 pm Your post made me realise that there was a creativision emulator for MAME, so looking into that I was able to update my MECB emulator to work with the VDP (I think it should now work for the 6502, 6809 and hypothetical Z80 version; I also added to the 68008 version but it is somewhat incomplete because I didn't have time to work out how to interface the interrupts there).
Nice work.
epaell wrote: Wed Jul 24, 2024 11:18 pm ... it also made me realise how much nicer the 6809 is to program compared to the 6502.
Yes indeed! I was (un?)fortunate enough to have started my microprocessor life with Motorola. First the MC6800, then MC6809, all with hand-assembled coding. When I finally got into 6502 code (via my C64), I found it very frustrating, having been spoilt by the power of the 6809 ISA!

With the 6502, I think the frustration is that your focus on the application code logic (that you're trying to write), is distracted by the need to focus on coding workarounds for the 6502's comparitive limitations. Of course, this is a fun challenge and learning curve in itself, but sometimes you really just want to be fully focussed on implementing your application logic. :thinking:

Re: CreatiVision Console re-Creation

Posted: Thu Jul 25, 2024 1:24 am
by epaell
Of course, this is a fun challenge and learning curve in itself, but sometimes you really just want to be fully focussed on implementing your application logic.
This is exactly my feeling ... although it has been interesting seeing how coders have overcome many of the limitations when writing their 6502 code i.e. the various tricks they use. I can't help but feel that it makes the code much more difficult to read though (but that may just be my lack of experience with 6502) ... also I seem to have 680X op-codes burned into my mind and the 6502 equivalents are different and that does my head in when I'm trying to look at the raw machine code.

Re: CreatiVision Console re-Creation

Posted: Thu Jul 25, 2024 1:32 am
by Editor
epaell wrote: Thu Jul 25, 2024 1:24 am... also I seem to have 680X op-codes burned into my mind and the 6502 equivalents are different and that does my head in when I'm trying to look at the raw machine code.
LOL. I (unfortunately), have 6809 hex instruction codes burnt into my mind! Too much hand-written machine-coding as a teenager!
Things like: Everytime I see 86, I think of LDA immediate. And seeing 20, always means BRA.
A really useless skill, ever since Assemblers came along! :lol: