Page 1 of 2

NineGB - Gameboy emulator for Visopsys

Posted: Thu May 22, 2014 12:46 pm
by nextvolume
This something I've been working on lately.

NineGB is a port of the Nintendo Gameboy emulator shipped with the Plan9Front operating system (a fork of Plan 9 from Bell Labs) to other operating systems, started by me.
The emulator's not very accurate and the sound emulation is disabled because it's currently bad.
Anyway, I have ported it to Visopsys as well, and it works quite well except that sometimes the game screen can lose focus, and keystrokes won't be registered - and the solution for the time being is clicking the game screen.
The loss of focus happens for example when you navigate the menus by pressing Alt, without choosing anything, and you close the menu by pressing Alt again - nothing in the window seems to have focus anymore (most probably a bug).

Screenshot:
Image

Download it here.
The binary for Visopsys is included and named `ninegb_vsys', simply by clicking on it in the file manager will prompt you for a Gameboy ROM.

Enjoy.

Re: NineGB - Gameboy emulator for Visopsys

Posted: Thu May 22, 2014 12:53 pm
by ap0r
Dammmmn that is cool!

Re: NineGB - Gameboy emulator for Visopsys

Posted: Thu May 22, 2014 11:37 pm
by andymc
Yeah, that looks fantastic! :dance: :clap:

I'll give it a try. The menu-focus-bug-thingy might be fixed already in the re-implementation of the menu code that's coming in 0.74, but if not I'll see if I can address it.

Would you want this to be included in the main distribution? Or perhaps as part of an extra 'software' download? I've been thinking about how best to do that for a while - for ports of 3rd-party software and such...

Re: NineGB - Gameboy emulator for Visopsys

Posted: Fri May 23, 2014 12:36 am
by ap0r
Implementing some sort of basic software repository would be very complex, right?

Re: NineGB - Gameboy emulator for Visopsys

Posted: Fri May 23, 2014 12:56 am
by andymc
Implementing a basic one needn't be too complex, really. It could be based around the existing simple /system/install-files* method (with a couple of extensions) and some code to manage storing them for later reference, version info, un-installation, etc. Patching existing files (such as config files) or rolling back to previous states would make things a bit more complicated.

Re: NineGB - Gameboy emulator for Visopsys

Posted: Fri May 23, 2014 8:24 am
by nextvolume
I think it's better keeping this as an extra - the base system needs to be as small as possible, in my opinion.
If package management is to be implemented, I think it needs to be as lean and unobtrusive as possible...
packages will need to be mostly self-contained, i.e. requiring (almost) no dependencies, so that dependency tracking can be left out of the system and thus make it much easier to use - dependency tracking is all fine and well when you're tracking the latest version and until it breaks, but when you do something that breaks it - and it's very easy to, just install something that is not in the repository - it gets very painful and wish it was never there to begin with.
It could be a kind of "automated installation" thing.

Re: NineGB - Gameboy emulator for Visopsys

Posted: Sat May 24, 2014 9:03 am
by andymc
nextvolume wrote:I think it's better keeping this as an extra - the base system needs to be as small as possible, in my opinion
Agreed, yeah. The base system should primarily be stuff that was written for this project. Ports of 3rd-party software should be an add-on package. I'd like to start building a system for doing that, soon.

Re: NineGB - Gameboy emulator for Visopsys

Posted: Tue May 27, 2014 12:52 pm
by fosforito
I can design a software repository system where users can register, publish their projects, etc... What do you think?

Re: NineGB - Gameboy emulator for Visopsys

Posted: Tue May 27, 2014 2:12 pm
by ap0r
It would be like the coordinating efforts thread but specifically designed for that :D

Re: NineGB - Gameboy emulator for Visopsys

Posted: Tue May 27, 2014 3:04 pm
by andymc
fosforito wrote:I can design a software repository system where users can register, publish their projects, etc... What do you think?
Yeah man, sounds cool :idea: :mrgreen:

I guess you're thinking it would be something that runs here on the web server?

So, for example, I post a new release of the core OS, we build all the software against it, make any necessary changes, re-submit changes to the software repository, then package up the software as a time-stamped "release" binary version matching the OS release number?