Agk Chip8
Switch 2d<>3d at runtime.
latest version 0.15
Markus made a few updates :)
0.15 from me,i changed the programm flow at reset (before the main was called itself inside run) and edit something else
from the rom selector you can exit the emulator now via escape
version 0.14
all chip8 roms work now
added a bunch off small things.
version 0.13.
Cleaned up and speeded up all opcode handeling.
Many other small cleanups.
Added a debbugging option to check when rom files are loaded if they have true opcodes for chip8.
Added support for a smaller type of chip8 called Eti 600 that have a differrent memory adress it stores roms.
More games should also work compared to older versions.
version 0.12.
Major overhaul of all code.
Even more games work even if all dont work as they should ;)
switch 2d<>3d at runtime
change emulator speed at runtime
version 0.11.
Marcus cleaned it up a bit.
I made some small adjustments for key input etc.
Still the same problem to get all games to run :(
version 0.1.
Released the first messy source code.
With many bugs.
I used this to experiment and trying to get back at programming again and is a emulator/interpeter of the virtual machine chip8.
Always wanted to code a emulator and this is the one they all say is recomended to start with.
It have glitches as most games does it render but only a few works as they should like missiles.
Enjoy and share any progress here that you make.............
You have links to a bunch of sources to get you started in the file sources.
Chip8 have a small qwerty keyboard.
keys used.
1-4
q-r
a-f
z-v
All included roms are free and from the sources sites.
Project started here....
https://forum.thegamecreators.com/thread/217645
TOOLS
I will add a few small tools i make while writing the emulator that makes things easy.
This small thing converts hex numbers to integers in a small window with a inpput box.
Yes its plain but usefull when converting java/python code etc.
Kevin picone pointed out to me that its not a good thing to have alot of string conversions and that where very true
Now can we instead of
val("0xf000",16) write
3840.
// Project: hex to integers
// Created: 2016-07-30
SetWindowTitle( "hex to integers" )
SetWindowSize( 240, 120, 0 )
SetVirtualResolution( 240, 128 )
tx= CreateText( "000" )
SetTextSize( tx, 50 )
i = CreateEditBox()
SetEditBoxSize( i , 240, 60 )
SetEditBoxTextSize( i, 50 )
SetEditBoxPosition( i, 0, 60 )
noHex as string
convertedTo as integer
do
if GetEditBoxChanged( i )
noHex=GetEditBoxText( i )
convertedTo=val(noHex,16)
SetTextString( tx, str(convertedTo) )
endif
Sync()
loop
Android 2.3 , ZTE Skate , 480x800 , 800 mhz , Samsung Galaxy Y , 240x320 , 832 mhz , Sony ericson arc 480x854 , 1 ghz
Android 4.0 , Dmtech 3g 9738B , 1024x768 , 9.7 inches , 1.2 ghz