Mercurial > sdl-ios-xcode
annotate src/video/ataricommon/SDL_ataric2p.S @ 934:af585d6efec8
Date: Thu, 17 Jun 2004 11:38:51 -0700 (PDT)
From: Eric Wing <ewing2121@yahoo.com>
Subject: New OS X patch (was Re: [SDL] Bug with inverted mouse coordinates in
I have a new patch for OS X I would like to submit.
First, it appears no further action has been taken on
my fix from Apple on the OpenGL windowed mode mouse
inversion problem. The fix would reunify the code, and
no longer require case checking for which version of
the OS you are running. This is probably a good fix
because the behavior with the old code could change
again with future versions of the OS, so those fixes
are included in this new patch.
But in addition, when I was at Apple, I asked them
about the ability to distinguish between the modifier
keys on the left and right sides of the keyboard (e.g.
Left Shift, Right Shift, Left/Right Alt, L/R Cmd, L/R
Ctrl). They told me that starting with Panther, the OS
began supporting this feature. This has always been a
source of annoyance for me when bringing a program
that comes from Windows or Linux to OS X when the
keybindings happened to need distinguishable left-side
and right-side keys. So the rest of the patch I am
submitting contains new code to support this feature
on Panther (and presumably later versions of the OS).
So after removing the OS version checks for the mouse
inversion problem, I reused the OS version checks to
activate the Left/Right detection of modifier keys. If
you are running Panther (or above), the new code will
attempt to distinguish between sides. For the older
OS's, the code path reverts to the original code.
I've tested with Panther on a G4 Cube, G5 dual
processor, and Powerbook Rev C. The Cube and G5
keyboards demonstrated the ability to distinguish
between sides. The Powerbook seems to only have
left-side keys, but the patch was still able to handle
it by producing the same results as before the patch.
I also wanted to test a non-Apple keyboard.
Unfortunately, I don't have any PC USB keyboards.
However, I was able to borrow a Sun Microsystems USB
keyboard, so I tried that out on the G5, and I got the
correct behavior for left and right sides. I'm
expecting that if it worked with a Sun keyboard, most
other keyboards should work with no problems.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 20 Aug 2004 22:35:23 +0000 |
parents | 0310bb01091f |
children | 93207759e065 |
rev | line source |
---|---|
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /* |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 SDL - Simple DirectMedia Layer |
297
f6ffac90895c
Updated copyright information for 2002
Sam Lantinga <slouken@libsdl.org>
parents:
281
diff
changeset
|
3 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 This library is free software; you can redistribute it and/or |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 modify it under the terms of the GNU Library General Public |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 License as published by the Free Software Foundation; either |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 version 2 of the License, or (at your option) any later version. |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 This library is distributed in the hope that it will be useful, |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 Library General Public License for more details. |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 You should have received a copy of the GNU Library General Public |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 License along with this library; if not, write to the Free |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 Sam Lantinga |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 slouken@libsdl.org |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 */ |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 #ifdef SAVE_RCSID |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 static char rcsid = |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 "@(#) $Id$"; |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
26 #endif |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
27 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 /* |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
29 Chunky to planar conversion routine |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
30 1 byte/pixel -> 4 or 8 bit planes |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
32 Patrice Mandin |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
33 Xavier Joubert |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
34 Mikael Kalms |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
35 */ |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
37 .globl _SDL_Atari_C2pConvert |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
38 .globl _SDL_Atari_C2pConvert8 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
39 .globl _SDL_Atari_C2pConvert4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
40 .globl _SDL_Atari_C2pConvert4_pal |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
41 .globl _SDL_Atari_table_c2p |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
42 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
43 /* ------------ Conversion C2P, 8 bits ------------ */ |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
44 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
45 .text |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
46 _SDL_Atari_C2pConvert8: |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
47 movel sp@(4),c2p_source |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
48 movel sp@(8),c2p_dest |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
49 movel sp@(12),c2p_width |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
50 movel sp@(16),c2p_height |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
51 movel sp@(20),c2p_dblligne |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
52 movel sp@(24),c2p_srcpitch |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
53 movel sp@(28),c2p_dstpitch |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
54 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
55 moveml d2-d7/a2-a6,sp@- |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
56 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
57 movel c2p_source,c2p_cursrc |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
58 movel c2p_dest,c2p_curdst |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
59 movel #0x0f0f0f0f,d4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
60 movel #0x00ff00ff,d5 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
61 movel #0x55555555,d6 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
62 movew c2p_height+2,c2p_row |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
63 movew c2p_width+2,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
64 andw #-8,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
65 movew d0,c2p_rowlen |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
66 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
67 SDL_Atari_C2p8_rowloop: |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
68 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
69 movel c2p_cursrc,a0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
70 movel c2p_curdst,a1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
71 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
72 movel a0,a2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
73 addw c2p_rowlen,a2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
74 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
75 movel a0@+,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
76 movel a0@+,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
77 movel a0@+,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
78 movel a0@+,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
79 /* |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
80 d0 = a7a6a5a4a3a2a1a0 b7b6b5b4b3b2b1b0 c7c6c5c4c3c2c1c0 d7d6d5d4d3d2d1d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
81 d1 = e7e6e5e4e3e2e1e0 f7f6f5f4f3f2f1f0 g7g6g5g4g3g2g1g0 h7h6h5h4h3h2h1h0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
82 d2 = i7i6i5i4i3i2i1i0 j7j6j5j4j3j2j1j0 k7k6k5k4k3k2k1k0 l7l6l5l4l3l2l1l0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
83 d3 = m7m6m5m4m3m2m1m0 n7n6n5n4n3n2n1n0 o7o6o5o4o3o2o1o0 p7p6p5p4p3p2p1p0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
84 */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
85 movel d1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
86 lsrl #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
87 eorl d0,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
88 andl d4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
89 eorl d7,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
90 lsll #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
91 eorl d7,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
92 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
93 movel d3,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
94 lsrl #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
95 eorl d2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
96 andl d4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
97 eorl d7,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
98 lsll #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
99 eorl d7,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
100 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
101 movel d2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
102 lsrl #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
103 eorl d0,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
104 andl d5,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
105 eorl d7,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
106 lsll #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
107 eorl d7,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
108 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
109 movel d3,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
110 lsrl #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
111 eorl d1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
112 andl d5,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
113 eorl d7,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
114 lsll #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
115 eorl d7,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
116 /* |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
117 d0 = a7a6a5a4e7e6e5e4 i7i6i5i4m7m6m5m4 c7c6c5c4g7g6g5g4 k7k6k5k4o7o6o5o4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
118 d1 = a3a2a1a0e3e2e1e0 i3i2i1i0m3m2m1m0 c3c2c1c0g3g2g1g0 k3k2k1k0o3o2o1o0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
119 d2 = b7b6b5b4f7f6f5f4 j7j6j5j4n7n6n5n4 d7d6d5d4h7h6h5h4 l7l6l5l4p7p6p5p4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
120 d3 = b3b2b1b0f3f2f1f0 j3j2j1j0n3n2n1n0 d3d2d1d0h3h2h1h0 l3l2l1l0p3p2p1p0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
121 */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
122 bras SDL_Atari_C2p8_start |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
123 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
124 SDL_Atari_C2p8_pix16: |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
125 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
126 movel a0@+,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
127 movel a0@+,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
128 movel a0@+,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
129 movel a0@+,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
130 /* |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
131 d0 = a7a6a5a4a3a2a1a0 b7b6b5b4b3b2b1b0 c7c6c5c4c3c2c1c0 d7d6d5d4d3d2d1d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
132 d1 = e7e6e5e4e3e2e1e0 f7f6f5f4f3f2f1f0 g7g6g5g4g3g2g1g0 h7h6h5h4h3h2h1h0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
133 d2 = i7i6i5i4i3i2i1i0 j7j6j5j4j3j2j1j0 k7k6k5k4k3k2k1k0 l7l6l5l4l3l2l1l0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
134 d3 = m7m6m5m4m3m2m1m0 n7n6n5n4n3n2n1n0 o7o6o5o4o3o2o1o0 p7p6p5p4p3p2p1p0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
135 */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
136 movel d1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
137 lsrl #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
138 movel a3,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
139 eorl d0,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
140 andl d4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
141 eorl d7,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
142 lsll #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
143 eorl d7,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
144 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
145 movel d3,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
146 lsrl #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
147 eorl d2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
148 andl d4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
149 eorl d7,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
150 movel a4,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
151 lsll #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
152 eorl d7,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
153 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
154 movel d2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
155 lsrl #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
156 eorl d0,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
157 andl d5,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
158 eorl d7,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
159 movel a5,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
160 lsll #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
161 eorl d7,d2 |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
162 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
163 movel d3,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
164 lsrl #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
165 eorl d1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
166 andl d5,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
167 eorl d7,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
168 movel a6,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
169 lsll #8,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
170 eorl d7,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
171 /* |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
172 d0 = a7a6a5a4e7e6e5e4 i7i6i5i4m7m6m5m4 c7c6c5c4g7g6g5g4 k7k6k5k4o7o6o5o4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
173 d1 = a3a2a1a0e3e2e1e0 i3i2i1i0m3m2m1m0 c3c2c1c0g3g2g1g0 k3k2k1k0o3o2o1o0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
174 d2 = b7b6b5b4f7f6f5f4 j7j6j5j4n7n6n5n4 d7d6d5d4h7h6h5h4 l7l6l5l4p7p6p5p4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
175 d3 = b3b2b1b0f3f2f1f0 j3j2j1j0n3n2n1n0 d3d2d1d0h3h2h1h0 l3l2l1l0p3p2p1p0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
176 */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
177 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
178 SDL_Atari_C2p8_start: |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
179 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
180 movel d2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
181 lsrl #1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
182 eorl d0,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
183 andl d6,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
184 eorl d7,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
185 addl d7,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
186 eorl d7,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
187 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
188 movel d3,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
189 lsrl #1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
190 eorl d1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
191 andl d6,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
192 eorl d7,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
193 addl d7,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
194 eorl d7,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
195 /* |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
196 d0 = a7b7a5b5e7f7e5f5 i7j7i5j5m7n7m5n5 c7d7c5d5g7h7g5h5 k7l7k5l5o7p7o5p5 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
197 d1 = a3b3a1b1e3f3e1f1 i3j3i1j1m3n3m1n1 c3d3c1d1g3h3g1h1 k3l3k1l1o3p3o1p1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
198 d2 = a6b6a4b4e6f6e4f4 i6j6i4j4m6n6m4n4 c6d6c4d4g6h6g4h4 k6l6k4l4o6p6o4p4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
199 d3 = a2b2a0b0e2f2e0f0 i2j2i0j0m2n2m0n0 c2d2c0d0g2h2g0h0 k2l2k0l0o2p2o0p0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
200 */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
201 movew d2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
202 movew d0,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
203 swap d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
204 movew d2,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
205 movew d7,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
206 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
207 movew d3,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
208 movew d1,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
209 swap d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
210 movew d3,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
211 movew d7,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
212 /* |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
213 d0 = a7b7a5b5e7f7e5f5 i7j7i5j5m7n7m5n5 a6b6a4b4e6f6e4f4 i6j6i4j4m6n6m4n4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
214 d1 = a3b3a1b1e3f3e1f1 i3j3i1j1m3n3m1n1 a2b2a0b0e2f2e0f0 i2j2i0j0m2n2m0n0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
215 d2 = c7d7c5d5g7h7g5h5 k7l7k5l5o7p7o5p5 c6d6c4d4g6h6g4h4 k6l6k4l4o6p6o4p4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
216 d3 = c3d3c1d1g3h3g1h1 k3l3k1l1o3p3o1p1 c2d2c0d0g2h2g0h0 k2l2k0l0o2p2o0p0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
217 */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
218 movel d2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
219 lsrl #2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
220 eorl d0,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
221 andl #0x33333333,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
222 eorl d7,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
223 lsll #2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
224 eorl d7,d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
225 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
226 movel d3,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
227 lsrl #2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
228 eorl d1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
229 andl #0x33333333,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
230 eorl d7,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
231 lsll #2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
232 eorl d7,d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
233 /* |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
234 d0 = a7b7c7d7e7f7g7h7 i7j7k7l7m7n7o7p7 a6b6c6d6e6f6g6h6 i6j6k6l6m6n6o6p6 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
235 d1 = a3b3c3d3e3f3g3h3 i3j3k3l3m3n3o3p3 a2b2c2d2e2f2g2h2 i2j2k2l2m2n2o2p2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
236 d2 = a5b5c5d5e5f5g5h5 i5j5k5l5m5n5o5p5 a4b4c4d4e4f4g4h4 i4j4k4l4m4n4o4p4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
237 d3 = a1b1c1d1e1f1g1h1 i1j1k1l1m1n1o1p1 a0b0c0d0e0f0g0h0 i0j0k0l0m0n0o0p0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
238 */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
239 swap d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
240 swap d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
241 swap d2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
242 swap d3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
243 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
244 movel d0,a6 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
245 movel d2,a5 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
246 movel d1,a4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
247 movel d3,a3 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
248 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
249 cmpl a0,a2 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
250 bgt SDL_Atari_C2p8_pix16 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
251 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
252 movel a3,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
253 movel a4,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
254 movel a5,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
255 movel a6,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
256 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
257 /* Double the line ? */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
258 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
259 movel c2p_srcpitch,d0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
260 movel c2p_dstpitch,d1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
261 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
262 tstl c2p_dblligne |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
263 beqs SDL_Atari_C2p8_nodblline |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
264 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
265 movel c2p_curdst,a0 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
266 movel a0,a1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
267 addl d1,a1 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
268 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
269 movew c2p_width+2,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
270 lsrw #4,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
271 subql #1,d7 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
272 SDL_Atari_C2p8_dblloop: |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
273 movel a0@+,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
274 movel a0@+,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
275 movel a0@+,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
276 movel a0@+,a1@+ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
277 dbra d7,SDL_Atari_C2p8_dblloop |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
278 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
279 addl d1,c2p_curdst |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
280 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
281 SDL_Atari_C2p8_nodblline: |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
282 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
283 /* Next line */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
284 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
285 addl d0,c2p_cursrc |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
286 addl d1,c2p_curdst |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
287 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
288 subqw #1,c2p_row |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
289 bne SDL_Atari_C2p8_rowloop |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
290 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
291 moveml sp@+,d2-d7/a2-a6 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
292 rts |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
293 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
294 /* ------------ Conversion C2P, 4 bits ------------ */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
295 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
296 _SDL_Atari_C2pConvert4: |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
297 movel sp@(4),c2p_source |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
298 movel sp@(8),c2p_dest |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
299 movel sp@(12),c2p_width |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
300 movel sp@(16),c2p_height |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
301 movel sp@(20),c2p_dblligne |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
302 movel sp@(24),c2p_srcpitch |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
303 movel sp@(28),c2p_dstpitch |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
304 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
305 moveml d2-d7/a2-a6,sp@- |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
306 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
307 movel c2p_source,a0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
308 movel c2p_dest,a1 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
309 lea _SDL_Atari_table_c2p,a2 |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
310 movel #0x00070001,d3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
311 #if defined(__M68020__) |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
312 moveq #0,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
313 #endif |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
314 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
315 movel c2p_height,d7 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
316 subql #1,d7 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
317 c2p4_bcly: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
318 movel a0,a4 | Save start address of source |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
319 movel a1,a5 | Save start address of dest |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
320 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
321 | Conversion |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
322 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
323 movel c2p_width,d6 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
324 lsrw #4,d6 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
325 subql #1,d6 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
326 c2p4_bclx: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
327 | Octets 0-7 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
328 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
329 moveq #0,d1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
330 moveq #7,d5 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
331 c2p4_bcl07: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
332 #if defined(__M68020__) |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
333 moveb a0@+,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
334 lea a2@(0,d0:w:4),a3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
335 #else |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
336 moveq #0,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
337 moveb a0@+,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
338 lslw #2,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
339 lea a2@(0,d0:w),a3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
340 #endif |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
341 lsll #1,d1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
342 orl a3@,d1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
343 dbra d5,c2p4_bcl07 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
344 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
345 movepl d1,a1@(0) |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
346 addw d3,a1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
347 swap d3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
348 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
349 | Octets 8-15 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
350 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
351 moveq #0,d1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
352 moveq #7,d5 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
353 c2p4_bcl815: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
354 #if defined(__M68020__) |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
355 moveb a0@+,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
356 lea a2@(0,d0:w:4),a3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
357 #else |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
358 moveq #0,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
359 moveb a0@+,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
360 lslw #2,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
361 lea a2@(0,d0:w),a3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
362 #endif |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
363 lsll #1,d1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
364 orl a3@,d1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
365 dbra d5,c2p4_bcl815 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
366 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
367 movepl d1,a1@(0) |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
368 addw d3,a1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
369 swap d3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
370 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
371 dbra d6,c2p4_bclx |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
372 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
373 | Double line ? |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
374 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
375 tstl c2p_dblligne |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
376 beq c2p4_nodblligne |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
377 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
378 movel a5,a6 | src line |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
379 movel a5,a1 | dest line |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
380 addl c2p_dstpitch,a1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
381 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
382 movel c2p_width,d6 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
383 lsrw #3,d6 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
384 subql #1,d6 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
385 c2p4_copydbl: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
386 movel a6@+,a1@+ |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
387 dbra d6,c2p4_copydbl |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
388 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
389 addl c2p_dstpitch,a5 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
390 c2p4_nodblligne: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
391 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
392 | Next line |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
393 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
394 movel a4,a0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
395 addl c2p_srcpitch,a0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
396 movel a5,a1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
397 addl c2p_dstpitch,a1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
398 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
399 dbra d7,c2p4_bcly |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
400 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
401 moveml sp@+,d2-d7/a2-a6 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
402 rts |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
403 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
404 /* ------------ Conversion of a light palette in 4 bits ------------ */ |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
405 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
406 _SDL_Atari_C2pConvert4_pal: |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
407 /* a0 is a 256-word light palette */ |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
408 movel sp@(4),a0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
409 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
410 moveml d2-d3,sp@- |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
411 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
412 lea _SDL_Atari_table_c2p,a1 |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
413 movew #255,d3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
414 c2p_pal_initbcl: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
415 movew a0@+,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
416 lsrw #4,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
417 and #15,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
418 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
419 moveq #3,d1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
420 c2p_pal_initbyte: |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
421 btst d1,d0 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
422 sne d2 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
423 negw d2 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
424 moveb d2,a1@(0,d1:w) |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
425 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
426 dbra d1,c2p_pal_initbyte |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
427 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
428 addql #4,a1 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
429 dbra d3,c2p_pal_initbcl |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
430 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
431 moveml sp@+,d2-d3 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
432 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
433 rts |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
434 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
435 /* ------------ Buffers ------------ */ |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
436 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
437 .data |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
438 |
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
439 .even |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
440 .comm _SDL_Atari_C2pConvert,4 |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
441 .comm _SDL_Atari_table_c2p,2048 |
281
c5010ab8ba35
Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
442 |
734
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
443 .comm c2p_source,4 /* Source framebuffer */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
444 .comm c2p_dest,4 /* Destination framebuffer */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
445 .comm c2p_width,4 /* Width of zone to convert */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
446 .comm c2p_height,4 /* Height of zone to convert */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
447 .comm c2p_dblligne,4 /* Double the lines while converting ? */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
448 .comm c2p_srcpitch,4 /* Source pitch */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
449 .comm c2p_dstpitch,4 /* Destination pitch */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
450 .comm c2p_cursrc,4 /* Current source line */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
451 .comm c2p_curdst,4 /* Current destination line */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
452 .comm c2p_rowlen,2 /* Line length in bytes */ |
0310bb01091f
New C2P conversion routine
Patrice Mandin <patmandin@gmail.com>
parents:
297
diff
changeset
|
453 .comm c2p_row,2 /* Current line number */ |