Commit graph

8 commits

Author SHA1 Message Date
Miro Kropacek
5537759c53 BACKENDS: ATARI: Rework
- Atari TT support
- all video and audio is now handled via XBIOS
- reworked IKBD handling using Kbdvbase vectors, esp. Kbdvec()
- video uses proper triple buffer
- arbitrary game screen size support
- many fixes and optimizations
2023-06-15 22:57:55 +02:00
Miro Kropacek
6c1002aca5 GRAPHICS: ATARI: Fix special move16 case when w==15 2023-05-10 23:02:12 +02:00
Miro Kropacek
76d3706492 BACKENDS: ATARI: Add build scripts
- consolidate public #define's (just ATARI)
- cpu compiler flags are specified in the script
- allow explicit move16, SV and SV Blitter features enabled/disabled

Provide two build scripts:

1. "Fat" one targeted at 040/060 machines (possibly with SuperVidel)

This one is optimized for 68020-60 (so it's still possible to try
highres engines on 68030 machines).

2. "Slim" one targeted at 030 machines (Falcon030+DFB/CT2 or TT030)

This one is optimized for 68030 and stripped from even more features:
"fancy" (highres) themes, move16 & SuperVidel routines and most
importantly the highres engines.
2023-05-10 22:58:26 +02:00
Miro Kropacek
b2103898a7 GRAPHICS: ATARI: Optionally avoid surface pitch align
Some engines are too bound to linear surfaces in 8bpp that it is very
hard to repair them. So instead of polluting the engine with
Surface::init() & delete[] Surface::getPixels() just use this
workaround.

It is also useful as an early fix for newly found engines which may be
fixable later.
2023-04-07 15:54:28 +02:00
Miro Kropacek
94f9956bc4 GRAPHICS: ATARI: Fix copyBlit() on 040/060
The move16 routine needs not only src/dst aligned on 16 bytes but this
requirement must be honored in every iteration. Sometimes an engine
would pass a 16-byte aligned src (by chance) with srcPitch = 13 for
instance.

The routine above it where srcPitch == dstPitch works because there's
never a second iteration with unaligned pointers.

Also, a bit optimized (precalculated some of the jump offsets).
2023-04-07 12:55:57 +02:00
Miro Kropacek
6c5e3dbfd5 BACKENDS: ATARI: Refactor 2023-03-25 21:45:50 +01:00
Miro Kropacek
06af761337 GRAPHICS: ATARI: Align surface on a 16-byte boundary
Also implement a CPU-based optimization for the 68040 / 68060.
2023-03-20 22:17:25 +01:00
Miro Kropacek
5ba26fdf35 GRAPHICS: ATARI: Introduce accelerated blitting 2023-03-04 23:38:42 +01:00