I seriously think this got the same amount of views in two days that big official epic release threads get in months :o
I can't explain how epic this probably will be, though.
My word, that is impressive.
You beat the fucking oblivion thread on referral count.
Lets hope this comes out with either a svn link an alpha release or beta release before Christmas
this is going to be good
the CPU core is now almost fully debugged. I managed to find a bug which had been causing the Test Roms to not run at all and fixing this allowed me to run the test roms correctly, since then I've now fixed almost all bugs (A couple of minor ones remain but I'm confident I can fix them). I'm expecting to get Tetris in-game by the end of the day.
It took me 3 f'n days of going through the CPU step by step to find what was causing that bug.
And I've rewritten most of the entity, so it's much neater now. Still have to do the key syncing, though, so that other people can see what you see.
Oh and it's going to be limited to one emulator at a time per server, since A) we only have one RT - can't be arsed to make more, and B) emulating is pretty damn demanding, so having more would rape your FPS.
We are going to attempt having multiple emulators, but only one rendering at a time, to see if that's viable, before I limit it to one per server, though.
Scrap that last question. Are you reading directly from binary (hex w/e)? If so how do you get it into usable info in lua. I can't seem to even pull a single bit of info from a file of this type, just random characters.
[QUOTE=CmdrMatthew;31870961]How far do you think you guys are from getting Pokemon working?[/QUOTE]
This post makes me sad
Ok, figured it out. Thank you Lua wiki.
[lua]local f = assert(file.Read("gold.txt"))
--local data = f:read("*all")
for i = 0, math.Round(string.len(f)/16) do
local data = string.sub(f, i*16 + 1, (i+1)*16)
for b in string.gmatch(data, ".") do
Msg(string.format("%02X ", string.byte(b)).. " ")
end
Msg(" "..string.gsub(data, "%c", ".").."\n")
end[/lua]
[editline]21st August 2011[/editline]
Wow these are slow operations. Then again I am trying to read a 2,000,000 byte file.
EDIT: Added better function which prints a better display of the hex.
for N = 0, 0x7FFF do
self.ROM[N] = string.byte(string.sub(self.ROMstring,N+1,N+1))
end
That reads the bytes from a string and stores them in an array.
found a flash gameboy emulator
[url]http://sandbox.photonstorm.com/gameboy/index.html[/url]
[QUOTE=PortalGod;31871382]This post makes me sad[/QUOTE]
nah don't be sad. You're making a more high-def version then they are implementing. I think they're porting Red and Blue. Your work looks more 3D, plus you have the option to change some annoying shit in the game that nintendo added (whatever may that be).
[QUOTE='Poesidan [GAG];31877658']I think they're porting Red and Blue.[/QUOTE]
Actually, we're only at gameboy now, not gameboy color. That'll be a while yet.
EDIT: Nevermind, apparently those work on the regular gameboy too (yay)
Our aims are to get all the classics working up, First Tetris then Zelda and the Pokemon games.
Within a few years I expect to see Garry's Mod within itself.
... within it self within itself within it self ...
What about gameboy advance is that possible
[QUOTE=technicolour;31880351]Our aims are to get all the classics working up, First Tetris then Zelda and the Pokemon games.[/QUOTE] In theory you should be able to get everything working at once, if you don't mess up somewhere. (when you finish the core + opcodes + graphics)
[QUOTE=CmdrMatthew;31886428]In theory you should be able to get everything working at once, if you don't mess up somewhere. (when you finish the core + opcodes + graphics)[/QUOTE]
Not quite, most games use a technique called cart banking whereby they swap in banks of cart data in order to have roms larger than 32KB on a 16Bit address bus. This is a feature not used in Tetris to ensure the Core/Graphics/Interupts are all working as intended.
I'm introducing each feature once the feature done prior to it is 100% working and tested working to make bug hunting easier.
[QUOTE=jfmherokiller;31885250]What about gameboy advance is that possible[/QUOTE]
Possible sure, worth bothering with? Not really.
[QUOTE=technicolour;31886658]Not quite, most games use a technique called cart banking whereby they swap in banks of cart data in order to have roms larger than 64KB on a 16Bit address bus.[/QUOTE]
Is that how Pokemon Gold Version can have a 2048kb ROM?
[QUOTE=CmdrMatthew;31886733]Is that how Pokemon Gold Version can have a 2048kb ROM?[/QUOTE]
Indeed it is
[QUOTE=technicolour;31886658]Possible sure, worth bothering with? Not really.[/QUOTE]
I think its worth bothering with.
Its up to you though, so I won't pester.
But if you could implement gameboy advanced after you finish that would be fantastic.
[QUOTE='Poesidan [GAG];31889510']I think its worth bothering with.
Its up to you though, so I won't pester.
But if you could implement gameboy advanced after you finish that would be fantastic.[/QUOTE]
I meant that it wouldn't be playable at any kind of decent speed on even very high end systems, the display is almost twice the size of the original Gameboy, this alone is already bordering on prohibitive as we're already "cheating" to get what we can to keep the Gameboy emulator playable. Let alone the obviously considerably more beefy ARM processor running alongside a Z80 co-processor in the GBA.
Perhaps when LuaJIT is implemented and Lua is done in a separate thread than the source engine.
[QUOTE=technicolour;31889615]I meant that it wouldn't be playable at any kind of decent speed on even very high end systems, the display is almost twice the size of the original Gameboy, this alone is already bordering on prohibitive as we're already "cheating" to get what we can to keep the Gameboy emulator playable. Let alone the obviously considerably more beefy ARM processor running alongside a Z80 co-processor in the GBA.
Perhaps when LuaJIT is implemented and Lua is done in a separate thread than the source engine.[/QUOTE]
I see. Well whatever. It'll be a pleasure just to play classic games anyways.
I must admit this is very impressive.
Made some HUGE progress over the last day. The CPU core is now almost complete and boasts superior emulation than Visual Boy Advance. The GPU has been re-written and accurately reflects what a real Gameboy would display. All Interrupts are now emulated. Input is now fully emulated. Tetris now runs flawlessly.
[video=youtube;iorgpefar0k]http://www.youtube.com/watch?v=iorgpefar0k[/video]
Yes there are currently a few performance issues but they're entirely Lua based and we hope to weed out an additional 2 to 3 x performance by optimising the think() routine based on scanline cycles and converting various else-if stacks to lookups.
Sorry, you need to Log In to post a reply to this thread.