One of the things I wanted for a while is a small libretro core loader, so I can debug cores, since my personal goal this year is to be productive again somewhat in emulation, since I admit I did enjoy that. Over the course of two weeks I have started to work on it again, since its based on some old emulator code I was working on. Eventually I got the loader to the stage until it manages to properly boot something:
The loader is written in MSVC2017 and is intended for Windows 8 and up. It uses a OpenGL 3.3 forward compatible core context (yet to be tested) as well as a generic OpenGL 2.0 context with extension usage. I worked on it this week however to the point I got something salvagable:
Needs work on audio, mainly with dynamic rate control and working on buffer underruns.
There is a couple of things needed to be added yet before it is remotely usable:
- Core variables/configuration
- Input with proper rebindable keys.
- Dynamic audio rate control
- Savestates/save files
- Proper OpenGL core support
User desirable features like pixel shaders, rewind and video recording will not be supported. Any public versions, if at all, will have DRM on them.
So far the work is almost complete:
Did what I mainly wanted to. Wanted to rewrite access so that its easily keybindable and has easy access. The remaining issue is due to a audio buffer issue with librubberband and how samples vary depend on the pitch ratio. At the moment the code is quite brittle and won’t work for anything above 48khz. Which is a problem considering FB2K’s userbase (I only had sub 48k samples at the time of development and testing). So need to spend the next few days rewriting things to be more robust for the pitch/tempo DSPs.
Did more work on DSP effects in foobar2000.
Found an amusing bug when tinkering the pitch which caused sliders to completely break. Found that (was multiplying and dividing values wrong), so thats fixed. Now left to implement playback rate shift. Was pondering integrating PaulStretch for long tempo ratios, due to SoundTouch having artifacts at medium/long ratios of tempo stretching. Haven’t really messed around with librubberbands much.
Another day, spending more time fleshing out the controls. Trying to work out if hooking mousedown/up messages would work, so that if sliders are selected, changes are only applied *when* a button is released, so allowing smooth changes (which removes the need for rewriting buffering). Will have to look up MFC/ATL things for that. From there the roadmap is to get all the other DSPs working like this, and from there, who knows, I am pretty content then. Probably having more accurate reverb simulation ala EAX and more effects.
And yes, Dream Fiend’s song is nice, I recommend getting it and getting a FLAC copy from his bandcamp page.
Finally got around to adding in non modal dialog boxes again for the component. This was a long time coming and I should have done this a long time ago. I thought it was a nice half way between UI elements and the old, buggy and hacky method.
Did more messing around with my Odroid.
Managed to get it all setup.
Set-up is a Odroid UX4 with a 16GB eMMC for Ubuntu, and a 16GB microSD for Android. Didn’t take that long to set up. For some reason the fans stall when booted. Maybe a power saving feature? Anyway, Ubuntu seems pretty responsive from what I tried. Will set up gcc and other tools when I get the chance.
Android doesn’t take long to boot either and seems okay. Haven’t installed root access for hacked things yet. Would definately do that for some emulation related stuff on there. Would be fun to try out Android emulation things for myself and to see what the fuss is about.
Happy new year.
Been working on something for a bit and got it to boot at least something. Still a massive amount of things left to do.
- Gonna be busy from here on out for at least 3 weekdays so far. Would be a nice distraction from everything. Irukandji would be something to do on the nights of those 3 weekdays at least.
- Christmas break was okay, been spending it on Steam and things. Got some nice things from people, which is nice.
- Looked at a company’s EXIF tool and extended it with RE of course.
- Should really focus on personal projs and things for libretro in the new year, and not be so focused on negativity.
- Need to work out a proper demo concept for this year though for Flashback (which is back this year) and Syntax.