Rockbox

Tasklist

FS#5400 - ZX Spectrum 48 emulator

Attached to Project: Rockbox
Opened by Anton Romanov (theli) - Friday, 19 May 2006, 11:15 GMT
Task Type Patches
Category Games
Status Closed
Assigned To No-one
Operating System All players
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

this is ported spectemu
http://www.inf.bme.hu/~mszeredi/spectemu/
thanks for Dave Chapman and Szeredi Miklos (spectemu author) for help
should work on any 2bpp and 16bpp target.
This task depends upon

Closed by  Dave Chapman (linuxstb)
Friday, 15 September 2006, 11:19 GMT
Reason for closing:  Accepted
Additional comments about closing:  Now committed to CVS, thanks.
Comment by mat holton (matholton) - Tuesday, 06 June 2006, 09:59 GMT
Does this work with the Archos models, or is that just wishful thinking?
Comment by Anton Romanov (theli) - Tuesday, 06 June 2006, 10:15 GMT
it can be modified to work on archos though i'm not sure it would be usable on 112x64 mono lcd
Comment by mat holton (matholton) - Tuesday, 06 June 2006, 11:49 GMT
Good point.
I guess greyscale mode would be too slow.
We could scroll the screen, with hacks for certain games (eg. manic miner) to keep the main sprite on screen.

Maybe, I'll just code a jet set willy type game instead.
Comment by Dan FitzGerald (Danielson1218) - Sunday, 11 June 2006, 22:23 GMT
Perhaps I haven't looked hard enough, but would anyone like to provide an explaination of how to use this? I found some tzx files and they open, but i cant seem to do anything in the games. I see all the button config stuff in the menu but I can't figure it out.
Comment by Anton Romanov (theli) - Monday, 12 June 2006, 17:09 GMT
as tracker is not forums please discuss here:
http://forums.rockbox.org/index.php?topic=4148.0
button config is just mapping player buttons to some zx spectrum keys
Comment by Anton Romanov (theli) - Friday, 11 August 2006, 12:48 GMT
cpu_boosting
grayscale lib support (undef USE_GRAY in zxconfig.h to disable)
reworked virtual keyboard

now it runs on iPod Mini 2g without using grayscale lib at 16fps withiut cpu boosting and at about 41 fps with boosting
using grayscale lib makes it much slower on iPod mini. don't know how it is on other targets
   zxbox.patch (647.6 KiB)
Comment by Anton Romanov (theli) - Friday, 11 August 2006, 12:51 GMT
as for grayscale lib...
these are some screenshots of one 48k intro:

http://img142.imageshack.us/img142/9859/castorgraydp6.png <- grayscale
http://img100.imageshack.us/img100/6655/castor4g2bppuo6.png <- 2bpp
http://img95.imageshack.us/img95/2443/castornanoie3.png <- the same in color on nano
Comment by Anton Romanov (theli) - Friday, 11 August 2006, 13:04 GMT
zxbox is still lacking sound though i'm sure it can be implemented
well, only output needs to be implemented imo...

i'm just not skilled enough to do this... :(

so anyone is welcome to implement this so we can have simple 48k Spectrum emulator :)
Comment by Anton Romanov (theli) - Friday, 11 August 2006, 14:22 GMT
oh, and another thing ... actually it can be compiled for any target with LCD_BITMAP though keymaps are not defined for all...
Comment by Anton Romanov (theli) - Monday, 14 August 2006, 09:38 GMT
* added support for all current targets (well, have no keymaps for sansa...)
* capital E in virtual keyboard maps to Enter
* capital S in virtual keyboard maps to Space

btw, Chuckie The Egg looks even more playable than on iPod mini :)
   zxbox.patch (649.6 KiB)
Comment by Anton Romanov (theli) - Monday, 14 August 2006, 09:39 GMT
i meant more playable on Archos Recorder
Comment by Anton Romanov (theli) - Monday, 14 August 2006, 12:13 GMT
small fixes
   zxbox.patch (649.8 KiB)
Comment by Anton Romanov (theli) - Tuesday, 15 August 2006, 10:58 GMT
last version misses
--- apps/plugins/viewers.config 9 Aug 2006 12:04:13 -0000 1.35
+++ apps/plugins/viewers.config 15 Aug 2006 10:57:56 -0000
@@ -23,3 +23,7 @@
bmp,rocks/rockpaint, 01 10 01 10 01 10
m2v,viewers/mpegplayer,5D 7F 5D 7F 5D 7F
iriver,viewers/iriver_flash,2A 7F 41 41 7F 2A
+tap,viewers/zxbox,66 52 4A 66 52 4A
+sna,viewers/zxbox,66 52 4A 66 52 4A
+tzx,viewers/zxbox,66 52 4A 66 52 4A
+z80,viewers/zxbox,66 52 4A 66 52 4A
Comment by Anton Romanov (theli) - Tuesday, 15 August 2006, 11:49 GMT
i've measured fps on mini with grayscale in zxbox .. its about 16.2 fps against 41 fps in 2bpp mode :(
Comment by Anton Romanov (theli) - Tuesday, 15 August 2006, 14:30 GMT
new version adds support for buffered mode in grayscale lib

Chuckie Egg runs at ~23.1 FPS on iPod mini
   zxbox.patch (240.5 KiB)
Comment by Anton Romanov (theli) - Tuesday, 15 August 2006, 14:50 GMT
output FPS on screen when in buffered and into logf when in unbuffered mode (in grayscale)
   zxbox.patch (240.7 KiB)
Comment by Anton Romanov (theli) - Friday, 18 August 2006, 09:24 GMT
i've found that Makefile misses
-I. $(TARGET_INC)
in
INCLUDES=
Comment by Anton Romanov (theli) - Saturday, 19 August 2006, 09:04 GMT
hope this time it is fine....
   zxbox.patch (651.3 KiB)
Comment by Anton Romanov (theli) - Monday, 21 August 2006, 08:15 GMT
fixed all warnings ...
succesfully built for
mini
h100
h300
video
ondio FM
nano
x5
sims and builds
without any warning/error
   zxbox.patch (652.4 KiB)
Comment by Anton Romanov (theli) - Monday, 21 August 2006, 12:13 GMT
oops...tiny fix
   zxbox.patch (652.4 KiB)
Comment by Anton Romanov (theli) - Wednesday, 23 August 2006, 11:15 GMT
put this into apps/plugins/zxbox and define HAVE_SOUND in zxconfig.h to have stupid/dirty sound output implementation...
Comment by Anton Romanov (theli) - Tuesday, 29 August 2006, 15:04 GMT
predefined keymaps, menu reworking, volume settings
more options : frame-skipping, sound on/off, toggle 'fast' mode
output actual speed of emulation in percent rather than number of rendered frames
timing implementation (no >100 % speed in sims)

known bugs:
volume setting doesn't have any influence and sound is still horrible :) ( i doubt i'll manage to get this normal :( )
Comment by Anton Romanov (theli) - Thursday, 31 August 2006, 11:17 GMT
far better sound (though not perfect and affects emulation speed ( about 116% instead of 100 ))
volume option is working now
   zxbox.patch (631.1 KiB)
Comment by Nick Sant (evilnick) - Thursday, 31 August 2006, 21:25 GMT
Can't get this to compile against a clean cvs. I keep getting the following error message when I try to "make":

make: *** zxbox: No such file or directory. Stop
make[2]: *** [zxbox] Error 2
make[1]: *** [rocks] Error 2
make: *** [all] Error 2
Comment by Anton Romanov (theli) - Friday, 01 September 2006, 04:36 GMT
what target are tou trying to make it for?
how did you patched?
do you have apps/plugins/zxbox dir?
Comment by Anton Romanov (theli) - Friday, 01 September 2006, 08:26 GMT
btw, though sound affects speed of emulation so that it can differ from 100% when sound is off 100% is max (withouth 'fast' mode)
Comment by Nick Sant (evilnick) - Friday, 01 September 2006, 11:32 GMT
Ah, figured it out, I was building for h300 having patched using -p0.
The problem was that I was patching from outside the rockbox directory so it created the apps/plugins/zxbox directory.

Problem solved!
Comment by Anton Romanov (theli) - Monday, 04 September 2006, 12:10 GMT
code cleanup
now using IRAM correctly (i hope)

i'm attaching an apps/plugins/zxbox.c file separately cause cvsdo refused to produce diff for it :(
anyway it didn't change
Comment by Anton Romanov (theli) - Wednesday, 06 September 2006, 08:22 GMT
fixed bug with undetecting file format by extension when extension contains upper letters... ( strcmp -> strcasecmp )
   zxbox.patch (634.2 KiB)
Comment by Anton Romanov (theli) - Friday, 15 September 2006, 09:56 GMT
fix
* now if any of {height,width} of screen is smaller it would be rescaled to fit the whole screen
(this fixes gigabeat)

Loading...