Jump to content
pirx

Chip8 emulator version 1.0

Recommended Posts

Hi!

 

This is possibly the final (or close to final) version of my Chip8 and SuperChip8 emulator. This time almost all games are instantly playable because I mapped various keyboard settings to our favourite Atari game controller (joystick that is).

 

Other changes include:

 

; Added sound emulation

; Configured all games for use with joystick

; Adjusted emulation speed for (almost) all games

; Removed faulty game X_MIRROR (this file was corrupt)

; Added configuration file

; Added joystick mapping to Chip8 keys

; Fixed directory listing under SpartaDos (X). It runs from HDD now.

; Fixed inversed shooting - it shoots correctly when a key is pressed.

; Reduced flickering a bit in Chip8 mode

; Fixed faulty scrolling routines (ANT is perfectly playable now!)

 

Right now this is the best Chip8 emulator known to me :). Too bad most of old games are lost on tapes of the pre-internetian era.

 

Please let me know if you find any faults in this software or if you find any not included games for Chip8.

 

If anyone is interested, I will release sources, too.

 

Have fun!

Edited by pirx

Share this post


Link to post
Share on other sites
after my pokemon mini emu!!!

Heaven, did you do Pokemon Mini emulator for 8-bit Atari? I wanted to do it next :)

Share this post


Link to post
Share on other sites

re: pokemon mini emu

 

i have one for PC when i was interested what this small beast can do... but are you sure that the 800 is fast enough to do that?

Share this post


Link to post
Share on other sites
but are you sure that the 800 is fast enough to do that?

 

Well, it would be too slow for the real, fully-blown emulation, but it might be possible to run recompiled Pokemon Mini games on 800.

 

Let me explain this concept in greater detail: some 15 years ago I came up with the idea of emuler (one of the neologisms I loved to make up these days).

Emuler is a set of utilities that gets software written for one machine, disassembles it, detects data areas, translates mnemonics from one microprocessor to another and assembles an executable for another machine.

My source platform was meant to be ZX Spectrum (I bought one with Btronic to test this concept), destination platform would be Atari 800 of course. I wrote down some algorithms but later we shifted to making C64 conversions where this whole idea was not feasible due to serious differences between A800 and C64 (first of all sprites, attributes and character set lengths, not speaking about sound). So our C64 conversions were programmed from scratch using C64 graphics only.

 

Another problem that came up when analyzing Z80 code was self-modifying code that sometimes pops up, but this would be not a case for ROM based machines, like Pokemon Mini.

 

Of course this task would be VERY difficult (being possibly the most difficult thing I ever did on A800), but seems feasible but one small detail - memory usage. Pokemon Mini uses the whole 64 KB with one small empty space where stack is meant to be and juggling with 130XE+ banks would definitely slow down the whole thing a lot, not mentioning 20-bit data addressing.

 

To prove the emuler idea is not as preposterous as one could think we manually converted Power Depacker from Amiga to A800 in this fasion:

I made MAC65 macros for all M68K menmonics used in Power Packer and then we just copied mnemonic for mnemonic the Amiga routine to A800. I worked at FIRST run. Of course later Nosek/BC did the same routine in pure 6502 code making it shorter and run faster.

Edited by pirx

Share this post


Link to post
Share on other sites

To sum up - playing Pokemon Mini games on A800 is feasible but quite remotely.

Edited by pirx

Share this post


Link to post
Share on other sites

Hi Pirx!

 

There's some problem during loading the game on real machine. The load suddenly stops. Maybe some interrupts are on or somethink. On emu all seems to be OK.

Share this post


Link to post
Share on other sites
There's some problem during loading the game on real machine. The load suddenly stops.

 

Thanks Miker for this report. Could someone check if the previous version (beta) loaded fine on the real A800?

 

Unfortunately I do not have the real stuff available and emulator seems to be too forgiving.

Share this post


Link to post
Share on other sites

The version included here (1.1) should work on the real thing.

Additionally joystick to keyboard mapping has been improved a bit.

chip8.zip

Share this post


Link to post
Share on other sites

Have not tried this version on real Atari, but on emulator it looks great! Thanks for release.

 

BTW what about joystick control in game list screen?

Edited by krupkaj

Share this post


Link to post
Share on other sites
BTW what about joystick control in game list screen?

 

Would be some rewrite work as the file selector is reading "K:" at the moment.

I can release the sources for anyone interested in changing this.

Share this post


Link to post
Share on other sites
? really written in Mac/65?

 

Well, no - I have assembled it with OMC65 that is meant to be compatible with MAC (but is not, unfortunately).

It should assemble under MAC65, though, after very few adjustments like removing .rept directive.

 

If I happen to do something new on A800 I would rather choose ATASM

http://sourceforge.net/projects/atasm/

It is much better than OMC65 in terms of compatibility (besides one unpleasant feature of not accepting dots "." in names of macros and labels).

 

You can download OMC65 from the web page listed in my footer.

Share this post


Link to post
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...