Guest spacemonkey Posted February 19, 2003 Report Posted February 19, 2003 [uPDATE] New build 0.95 is up in the usual place. Compilation changes hopefully resulting in a speed increase. [/uPDATE] [uPDATE] New build 0.94 is up in the usual place. Modified to hide the menu labels during game play. [/uPDATE] [uPDATE] New build 0.93 is up in the usual place. Only modification is saving frame rate and key setup in the state file. This means that it will remember them even on games which don't use the real time clock. :) [/uPDATE] OK... I'm back and I've been coding all evening (the wife will kill me)... ;) There's a new version up on http://www.davemoller-nz.demon.co.uk/gnuboy.html Changes are, it now has menus. Basically in a nut shell. Back no longer exits gnuboy. Pressing voice record while in a game will put the word 'paused' in the middle of the screen and activate the menus. In menu mode, file menu lets you can toggle sound on off (still sounds terrible), change framerate, reset the ROM (this doesn't affect Saves in game), resume and exit. Keys menu lets you pick a smartphone physical key to match to each gameboy button. It won't stop you matching the same physical key to multiple different gameboy buttons but you don't want to do that cos it'd be messy. All buttons can be mapped except voice record and power. When you exit gnuboy as well as saving state it automatically saves the key layout you have been using with that rom. Any new rom you haven't played before will have the default layout (joystick directions, left softkey -A, right softkey -B, start - 1, select - 2). It will save a seperate layout against each rom so you can have different ones for each game. It also saves the frame rate against the rom. Enjoy... I haven't tested it much so it might still have bugs... just finished coding it now. I'll have a better idea of whether I've cocked anything up after I've played it on the tube tomorrow :lol:.
Guest kingdom master Posted February 19, 2003 Report Posted February 19, 2003 great ive tried it and its good, will u be doing any work on a megadrive emulator ? please...lol
Guest Will Posted February 19, 2003 Report Posted February 19, 2003 FANTASTIC.. gogo.. although now i can turn the sound on, I see why it was not present in previous versions! When assigining keys, i press the action button to select the key map, and it takes me right out of the menu.. can it keep me in the keys menu? not a big problem..just a minor inconvenience. :shock: Will
Guest youngerpants Posted February 19, 2003 Report Posted February 19, 2003 ooh, you have been working late bravo spacemonkey, bravo coffee, works a charm the sound is very rough, but beats no sound... is there anyway of adjusting the volume? once more, ta very much
Guest HelloDave Posted February 19, 2003 Report Posted February 19, 2003 Nice one spacemonkey! It seems to run fine for me, and the keymapping especially is very useful - not being able to run and jump in Mario at the same time was bugging me :)
Guest PsychoDave Posted February 19, 2003 Report Posted February 19, 2003 Goan Yersell Big Man!! Works a treat and I can finally play SMB3 without dislocating my fingers. :) See what you mean about the sound though, maybe just leave that switched off :lol: Nice one, Spacemonkey, hope the missus goes easy on you ;) :twisted:
Guest spacemonkey Posted February 19, 2003 Report Posted February 19, 2003 One bug I have found... I save the key setup and framerate to the .rtc file which is the real time clock. Some ROMs don't seem to save the rtc at the moment (for example Tetris DX) so these ROMs will not remember the settings from one session to the next. I might just move the settings to the state file (.000) instead... I'll have a look tonight.
Guest Posted February 19, 2003 Report Posted February 19, 2003 Does the new version of the emulator improve game speed/motion at all, as some games are totally unplayable at the moment.
Guest spacemonkey Posted February 19, 2003 Report Posted February 19, 2003 No, the new version has absolutely no changes to the emulation engine. Gameboy black and white games should run best because the black and white version only has a 4Mhz processor so these games are all relatively undemanding. The Gameboy Color has an 8Mhz processor so these games tend to be a lot more demanding on what they do so a lot more of them will run slowly on the emulator. The emulator is pretty efficient, the problem is that even though the phones cpu is a lot faster (84Mhz or so) a simple command on the gameboy such as register A=register B will take 1 cycle out of 8Mhz, on the emulator because I have to to this in code it will probably take 8-10 cycles out of 84Mhz as it does branching and memory loads, writes etc. And some of the operations are quite a bit more complicated that A=B. The most likely thing that will make these games more playable is if someone figures out how to overclock the phone to the specification it was designed with (ie 130Mhz), this will increase the battery use tho. I believe JimmySoft is working on an overclocking application, so we'll just have to wait and see.
Guest spacemonkey Posted February 19, 2003 Report Posted February 19, 2003 Putting frame rate up to 30 frames per second makes it quite a lot smoother without noticably slowing down the game... (at least in the games I've tried)...
Guest Paul [MVP] Posted February 19, 2003 Report Posted February 19, 2003 A *very* reliable contact told me that running the phone overclocked made it fall over almost immediately, so that isn't actually very likely :) P
Guest Paul [MVP] Posted February 19, 2003 Report Posted February 19, 2003 Don't forget you can attach files to posts now spacemonkey, and see how many times they are downloaded!
Guest DJHope Posted February 19, 2003 Report Posted February 19, 2003 Spacemonkey GNUBoy is great! However im wondering why the NES emulator is faster i cant really see much of a difference in terms of graphical quality between mario 1 on the nes and mario dx on the gameboy color which leaves me wondering why the nes emulator is faster? I know that the hardware is completely different and i understand that alot of instructions are taking up 4cycles+ but surely their is some method of speeding it up! DJ Hope
Guest spacemonkey Posted February 19, 2003 Report Posted February 19, 2003 Yeah, it probably depends a lot on a) how the emulator is written, :) how the game is written. The specs of a gameboy color means it has a 8Mhz processor for the programmer to use. He's not gonna write his game more efficiently than necessary to get enough performance from this chip, The specs of a NES are 1.7Mhz processor so the programmer is gonna tune his game to the absolute hilt to get the performance he requires from this slower processor. The other side is the emulator. GnuBoy 100% emulates the cpu of the gameboy. This means, it doesn't interpret the game and say, oh he wants a dot here, it runs a pretend CPU that does various pretend memory calls that ultimately draw a dot here. I'm not sure what the implementation within SmartNES is but it may use a different approach. Certainly there is a gameboy emulator for Palm devices that interpreted the game rather than doing a CPU emulation the hard way, it would undoubtedly perform unbelievably well if ported to the SPV as it ran survivably on a Drogonball 32Mhz processor. It's not open source tho. Another difference: gameboys process at 60 frames per second and emulating them you have to emulate this full process even if you only display fewer frames than that. NES being a plug into TV based platform (and having a slower CPU) I would be very surpised if it did more than 24/25 frames per second depending on whether it's running NTSC or PAL.
Guest DJHope Posted February 19, 2003 Report Posted February 19, 2003 Yeh that makes sense, i remeber some guys with the n64 emulator managed to make mario run amazingly on a 200mhz pc by using static recompilation. Interpretation is deinfately a better method. Maybe using GNUBoy as a base wasnt the best option but then if their arnt any others i doubt anyone is going to start from scratch! Heres a Palm open-source gameboy emulator: http://phoinix.sourceforge.net/ DJ Hope
Guest spacemonkey Posted February 19, 2003 Report Posted February 19, 2003 Hard emulation like gnuboy is a good option for faithful emulation. The problem of writting more interpreted styles is that you spend a long time fixing it for specific games to run. Where as emulating the cpu means once the cpu is right, then all games will generally run. For example, haven't tried SmartNES much but spyvsspy just doesn't work properly, so obviously it's not fully implementing the NES. But yes, the main reason for GnuBoy as the base was that it was free and open source. It's not like I could actually program an emulator myself... that's far too hard.
Guest boden01 Posted February 19, 2003 Report Posted February 19, 2003 SpaceMonkey, Thanks GREAT new version. I had a few thoughts: 1)When a game is paused would it be possible to press the voice record button again to make the game resume? (I find myself pressing it and on a second press it brings up Voice Recorder) 2)When playing a game would it be possible to hide the soft key labels? 3)When on the ROM selection screen would it be possible to add an exit option to a menu as the back button no longer exits you have to load a ROM before you can quit. Loving your work :)
Guest madu Posted February 19, 2003 Report Posted February 19, 2003 "]A *very* reliable contact told me that running the phone overclocked made it fall over almost immediately, so that isn't actually very likely :) P Paul, can you expand on this a little please?? Overclocked meaning more than 84 or 132 (or whatever it is supposed to be)? And what implications are there re advertising it at higher frequency -> knowingly it is not possible?? Me confused and sad.. Back to our muttons - job well done Spacemonkey. TA
Guest awarner [MVP] Posted February 19, 2003 Report Posted February 19, 2003 Madu that's almost a cross post ;) with your request in development. I'm watching :)
Guest Will Posted February 19, 2003 Report Posted February 19, 2003 We're getting close to answering the question: Who moderates the moderators? Will
Guest madu Posted February 19, 2003 Report Posted February 19, 2003 Sorry, got carried away.. I see Paul chose the other topic to follow up on my qstn, though never answered it: a cheeky gettaway? or top secret info??
Guest spacemonkey Posted February 19, 2003 Report Posted February 19, 2003 Just had a look through the phoenix code. The main cpu stuff is all in assembler which is how they get the speed gains necessary to make it survivable on the Palm platform. It's really the step that gnuboy needs to make it significantly quicker. It has assembler code for x86 but it'd probably be hard work to convert this to arm assembler... Not something I know much about either... any volunteers?
Guest DJHope Posted February 19, 2003 Report Posted February 19, 2003 We eathier need 2 things: 1) An ARM processor Expert OR 2) The Arm9/TI OMAP 710 (I think) processor manual. Im currently learning the Intel 8051 Microcontroller inside out, apart from that i only have 0x86 processor experience :)
Guest Paul [MVP] Posted February 19, 2003 Report Posted February 19, 2003 Eh? What question did I not answer? I'm not keeping any secrets? P
Guest DJHope Posted February 19, 2003 Report Posted February 19, 2003 Here ya go the technical referance manual for the processor in our beloved SPV, Its an ARM920T: http://www.arm.com/techdocs/5GWGBZ/$File/D...1C_920T_TRM.zip DJ Hope PS: it even tells you which registers are needed to set the clock speed of the little beast.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now