This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
deleted's profile picture

[advcomputer]gbaemulator Idea

Started by deleted, 29 October 2013 - 08:00 PM
deleted #1
Posted 29 October 2013 - 09:00 PM
GBA EMULATOR (PASTEBIN SOON! (HOPEFULLY)

Progress/Updates:
Public Realease?:
-GBA and maybe GBC support
-API for remaking roms
-A GUI for clicking buttons
-ROMs
-More
-0.8:
-0% GBC Support (File extension are .ccgba and .ccgbc) **DELAYED**
-A GUI for clicking buttons
0.7- Having:
-NEW GUI
0.5- Having:
-Start on ROM Loading
0.1- Having
-The Screenshot based off of (a sort of Mockup or something)
-The Idea

————————————————–



——-Moniter Support In Progress——-
SO…. thats that for now. I may post more updates later.
amtra5 #2
Posted 30 October 2013 - 12:43 AM
How do you plan on doing this? The computer doesn't NEARLY have enough resolution for a GBA/GBC emulator
deleted #3
Posted 30 October 2013 - 08:54 AM
Well i plan on either by resizing the pixels to low/very-low quality or a whole new game making api
M4sh3dP0t4t03 #4
Posted 30 October 2013 - 09:15 AM
If you're really think that you can do this, you have no idea how hard it is to write an actual emulator. Also I don't think that the memory that the CC computers have is enough for an emulator like this. And last but not least, even if you managed to get a working gameboy emulator, it would probably be much slower than you'd expect and it would also cause "too long without yielding" errors because it has to process so much stuff.
ShadowedZenith #5
Posted 30 October 2013 - 09:15 AM
I don't really see how this would be playable… First, you're running on an interpreter, which'll hit performance very hard. Then you're going from a 16-bit color console (IIRC) down to 16 colors, so graphically it wouldn't be appealing (unless you're using CCLights). It just doesn't really seem too practical, or even really possible…
DiabolusNeil #6
Posted 30 October 2013 - 01:46 PM
It seems that you don't know enough CCLua to accomplish something of this magnitude. Strengthen your Lua foundation before starting a project like this. Never, NEVER attempt to do something unless you actually know how to do it.
Engineer #7
Posted 30 October 2013 - 02:32 PM
Sure it is possible! only the games on it have the be written from scratch and can never look the same as they should look.
If you are doing it the good way, you can actually do this, but you need to know advanced Lua. Otherwise it is going to be extra hard, since you might not know what you are doing.

I would like to see your current code, and based on that say if you are up for the task or not. But, Im not a person who decdes for you, you decide yourself.
Agoldfish #8
Posted 30 October 2013 - 03:14 PM
Good thing you didn't put this in programs, the programs section is for released code only. Anyway, this looks promising! can't wait for pastebin code. Follow topic get!
deleted #9
Posted 30 October 2013 - 06:45 PM
Actually,
A. It is most likeley possible even if the pixels on it are low-res.
B. Even if it is impossible i might pass the code to someone who is able to build on top of my code
deleted #10
Posted 30 October 2013 - 06:48 PM
Actually as well ive popped open the code of VisualboyAdvance and saw all the code of the emulator so even i think im having second thoughts of this. I mean hundreds to thousands of code for it. So maybe this IS impossible. But im still trying to figure that out. Also if the pixels cant be done on advancecomputer ill use moniter support and then to cclights
ikke009 #11
Posted 31 October 2013 - 12:08 AM
I remember someone trying to make a remake of pokemon red for computercraft I think.. I don't remember it actually being finished though because the resized sprites looked horrible and made text unreadable, the file sizes became too large to be handled by computercraft, and the whole thing would have probably taken years to complete..

Assuming you know what you are doing and you're actually capable of running a .gba rom in computercraft, the graphics will still be a big issue..
amtra5 #12
Posted 31 October 2013 - 07:13 AM
Also, this wouldn't work very well on CC intensive worlds, as computercraft only allows one computer to process at a time IIRC
ShadowedZenith #13
Posted 31 October 2013 - 07:54 AM
Actually as well ive popped open the code of VisualboyAdvance and saw all the code of the emulator so even i think im having second thoughts of this. I mean hundreds to thousands of code for it. So maybe this IS impossible. But im still trying to figure that out. Also if the pixels cant be done on advancecomputer ill use moniter support and then to cclights

Only CClights lets you modify pixel color.

I do believe that VisualBoy Advance uses a JIT engine which means during run time the game is taken from its source CPU (I do believe the GBA had an ARM CPU) instruction set and rebuilt into x86 instructions, which is why the code is so complicated. Of course for the GBA you most likely could write an interpreter without the whole recompiling from one arch to another, but doing so inside of yet another interpreter (like Lua runs on) would get messy and would also very likely be extremely slow, then throw that inside of a JIT VM (the JVM of Java)… You get the idea. So sure, the emulation might be possible, but it'll end up being very sluggish and painful to play.
deleted #14
Posted 31 October 2013 - 06:08 PM
Posted New Picture. That shows moniter support is still in progress. Some text buttom like A and B and Start and Select are not there. I dont think im adding brightnes support.
sens #15
Posted 31 October 2013 - 06:35 PM
I'd start with the 1989 GB. Advantages: lower res, monochrome, Tetris.
deleted #16
Posted 02 November 2013 - 12:17 PM
I might work on this a while later, im still working on other projects like CCTV and stuff. Stay tuned.
Left4Cake #17
Posted 06 November 2013 - 07:33 AM
Ignoring things like ram. I could only see gb/gbc possibly working. Mainly because rockbox has made a gameboy color emulator work on a monochrome display. They just set pallet colors 1 and 2 to one color and 3 and 4 to the other.

http://youtube.com/watch?safe=active&v=HXum29VBtAk&desktop_uri=%2Fwatch%3Fv%3DHXum29VBtAk%26safe%3Dactive