Jump to content
IGNORED

Chippi+ the CHIP-8 emulator for the rest of us


Recommended Posts

Hi everyone,

 

Well, the IntyBASIC competition is over, and I need to thank everyone involved.  @nanochess for organising, the generous people who put up prizes, my fellow programmers for their time and skill, and of course everyone who played the games and voted.  Kudos to all, and congratulations to @Peripheral, @YannAros, @Intellivision Brasil and @drludos!  Let's do it again next year :party:

 

It hasn't escaped me that because of the way it targeted some more obscure bits of hardware, a number of people had problems running Chippi.  Unfortunately, this couldn't really be addressed whilst keeping Chippi within the competition rules.  However, the competition is now done... :ponder:    ...so I've improved Chippi, removing the requirement to use an ECS (and tapes), and baking 16 games into the ROM.  As well as running in JzIntv, this new version will also run on a stock Master Component using a Flash cart, or on the Ultimate Flashback.

 

You can download the new, enhanced Chippi+ here:

chippiPlus-240523.zip


If you play without an ECS connected, you can choose then between the 16 built-in games using up and down on the left disc.  Then press any action button to start the game selected.  The Chippi+ game choice screen will look a bit like this:

image.png.8848cb26d85b89d3e4cfb583ace83ee3.png


If you play with an ECS connected, Chippi+ will have all the flexibility of the original version, but will run a bit faster.  You type in the four letter name of the "tape" you want to play and the program will be loaded from "tape".  In this case, the starting screen will appear as follows:

image.png.ff6d5e2020f91558a8e4272cf82cd4db.png


So, there are now four different configuration combinations to chose from: with and without ECS, and with and without extra GRAM.

 

Here are my recommendations for different scenarios:

  • Quick start - Use Chippi+ without an ECS on JzIntv, an Ultimate Flashback or stock Intellivision Master Component with a Flash cart.  It's easy to set up and play with the left controller disc!  The down side is the game screen will be quite small like this:

image.png.378a21cc7ecb691ac18b15691282d18d.png

  • Best quality pick up and play gaming - Use Chippi+ in JzIntv on a Mac/PC, or a Tutor-Pro with extra GRAM.  Don't connect an ECS.  If you use JzIntv you'll need to work out how your front end can send it the -G2 flag.  However, if you succeed you get all the benefits of quick start, and a nice big game screen like this:

image.png.a2e3b056afd6b6b8ffa8499246d359cb.png

  • CHIP-8 explorer aka "the @Zendocon mode" - The classic IntyBASIC competition way to use Chippi+ in JzIntv with ECS compatibility turned on.  You'll need to know where to put the ECS "tape" files for JzIntv to find them, but you can then use the included Python script to create your own "tape" files and explore more of the CHIP-8 library.
  • Glutton for punishment aka "@The Intellivision Gamer mode" - Use Chippi+ with an ECS and tapes on real hardware.  It's the authentic 80s experience, but getting it going will be fiddly.  I am willing to help anyone who wants to try.


For completeness full list of changes in Chippi+ is:

  • Non-ECS mode added with 16 built-in games
  • Additional 8 ECS tape files added (including some of Michael Hayes' favourites)
  • Ability to play games using the left controller disc and action buttons in non-ECS mode
  • Support for resetting the CHIP-8 without resetting the Inty (depending on mode, press ENTER on the right hand controller or ESC on the ECS)
  • Change colour key has been changed to SPACE in ECS mode
  • The emulator core has been moved to assembly language giving a 10-25% performance boost
  • Alternative ECS keyboard mapping has been removed
  • Keyboard hack file provided for PC/Mac play in non-ECS mode

 

As always, any questions or feedback are most welcome :thumbsup:

 

 

Cheers

 

decle

 

  • Like 13
  • Thanks 3
Link to comment
Share on other sites

While I haven't confirmed this, Chippi+ should theoretically work on an ECS with a partial-TutorPro console (ones with the smaller Mattel EXEC, not the full WBEXEC).  This would give then maximum real-hardware experience for playing CHIP-8 games.

 

Unfortunately, full TutorPro hardware is not compatible with the ECS.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Lathe26 said:

While I haven't confirmed this, Chippi+ should theoretically work on an ECS with a partial-TutorPro console (ones with the smaller Mattel EXEC, not the full WBEXEC).  This would give then maximum real-hardware experience for playing CHIP-8 games.

 

Unfortunately, full TutorPro hardware is not compatible with the ECS.

Fortunately for us, @The Intellivision Gamer has all the requisite hardware and is working on getting the games onto physical tapes.  I'm very curious to see Chippi running on original hardware, both original and Plus.

  • Like 1
Link to comment
Share on other sites

Okay... so this is really neat, @decle !

 

As a proof of concept on my Nintellivision emulator, I bumped my GRAM from 512 bytes to the full 2K with proper address decoding and it does seem to work:

image.png.d89d32e09425002bd3a2de70ee0c61ac.png

 

On the NDS, I'm using the tiny bit of fast "tightly coupled" RAM  for the key chunks of Intellivision memory and this expanded 2K of GRAM doesn't quite fit - so I had to put it in slower general memory. In addition, I don't know if my emulator can take the extra processing of decoding the addresses differently for 512 vs 2K (or 1K) of GRAM without a performance hit on older DS hardware... (it's fine on the DSi and above)

 

So for now, this is just a proof of concept on Nintellivision. However, if you're using Nintellivision (and I'd love to meet the other person using it! :)) - attached is the special build with 2K of GRAM enabled. It has a different ID than the normal Nintellivision build and the splash screen shows that it's built for 2K GRAM ... it should sit along side and play nicely with the official 5.0 Nintellivision release (i.e. you can have both installed and just use this special build for Chippi+)

 

[Special build attached to this post]


NINTV-DS-2kGRAM.nds.zip

  • Like 8
Link to comment
Share on other sites

4 hours ago, wavemotion said:

Okay... so this is really neat, @decle !

 

As a proof of concept on my Nintellivision emulator, I bumped my GRAM from 512 bytes to the full 2K with proper address decoding and it does seem to work:

image.png.d89d32e09425002bd3a2de70ee0c61ac.png

 

On the NDS, I'm using the tiny bit of fast "tightly coupled" RAM  for the key chunks of Intellivision memory and this expanded 2K of GRAM doesn't quite fit - so I had to put it in slower general memory. In addition, I don't know if my emulator can take the extra processing of decoding the addresses differently for 512 vs 2K (or 1K) of GRAM without a performance hit on older DS hardware... (it's fine on the DSi and above)

 

So for now, this is just a proof of concept on Nintellivision. However, if you're using Nintellivision (and I'd love to meet the other person using it! :)) - attached is the special build with 2K of GRAM enabled. It has a different ID than the normal Nintellivision build and the splash screen shows that it's built for 2K GRAM ... it should sit along side and play nicely with the official 5.0 Nintellivision release (i.e. you can have both installed and just use this special build for Chippi+)

 

[Special build attached to this post]
 

NINTV-DS-2kGRAM.nds.zip 388.72 kB · 1 download

 

Wow!  Impressive!  (As if the Chippi+ project wasn't impressive enough ...)

 

    -dZ.

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...