[QUOTE='Poesidan [GAG];31907213']What's the next game you'll implement?[/QUOTE]
[QUOTE=technicolour;31880351]Our aims are to get all the classics working up, First Tetris then Zelda and the Pokemon games.[/QUOTE]
Do you plan to release this anytime soon? If you use SVN you can update it very easily. Also, many of us don't care if we have a only partially working version.
[QUOTE=CmdrMatthew;31909555]Do you plan to release this anytime soon? If you use SVN you can update it very easily. Also, many of us don't care if we have a only partially working version.[/QUOTE]
I don't really give a shit if it only plays tetris right now, I would still use it.
[editline]asd[/editline]
I also [b]really[/b] want to take a look at the code.
Pokemon Red is fully working from what I can tell, there's a several GPU glitches but the CPU is holding up perfectly. I'm hoping for a preliminary release today or tomorrow
[IMG]http://cloud.steampowered.com/ugc/558666021163847312/DC5EF320CD8FB535B9C460B66D7FD41E3E9F298D/[/IMG]
[QUOTE=technicolour;31919435]I'm hoping for a preliminary release today or tomorrow[/QUOTE]
I can't wait to [i]catch em all[/i]
[QUOTE=technicolour;31919435]Pokemon Red is fully working from what I can tell, there's a several GPU glitches but the CPU is holding up perfectly. I'm hoping for a preliminary release today or tomorrow
[IMG]http://cloud.steampowered.com/ugc/558666021163847312/DC5EF320CD8FB535B9C460B66D7FD41E3E9F298D/[/IMG][/QUOTE]
have my children.
Is there data saving? Or are we not able to save our games yet.
[QUOTE=CmdrMatthew;31923156]Is there data saving? Or are we not able to save our games yet.[/QUOTE]
Not yet but saving is exceedingly easy.
Are you going to add color? Or is it all just black and white? Still waiting on that release :D
Colour... maybe... eventually, not until non-colour is emulated to perfection though.
[editline]25th August 2011[/editline]
[video=youtube;mEPGj5_WZQs]http://www.youtube.com/watch?v=mEPGj5_WZQs[/video]
I love you. Btw I saw your e2 emulator... Fucking epic.
This is amazing. Playing Pokémon in GMod sounds great.
a few preliminary optimisations and Pokemon is playing excellently, from 10fps in the video above to now 20-40fps with a 30fps average. Pokemon is essentially realtime on my i3, most Gameboy games should be now too.
[QUOTE=technicolour;31939452]a few preliminary optimisations and Pokemon is playing excellently, from 10fps in the video above to now 20-40fps with a 30fps average. Pokemon is essentially realtime on my i3, most Gameboy games should be now too.[/QUOTE]
So how does the hole rom thing work? Does the server require the rom? Does the client? What if someone has a slow connection and they receive the rom slower then others?
In multiplayer each client runs their own instance of the emulator, there's no syncing at all currently. That's the feature we plan to add after we've finished the first optimisation pass.
However the way it'll likely work is that each "frame" the emulator runs the key-presses will be stored and sent to the server along with a frame ID. The server will store around 3600 frame's at any one time, sending them in packets of 100 or so to the clients (so clients will be a second or two behind the person playing, there's no issue if there's no interaction). Every minute the playing client will upload a keyframe which will be the entirity of the processors current state, a good ~60-70kb.
With little editing, I could make the emulator available client side so that the server doesn't need to have it installed. It'd be a little odd standing in the middle of a server apparently doing nothing (so like an average day in a wiremod server with E2) :P
The server does nothing apart from spawn the entity to render on at the moment.
Soon, it will help in handling key syncing and status checking (regular hashes of the emulator state sent to all clients to make sure they are at the same state), so everyone can see what you see.
[QUOTE=technicolour;31939999]In multiplayer each client runs their own instance of the emulator, there's no syncing at all currently. That's the feature we plan to add after we've finished the first optimisation pass.
However the way it'll likely work is that each "frame" the emulator runs the key-presses will be stored and sent to the server along with a frame ID. The server will store around 3600 frame's at any one time, sending them in packets of 100 or so to the clients (so clients will be a second or two behind the person playing, there's no issue if there's no interaction). Every minute the playing client will upload a keyframe which will be the entirity of the processors current state, a good ~60-70kb.[/QUOTE]
-snip read it wrong-
Wow you guys thought of everything... can't wait to test it.
Release 1:
[url]http://garryboy.googlecode.com/svn/trunk/GEM[/url]
Release Notes:
Speed is still an issue but it should run at real time or close to real time at a decent frame rate on any modern processor.
It'll work in MP kinda, everyone will run their own instance of the emulator with no syncing.
The GPU code is prone to glitches, unless it's something major don't report it.
Only MBC3, MBC1 and ROM games are supported and there's no "bounds", if a game makes a rom banking mistake that a real Gameboy would check for the emulation will likely fail and crash with the stack pointer or program counter overflowing.
Tetris and Pokemon are confirmed to be 100% working, at least at the start. If you find any MBC1, 3 or ROM games which glitch report it to me.
Rom files are currently stored in plain text hex (see below), no rom files are given away in the emulator. Once converted into plain text hex rom files should be stored in GEM/Data/GBZ80 for gameboy.
No saving currently.
Please do not upload this elsewhere.
If you have any issues, glitches or just general questions add me on steam: [url]http://steamcommunity.com/id/fafasafaffagr/home/[/url], please don't contact me if you can't get SVN to work or something.
Rom files are currently read in plain text hex because Lua's binary reading support is incomplete and cannot load roms with the 0D0A character in. a plain text hex file is just that, with each byte being represented by two ASCII hexadecimal character in capitals with no other information. One method to convert to Plain Text Hex is to download the hex editor FlexHex, load the rom there, copy all the hex into NP++ and find replace the spaces. All rom files should be .txt. If someone would like to write a quick python script for the public to convert to plain text hex that'd be great, I'd do it but I'm hoping this is just a temporary measure until binary reading is fixed.
Oh god, yes!
[QUOTE=technicolour;31941025]Release[/QUOTE] What would it take to add color capability? Just wondering how the color works.
[QUOTE=CmdrMatthew;31941803]What would it take to add color capability? Just wondering how the color works.[/QUOTE]
Twice the processor speed, several more palettes, main ram banking, 8 fold, Vram banking, using vram banking to access the tile tables and sprite data. Increased Window/Sprite/BG priority.
It's not going to be a focus for quite some time as it's a large undertaking which will require a lot more overhead.
[QUOTE=technicolour;31941875]Twice the processor speed, several more palettes, main ram banking, 8 fold, Vram banking, using vram banking to access the tile tables and sprite data. Increased Window/Sprite/BG priority.
It's not going to be a focus for quite some time as it's a large undertaking which will require a lot more overhead.[/QUOTE] -snip- I can't believe it takes that much overhead.
There's a menu that allows you to bind them.
[QUOTE=technicolour;31941025]Release[/QUOTE]
You're my lua god.
what about the ability to upload your own roms avdupe style
[QUOTE=jfmherokiller;31942555]what about the ability to upload your own roms avdupe style[/QUOTE]
I like the idea, but it could most likely be exploitable.
Did you use any reference documents for the CPU/GPU workings or did you find these out by yourself?
I hope sound gets implemented soon on The gb side even if the sound is basically sine waves
[editline]26th August 2011[/editline]
[QUOTE=Titz;31942640]I like the idea, but it could most likely be exploitable.[/QUOTE]
how would it be exploitable
[QUOTE=technicolour;31925331]Colour... maybe... eventually, not until non-colour is emulated to perfection though.
[editline]25th August 2011[/editline]
*video*[/QUOTE]
And so begins the adventures of Technicolor and his Charmander Divran, and their eternal rival Garry Newman.
Excellent work guys, I think we can agree that this is one of the more difficult undertakings done in Lua thus far. First physics modulation, then an actual ROM emulator coded in Lua? Next thing we're going to see is people coding entire C++ mods that work off of GMod.
Sorry, you need to Log In to post a reply to this thread.