Yeah this is perfectly normal, SP would just wrap on real hardware, so the emu must be able to handle this.I might be wrong but in the case of the System 16 driver I think that that SP was initialised as 0, then the first CALL subtracted 2 (and therefore SP was pointing to -2 below base pointer) then tried to write the current PC to the new SP address causing the segfault.
ldr r1,[cpucontext,#z80sp_base]
sub r1,z80sp,r1
cmp r1,#2
addlt z80sp,z80sp,#0x10000
Shouldn't z80sp have base pointer added?Thanks Notaz, but wouldn't
subs z80sp,z80sp,#\dec_sp
bicmi z80sp,#0xff000000
bicmi z80sp,#ff0000
be more cycle efficient?
Latest Cyclone sure can, I use it for Sega CD, don't remember about older ones.Also, quick question before I look at drivers like outrun that require 2 x 68000. Can the Cyclone core handle multiple processors? There is some code in the sek handler to report an error message if the cpu count is more than 1 but this has been commented out so not sure if it still applies.
the problem with those not working buttons is the key mapping of the gp2x version dave has based his work on.
in vertical modes the gp2x port was using the volume buttons for B and Y - at least this is what i can tell reading the code. so it should be easily fixable by dave (you could try my last beta version meanwhile with a simple click on fba.sh )
You DA MAN!Will definitely sort out button mapping for next version, it's a quick fix. I've been working pretty solidly on getting the sega drivers working since last update.
Will definitely sort out button mapping for next version, it's a quick fix. I've been working pretty solidly on getting the sega drivers working since last update.
crow_riot, that would certainly help
Thanks
I finally managed to get the correct dat file for this emulator so I'll try some titles out.