And my conclusion?
Times have moved on in the past 18 years. Targeting purely Windows isn't what it used to be (He says, typing this on a Mac). So, I started having ideas for EO 2.0. Cross-platform compatibility is top of the list, but my personal preference is that apps should look native to the system they're running on.
So, I've been browsing cross platform GUI libraries and the only thing I've found that appears to match what i'm looking for is wxWidgets. Has anyone ever coded with it or have an opinion on the subject?
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
Iss 3 ZXVid
TS 1000 iss 3, ZXPand AY, ZX8-CCB, ZX-KDLX & ChromaSCART
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
That kind of stuff doesn't really bother me, What I really want is to be able to design Dialog boxes and the like once and they appear as native on the target machine. GTK sounds OK, but whenever I think GTK, Gimp goes through my mind - All app I use from time to time and despise the UI... I've also looked at Qt - while apps look nice, they don't seem to fit into the appearance of the rest of the system.It great that it runs on Windows and Mac but does mean twice the testing and dealing with stuff like different file path dividers.
Maybe I'm just too fussy.
I have a skeleton emulator running which should be pretty portable, and it looks almost identical to the current EO - changes come later.
I was feeling really chufffed with myself, but then spent the whole day debugging it. I've targeted a spectrum 48 for the time being (It doesn't need accurate timing to produce a picture, or even port 0xfe emulation to get to the (c) screen)., but no matter what I did, it wouldn't detect any key presses. I looked at the keyboard code but couldn't see anything wrong. I looked at the windows event handler to make sure t was receiving key presses - again nothing wrong. I got so far as to start looking whether my z80 core was handling IN opcodes properly, or if I had a dodgy ROM image.. Then after hours of staring at a (c) prompt it came to be that i wasn't sending an interupt to Z80.
Because I'm running a temporary installation from the desktop - which is on a SSD designated as C: rather than a 4 TB hard drive designated as E: - it's working fine at the moment. However, I do intend to get that hard drive fixed and run all my emulators from it, and I will assume that EightyOne will go back to having a second or so's delay loading the icons on every menu page, followed by more delay every time I select something.
Why would that be the case, anyway? No other emulator, of any machine, does this.
Whatever happens I will carry on using EightyOne v1 for CSSCGC judging purposes this year (I'm using 1.23 at the moment) - and if v2 is available by, say, October, then I'll switch to it for writing any of my future entries.
Features my own programs, modified type-ins, RZXs, character sets & UDGs, and QL type-ins... so far!