CreatiVision Console re-Creation

User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

CreatiVision Console re-Creation

Post 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)
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: CreatiVision Console re-Creation

Post by epaell »

Awesome - great to see the MECB in action running classic software :-)
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post 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:
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: CreatiVision Console re-Creation

Post 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 :-)
LennonNZ
Posts: 2
Joined: Wed Jul 24, 2024 12:26 pm

Re: CreatiVision Console re-Creation

Post 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?
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post 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?
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: CreatiVision Console re-Creation

Post 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.
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post 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:
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: CreatiVision Console re-Creation

Post 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.
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post 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:
Post Reply