8080 Arcade Emulator for Monkey X !!!

Monkey Forums/Monkey Programming/8080 Arcade Emulator for Monkey X !!!

APC(Posted 2015) [#1]
Hello Monkeys!

I love arcade games and in the past I developed hardware for microprocessors like the Intel 8080 and Z80.
Looking on the web I found this Blitz Max Arcade Emulator https://sites.google.com/site/rveilleux/blitzmaxarcadeemulatortutorial an awesome job done by Remi Veilleux and the help of Alessandro Scotti.

So I decided to convert it to Monkey X ,If you want to know the details please read it on the link above.
To avoid all the problems you can get the entire project at DROPBOX https://www.dropbox.com/s/40igqeqa3em5arq/8080ArcadeEmulator.zip?dl=0

Also you can check it running on my website http://apd-games.com/emulator.html

Have fun!


therevills(Posted 2015) [#2]
Awesome!

You sound do one with Mojo2 and apply a CRT shader :)


MikeHart(Posted 2015) [#3]
Nice one, i love it.


APC(Posted 2015) [#4]
Thanks guys, I added some additional features like Memory Dump, that can help people that want to debug the original software. It is amazing how limited the resources were in those days. In any case programmers that need to emulate CPU can use this program as a starting point. I never did Blitz Max programming but it is very similar to GLBasic http://glbasic.com/.


Neuro(Posted 2015) [#5]
Cool! But is it just Space Invaders that we can emulate with this?


APC(Posted 2015) [#6]
Neuro there are other ROMs on the internet for this EMULATOR, like Lunar Rescue and Ballon Bomber and others, This is realy the emulation of TAITO Arcade.


Playniax(Posted 2015) [#7]
Cool stuff for sure! And like therevills says, a Mojo 2 version with the CRT shader would be cool...


APC(Posted 2015) [#8]
Therevills and Playniax I will take your suggestion and work on Mojo 2 with the CRT shader on my spare time :). By the way how to I upload a zip file and pictures on this post?On the forum Codes there is only links to external URL.


Nobuyuki(Posted 2015) [#9]
you guys and your gimmick shaders...... well, if you do this, at least make it subtle! I'm far more interested in the whole "emulate a CPU in a super high level language" thing, it helps with learning!


Steve Ancell(Posted 2015) [#10]
Now I know I'm going to sound a complete oddball here.

Do I need to put each script: Emulator, CPU, Video, Sound, I/O and Util into separate monkey source files before compiling them, and if so what do I name these source files?. Or do I just copy and paste the whole lot into one file and compile that?.


APC(Posted 2015) [#11]
Steve,

You should name and save them separate like this:

8080ArcadeEmulator.monkey
cpu.monkey
video.monkey
sound.monkey
io.monkey
util.monkey


Steve Ancell(Posted 2015) [#12]
Thanks APC


Dima(Posted 2015) [#13]
I am having problems building this project, but it sounds really great, APC !! Hoping you could point in the right direction.

CPU file is trying to import and use the following, which I cannot find, and stops the build:
Import LunarROM
Import BalloonROM
( Error : Type 'LROM' not found )

VIDEO file also seems to try importing something I cannot find, but compiler never got this far:
Import spaceinvaders

I would really appreciate any help - very excited getting it running !!


Snader(Posted 2015) [#14]
Getting a type LROM not found!?


Dima(Posted 2015) [#15]
Yes LROM missing, but is used in code somewhere. I also see additional code attempting to get imported: LunarROM, BaloonROM, spaceinvaders. (assuming LROM is the LunarROM)


APC(Posted 2016) [#16]
Dima and Snader,

Sorry for the delay to respond, like I wrote in the beginning you have to get the ROM files from here The ROM file you can get here ROM Files and place it this a directory structure 8080ArcadeEmulator/data/config


dawlane(Posted 2016) [#17]
What they are trying tell you APC, is that a number of key files for emulating Balloon Bomber and Luna Rescue are missing. Instead of posting code here that can get messed up, you should upload your source files to github or Dropbox etc. Do not distribute the ROM files as they are still under Copyright. Instead give instructions on how to use original ROM files, but not where to find them. If they are rom files for MAME, then it shouldn't be too hard to find them. But MAME roms tend to get split or merged between versions, so you have to say what version of MAME was used.

If any one wants to get Space Invaders working.
Make a new directory and name it 8080ArcadeEmulator.
Create a number of files and copy and paste the relevant code into them.
Script: Arcade Emulator (8080ArcadeEmulator.monkey)
Script: CPU (cpu.monkey)
Script: Video (video.monkey)
Script: Sound (sound.monkey)
Script: TIO (io.monkey)
Script: Util (util.monkey)

Extract the downloaded zip file from the link APC has given into the newly created 8080ArcadeEmulator directory. You should end up with a directory named data. Rename this directory to 8080ArcadeEmulator.data
Within the 8080ArcadeEmulator.data directory create two new directories named config and sounds. Then rename the file invaders.rom to invaders.bin and move it into the new config directory that you have just created. Move all the files with the wav extension into the new sounds directory that you have created.

In the file cpu.monkey comment out Import LunarROM, Import BalloonROM, lrom = New LROM(), brom = New BROM() and comment out all the LoadROM function calls in the Select gameROM code block.
In io.monkey there is a typo error Import ssound should be Import sound.
In sound.monkey; locate Method Init:Int() and change all the file extensions in the LoadSound functions from mp3 to wav.


APC(Posted 2016) [#18]
I just updated my original post and added the links to the project on DROPBOX http://www.monkey-x.com/Community/posts.php?topic=10206&post=116344&view=all#116344


Boulderdash(Posted 2016) [#19]
(No delete post?)