Page 1 of 4
8-bit Atari (XL/XE) emulator
Posted: Sat May 08, 2010 9:30 am
by geo650
Have anybody ported Atari XL/XE emulator for Samsung TV?
I have found a linux source code for that (
http://atari800.sourceforge.net/index.html) but I have problems with porting it with our cross-compiler. There is a version for SDL so I think it can be done.
It would be great to play River Raid in Content Library

Re: 8-bit Atari (XL/XE) emulator
Posted: Mon May 10, 2010 12:46 pm
by doodlecz
Similar applies for ZX Spectrum!

Re: 8-bit Atari (XL/XE) emulator
Posted: Sun May 16, 2010 8:27 am
by geo650
I am still trying to compile atari800 on SamyGO cross-compiler but I got stuck during
make command:
...
arm-SamyGO-linux-gnueabi-gcc -o atari800 afile.o antic.o atari.o binload.o cartridge.o cassette.o compfile.o cfg.o cpu.o devices.o esc.o gtia.o log.o memory.o monitor.o pbi.o pia.o pokey.o rtime.o sio.o util.o atari_sdl.o pbi_proto80.o input.o statesav.o ui_basic.o ui.o colours.o screen.o cycle_map.o pbi_mio.o pbi_bb.o pbi_scsi.o pokeysnd.o mzpokeysnd.o remez.o sndsave.o pbi_xld.o votrax.o xep80.o xep80_fonts.o atari_ntsc.o -lm -lpng -lz /usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a -lpthread
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_audio.o): In function `SDL_PauseAudio':
SDL_audio.c:(.text+0x304): undefined reference to `AudioPause'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_dummyaudio.o): In function `DUMMYAUD_CloseAudio':
SDL_dummyaudio.c:(.text+0x150): undefined reference to `AudioClose'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_dummyaudio.o): In function `DUMMYAUD_PlayAudio':
SDL_dummyaudio.c:(.text+0x17c): undefined reference to `PlayAudioBuffer'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_dummyaudio.o): In function `DUMMYAUD_OpenAudio':
SDL_dummyaudio.c:(.text+0x2a4): undefined reference to `AudioInit'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_FreeHWSurface':
SDL_nullvideo.c:(.text+0x3b0): undefined reference to `y_FreeHWSurface'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_SetHWAlpha':
SDL_nullvideo.c:(.text+0x3bc): undefined reference to `y_SetHWAlpha'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_SetHWColorKey':
SDL_nullvideo.c:(.text+0x3c8): undefined reference to `y_SetHWColorKey'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_HWFillRect':
SDL_nullvideo.c:(.text+0x3d8): undefined reference to `y_HWFillRect'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_HWSWAccelBlit':
SDL_nullvideo.c:(.text+0x3dc): undefined reference to `y_HWSWAccelBlit'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_HWAccelBlit':
SDL_nullvideo.c:(.text+0x3e0): undefined reference to `y_HWAccelBlit'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_AllocHWSurface':
SDL_nullvideo.c:(.text+0x3e8): undefined reference to `y_AllocHWSurface'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_SetVideoMode':
SDL_nullvideo.c:(.text+0x488): undefined reference to `VideoInit'
SDL_nullvideo.c:(.text+0x490): undefined reference to `GetFrameBufferAddress'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullvideo.o): In function `DUMMY_UpdateRects':
SDL_nullvideo.c:(.text+0x5a0): undefined reference to `UpdateSurface'
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_nullevents.o): In function `DUMMY_PumpEvents':
SDL_nullevents.c:(.text+0xa40): undefined reference to `InputKeyState'
SDL_nullevents.c:(.text+0xa50): undefined reference to `InputKeyData'
collect2: ld returned 1 exit status
make: *** [atari800] Error 1
Any ideas?
Re: 8-bit Atari (XL/XE) emulator
Posted: Sun May 16, 2010 1:20 pm
by arris69
geo650 wrote:I am still trying to compile atari800 on SamyGO cross-compiler but I got stuck during
make command:
...
arm-SamyGO-linux-gnueabi-gcc -o atari800 afile.o antic.o atari.o binload.o cartridge.o cassette.o compfile.o cfg.o cpu.o devices.o esc.o gtia.o log.o memory.o monitor.o pbi.o pia.o pokey.o rtime.o sio.o util.o atari_sdl.o pbi_proto80.o input.o statesav.o ui_basic.o ui.o colours.o screen.o cycle_map.o pbi_mio.o pbi_bb.o pbi_scsi.o pokeysnd.o mzpokeysnd.o remez.o sndsave.o pbi_xld.o votrax.o xep80.o xep80_fonts.o atari_ntsc.o -lm -lpng -lz /usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a -lpthread
/usr/local/arm-SamyGO-linux-gnueabi/lib/libSDL.a(SDL_audio.o): In function `SDL_PauseAudio':
...
Any ideas?
if you realy try to build a dynamic executable you need to link against libGPlayerPorting.so and libYahooSDLHWAcceleration.so and you have to implement the "draw-to-screen" routine.
if you like to build a shared object file (game library) you need -shared -fPIC flags and you app needs the function Game_Main.
hth
arris
Re: 8-bit Atari (XL/XE) emulator
Posted: Sun May 16, 2010 7:58 pm
by geo650
arris69 wrote:if you realy try to build a dynamic executable you need to link against libGPlayerPorting.so and libYahooSDLHWAcceleration.so and you have to implement the "draw-to-screen" routine.
if you like to build a shared object file (game library) you need -shared -fPIC flags and you app needs the function Game_Main.
As we know, the source project of atari800 creates an executable file (not shared library or something like that).
At this very first stage I wanted to build "anything" (an useless executable file) to check if you can build a binary executable file for ARM.
In the second stage, I wanted to create a "Game" (i.e. shared library file with Game_Main() function inside).
Thanks to your help, I finally could build a "Game" library (1.3MB binary). Extra
Game_Main() function (I hope it is exported well) which calls
main() function from
atari_sdl.c is added to run the emulator from Content Library.
The next step will be trying this piece of software to work on TV, because there is only black screen visible. TV doesn't restart, telnet works, but remote control is not responding (although LED is blinking). USB keyboard (with driver loaded) seems to do nothing.
Maybe a "draw-to-screen" routine is needed?
I was thinking that that SamyGO's SDL does the whole job. Probably not.
Not everything is clear for me yet. I need to learn more, then. I am still digging.

Re: 8-bit Atari (XL/XE) emulator
Posted: Mon Jul 05, 2010 2:23 pm
by geo650
Thanks to the people from Polish
atari.area forum (especially
Fox) we have got a milestone. Basic mode version executable (no graphics, no sound,...) seems to work well in telnet session. You can now execute simple BASIC programs in text mode.
Next step is to port SDL version of the emulator to get graphics alive.
Current state of this project: SDL version restarts TV at init (after ROM files have been loaded).
Keep your fingers crossed
EDIT: one more step done

Re: 8-bit Atari (XL/XE) emulator
Posted: Wed Jul 14, 2010 11:18 pm
by erdem_ua
Congratulations geo650
Re: 8-bit Atari (XL/XE) emulator
Posted: Thu Jul 15, 2010 5:55 am
by geo650
Thank you.
The emulator is almost done.
Release #1 THIS SATURDAY!
I've been playing River Raid already with USB keyboard connected

It really works. Uses ca. 50% of ARM CPU power.
The most important problem is delayed sound (~0.5s), but I am not going to fix it in this release. Actually, I don't know if it can be fixed.
THOUSANDS OF GAMES ARE WAITING...

Re: 8-bit Atari (XL/XE) emulator
Posted: Thu Jul 15, 2010 7:56 am
by doodlecz
Looking forward to playing Kennedy Approach

Re: 8-bit Atari (XL/XE) emulator
Posted: Thu Jul 15, 2010 10:15 am
by erdem_ua
I don't know why SDL sound delays half second. It's really annoying issue.

It's great if you can solve sound delay problem. I wish you could.