Schip-8 Emulator For The Fx-9860
#1
Posted 11 February 2007 - 06:50 AM
A finalized version of the SCHIP-8 emulator has now been released! :D Download it off here: http://www.casiocalc...amp;load_that=1
Here's some actual screenshots of the emulator in action!:
Blinky (A Clone Of PacMan!)
Joust
ORIGINAL:
Some of you may have heard me talking about this project with alias4399. Well, this is my new project: SCHIP8fx. It's a Super CHIP-8 emulator for the fx-9860. It plays some nice games. I will be releasing a BASIC compiler for my emulator, thus allowing people to programs games in a simple familiar language rather than using C with the SDK with still some high speed.
This project is still in development. I am aware that there are still some problems. Super-CHIP8 games should function correctly. However, there are problems drawing graphics in CHIP8 mode, I will fix that soon and also as speed options.
So far, it can only detect 8 games at a time and the suffix of the files have to be *.CH8. To use the emulator, simply download the program and games into STORAGE memory. Please make sure that both the programs and games are in the same path, otherwise the emulator won't see them.
The original 16 hex keypad is mapped out this way:
[C]
[D]
[E]
[A] [0] [B] [F]
Those keys are mapped in the same order on the fx-9860 and are placed on these keys:
[+]
[0] [.] [(-)]
The following games are included in the download below:
* BLINKY - A Pac-Man clone - Keys (on your fx-9860) & move your character left and right. Keys & move your character up and down through the level. Pressing [(-)] continues the game when you die.
* JOUST - A fun game - Key [0] starts the game. Key [0] during gameplay moves you up. Keys & move you left or right. I think what you have to do is move your character and bounce on your opponents.
* U-BOAT
* PIPER
Here's a screenshot of the SCHIP8fx shell:
Here's the download link to try it out. Remember, it's still in development and I am aware of it's bugs: http://casiowiki.tec...ds/schip8fx.zip
The final version will be extended to support detection of up to 40 games and will have a "virtual keyboard" option, that will allow you to select your own keys. :D
#2
Posted 11 February 2007 - 10:47 AM
Can you give us the sources?
#3
Posted 11 February 2007 - 02:13 PM
#4
Posted 11 February 2007 - 03:13 PM
Very good
Can you give us the sources?
We'll have to wait and see about that. My project is still not finished.
I doesn't understand any of these games
Lol , haven't you ever played Pac-Man before? If you read in my first post it tells you where the keys are. I know this can be confusing in the beginning, but I'll be adding the "virtual keyboard' very soon.
#5
Posted 11 February 2007 - 03:17 PM
Lol , haven't you ever played Pac-Man before? If you read in my first post it tells you where the keys are. I know this can be confusing in the beginning, but I'll be adding the "virtual keyboard' very soon.
That's the only one I understand
#6
Posted 11 February 2007 - 07:53 PM
That's the only one I understand
Ok, but what about Joust? Press to star the game. Then use 9' /> and DEL' /> to move your character around. Pressing keeps your character up. I think the objective of the game is to bounce on your opponents. You get points for catching the balls after you bounce on them.
#7
Posted 12 February 2007 - 03:54 AM
This project is still in development. I am aware that there are still some problems. Super-CHIP8 games should function correctly. However, there are problems drawing graphics in CHIP8 mode, I will fix that soon and also as speed options.
What the problem? Chip8 seems to be a simply thing for 9860 while It is for the ones like 9860 (AFX, CFX, FX... which have small screen and enouph keys)! @-)
#8
Posted 12 February 2007 - 05:10 AM
What the problem? Chip8 seems to be a simply thing for 9860 while It is for the ones like 9860 (AFX, CFX, FX... which have small screen and enouph keys)! @-)
Lol , I haven't worked on this project that much:
* I'm only 15 years old and I self-taught myself programming starting with Q-BASIC and C. I never went to a programming class. I've read and bought lots of books since I was 9 and now I mastered numerous computer languages.
* I have schoolwork, homework, tests and finals to study for.
* I'm busy working on other projects. The MLC, LISP interpreter which will allow some of the worlds most powerful CAS systems like Maxima (I think it's even much better than the ClassPad300 CAS) to run on the fx-9860, and a Zilog Z80 emulator allowing you to emulate Texas Instrument graphing calculator ROMs. Most of my free time I have is devoted to the LISP interpreter as I think that will be THE MOST IMPORTANT program for the fx-9860.
* I have only worked on this project a total of 2.5 hours. Thats why under the topic title it says, "My New Project", because it's really new. I write my programs quickly by "emulating" in my mind how the code works. I don't have time to see how the program will run thru the CASIO's built-in emulator. I thought I would release this program to give people some numerous amounts of games to play while I'm working on the MLC, because MLC is taking longer than I expected to finish. Some people, it takes them a couple days to do or maybe weeks to complete a emulator. This SCHIP-8 emulator is probably the best game add-in so far for the fx-9860 as more than 40 games are already written for it, compared to the few number of add-ins written for the fx-9860.
#9
Posted 12 February 2007 - 08:36 AM
Nice work kucalc, would love to give this a run when its finished
-Alias
#10
Posted 12 February 2007 - 11:45 AM
Lol , I haven't worked on this project that much:
* I'm only 15 years old and I self-taught myself programming starting with Q-BASIC and C. I never went to a programming class. I've read and bought lots of books since I was 9 and now I mastered numerous computer languages.
* I have schoolwork, homework, tests and finals to study for.
* I'm busy working on other projects. The MLC, LISP interpreter which will allow some of the worlds most powerful CAS systems like Maxima (I think it's even much better than the ClassPad300 CAS) to run on the fx-9860, and a Zilog Z80 emulator allowing you to emulate Texas Instrument graphing calculator ROMs. Most of my free time I have is devoted to the LISP interpreter as I think that will be THE MOST IMPORTANT program for the fx-9860.
* I have only worked on this project a total of 2.5 hours. Thats why under the topic title it says, "My New Project", because it's really new. I write my programs quickly by "emulating" in my mind how the code works. I don't have time to see how the program will run thru the CASIO's built-in emulator. I thought I would release this program to give people some numerous amounts of games to play while I'm working on the MLC, because MLC is taking longer than I expected to finish. Some people, it takes them a couple days to do or maybe weeks to complete a emulator. This SCHIP-8 emulator is probably the best game add-in so far for the fx-9860 as more than 40 games are already written for it, compared to the few number of add-ins written for the fx-9860.
Really, I'm 15 too! I started programing 7 months ago, it takes me about 19.83 min in average to complete any games I released.
#11
Posted 12 February 2007 - 03:10 PM
#12
Posted 12 February 2007 - 09:28 PM
It very much amazes me how you are able to deal with your schedule.* I'm only 15 years old and I self-taught myself programming starting with Q-BASIC and C. I never went to a programming class. I've read and bought lots of books since I was 9 and now I mastered numerous computer languages.
* I have schoolwork, homework, tests and finals to study for.
* I'm busy working on other projects. The MLC, LISP interpreter which will allow some of the worlds most powerful CAS systems like Maxima (I think it's even much better than the ClassPad300 CAS) to run on the fx-9860, and a Zilog Z80 emulator allowing you to emulate Texas Instrument graphing calculator ROMs. Most of my free time I have is devoted to the LISP interpreter as I think that will be THE MOST IMPORTANT program for the fx-9860.
* I have only worked on this project a total of 2.5 hours. Thats why under the topic title it says, "My New Project", because it's really new. I write my programs quickly by "emulating" in my mind how the code works. I don't have time to see how the program will run thru the CASIO's built-in emulator. I thought I would release this program to give people some numerous amounts of games to play while I'm working on the MLC, because MLC is taking longer than I expected to finish. Some people, it takes them a couple days to do or maybe weeks to complete a emulator. This SCHIP-8 emulator is probably the best game add-in so far for the fx-9860 as more than 40 games are already written for it, compared to the few number of add-ins written for the fx-9860.
I pretty much drown myself in time managment problems...wether it is taking Piano Classes(Teacher's Degree coming in 1 year then I can start giving them ), school, friends, errands, sleeping, I have been trying to get a couple of free hours for the past 2 weeks to have a go with the SDK and program a little game... something nice enough, and haven't found them yet...
And how did you become sucha programmer intrigues me as well... I've started programming when I was 6 in Turbo Basic,my dad was at the time a proeminent figure of the portuguese programming community, he spent some time teaching me.I've had lessons, I'm in Informatics, and I realize that I can't program half as well as you.
That does amaze me.
If I didn't knew you were of asian ancestry, I would find that impossible, however (pardon my racism here) there are some odd geeks within the asians.
Well regardless, congratulations...
I do not understand the need for LISP anyways... what's the point? Can't we port a CAS engine in C or something (I am a little noob in LISP, only know it is great with lists, inheritance, and recursion)?
Just for cheer curiosity, how much time do you take for solving a rubik's cube (I'm Pretty sure you can solve one )?
#13
Posted 13 February 2007 - 02:18 AM
I do not understand the need for LISP anyways... what's the point? Can't we port a CAS engine in C or something (I am a little noob in LISP, only know it is great with lists, inheritance, and recursion)?
Just for cheer curiosity, how much time do you take for solving a rubik's cube (I'm Pretty sure you can solve one )?
Well if you want, you could port a CAS system, but I have other reasons for LISP. FX-LISP (the name of the project) will compete with (I'm sorry for those who love Lua but...) CPLua.
* Write Artificial Intelligence programs. Take a look at SHRDLU and read the conservation between the machine and the user: http://hci.stanford....inograd/shrdlu/
* LISP mathematical notations functions are based on lambda calculus.
* Maxima is written in LISP. Maxima, which is based on the legendary Macsyma, influenced many future CAS systems like Mathematica.
* LISP is good for engineering applications.
Some comments about LISP from notable and leading programmers:
— Kent PitmanPlease don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list.
— Eric S. Raymond, "How to Become a Hacker"Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.
About the Rubik's cube, I haven't played with one in a while until recently a couple months ago when I saw this in Design News magazine: http://www.designnew...ndustryid=43662
I've been playing with it for a while, I can pretty much solve a 3x3x3 Rubik's cube in under 30 minutes.
#14
Posted 13 February 2007 - 12:49 PM
Well if you want, you could port a CAS system, but I have other reasons for LISP. FX-LISP (the name of the project) will compete with (I'm sorry for those who love Lua but...) CPLua.
* Write Artificial Intelligence programs. Take a look at SHRDLU and read the conservation between the machine and the user: http://hci.stanford....inograd/shrdlu/
* LISP mathematical notations functions are based on lambda calculus.
* Maxima is written in LISP. Maxima, which is based on the legendary Macsyma, influenced many future CAS systems like Mathematica.
* LISP is good for engineering applications.
Some comments about LISP from notable and leading programmers:
? Kent Pitman
? Eric S. Raymond, "How to Become a Hacker"
About the Rubik's cube, I haven't played with one in a while until recently a couple months ago when I saw this in Design News magazine: http://www.designnew...ndustryid=43662
I've been playing with it for a while, I can pretty much solve a 3x3x3 Rubik's cube in under 30 minutes.
Kucalc ...
Are you writing a LISP interpreter from scratch. I've been contemplating porting LISP to the ClassPad (but the 9860 would probably be as good a platform, if not better) and so I was pleased to see that XLISP by David Betz is still alive and well and available as source code. I had a version of XLISP that ran on the Atari ST (OMG that was almost 20 years ago!) and ported it very simply to the PC environment. I think that it is more like Scheme now and I'm not sure if it will support everything that Maxima needs but it may save you a lot of time. Good luck anyway!
#15
Posted 14 February 2007 - 12:31 AM
#16
Posted 14 February 2007 - 03:31 PM
#17
Posted 14 February 2007 - 09:21 PM
Hi. I downloaded the Space Invaders game for the CHIP-8 and added the .ch8 suffix. When I open it some dots appear on the right side of the screen and the calculator freezes. To recover it I have to press the P button at the back. Has anyone been successful?
Yes in the first post of this thread I said that CHIP-8 games won't work. Currently only Super-CHIP8 games work currently. I'm in school right now, when I'll get home I'll add in CHIP-8 graphics support.
You have to find Super-Chip 8 games. But I have'nt found them yet.
Yes you're right eew. You have to find Super CHIP-8 games. But there are a lot of SCHIP-8 games on the web. Google it or look in this directory for a bunch of Super CHIP-8 games: http://www.pdc.kth.s...8/CHIP8/SGAMES/
You'll have to consult the games documentation for which keys to use as all CHIP-8 games use different keys. Remember, the order of keys on the fx-9860 are exactly in the same order as the original CHIP-8 keypad so it shouldn't be hard to figure out the keys.
#18
Posted 17 February 2007 - 08:21 AM
More help about usage is included in the RAR. Some new features:
* Detection of over 30 games
* Improved Super CHIP-8 mode and implemented CHIP-8 support. All CHIP-8 games should work now.
* You can set up the speed now by changing the delay.
* Plus a bunch of games are included in the RAR! (LOL , you can have over 30 games on your calculator!)
If you're a fx-9860 owner, I suggest you download this and try it out! Play Joust, Blinky(PacMan), Tetris, Missile Defense, Space Invaders, Pong, etc.
#19
Posted 18 February 2007 - 08:32 PM
and I can't chance the speed bevore Im game over.
#20
Posted 18 February 2007 - 09:43 PM
http://www.casiocalc...amp;load_that=1
Here's some actual screenshots of the emulator in action!:
Blinky (A Clone Of PacMan!)
Joust
For those who don't want to extract the README file from the archive, I'll post it here:
--------------------------------
SCHIP-8 Emulator for the fx-9860
--------------------------------
Author: kucalc
Contact: kucalc AT gmail.com
Current Version: 1.00
----------
HOW TO USE
----------
SCHIP8-FX is a program that emulates the CHIP-8 and the Super CHIP-8 system on your fx-9860. You will be
able to play such classics like Pong, Space Invaders, Missile Defense, etc. To use this add-in you need:
* FA-124 - You may download it off here: http://world.casio.c...a124/index.html
Keys:
* During starting upon the program, press and use the LEFT and RIGHT keys to select delay. Press
to exit out of the Delay window.
* You can also change the delay while playing in the game. Press the LEFT key for shorter delay and press
the RIGHT key for a longer delay.
* - While browsing for programs, press to display the next window to show another list of files.
* Pressing DURING a game (NOT in the file browser) does a virtual CHIP-8 system RESET. This is useful
for when a game calls an illegal address in the memory and hangs up the emulator like TANK and BREAKOUT.
* - You can pause the emulator by pressing . While in PAUSE, you can exit the emulator by pressing
pressing MENU again. Pressing any other key while in PAUSE mode takes you back into the game.
The original CHIP-8 systems used a hex keypad in this format:
[C]
[D]
[E]
[A] [0] [B] [F]
Those keys are mapped in the same order on the fx-9860 and are placed on these keys:
[+]
[0] [.] [(-)]
To use the emulator, simply download the program (using FA-124) and games into STORAGE memory. Please
make sure that both the programs and games are in the same path, otherwise the emulator won't see them.
Please be aware that the emulator will only notice the programs if it has a *.CH8 suffix. Otherwise, the
emulator won't see your games.
-----
ABOUT
-----
This software was written by kucalc using the fx-9860 SDK. You may freely
distribute the game as you wish as long as this README file is included in the
archive. If you have any questions, please contact me through email.
* Also note: ALL game ROMS included in this package are public domain except for Rush Hour. Documentation
of Rush Hour is included in the archive containing information about the author and how to contact him. I was
informed of this game by the author himself and thought it would be good to include it with the archive.
------------
IMPROVEMENTS
------------
* 2/18/07 v1.00 - Fixed bug that causes the game to quit randomly in such games as JOUST and ANT.
- Added ability to change delay while emulator is running.
- Added PAUSE mode.
- Added virtual CHIP-8 reset function.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users