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 */