foft
Certified Guru
Yep it is another Jay Miner beast That said it would be possible to make it considerably faster. The atari800 emulator favours accuracy over speed in general.DaveC posted on Jul 27 2004 at 02:27 AM said:Is the Atari computer difficult to emulate? I would think that the GP32 should be able to run A800 at FS/0 with full sound and cycle exact at 60 Mhz. I would think if you can run 16 bit Genesis and Turbo grafx at full speed the 8-bit 1 Mhz Atari would be fast at any mode. Are there some weird custom chips in there that make it slow? I know that the Atari computer was designed by the Amiga guys so maybe they put some of that funky stuff in the Atari 800 too.
It seems that much Atari stuff is hard to emulate. The Lynx, and the Atari 2600 are slow too.
The Atari 8-bit's main chips are:
cpu: 6502 - non-standard illegal ops are used by emus though. This could probably be sped up alot with an asm core. Indeed the Amiga port does this...
antic: Main video chip. This reads a mode list from memory for each line of the display. i.e. different video mode per line. Also does scrolling, scanline interrupts and stuff. This is one of the more complex parts of the emulator. A large optimisation to this would be writing to the GP32 screen directly (its the wrong way round!). Doing that efficiently is a significant amount of work.
gtia: Secondary video chip. Deals with colours and sprites. intra-frame colour changes are allowed, so precise cpu timing is important.
pokey: Sound chip. Has hardware interrupts. Does not do dma for sound samples. So this is written directly by cpu as volumn levels. So, again, precise cpu timing is important.
Anyway I'm sure it could be made quicker. Once my round robin queue gets back to this project again, I might try to optimise it. Sub 100MHz cycle exact would be cool!
If the 800 was a simple framebuffer, dma soundchip and plain cpu it would be very fast
Mark
Last edited by a moderator: