-
Notifications
You must be signed in to change notification settings - Fork 0
/
colchr16.asm
74 lines (69 loc) · 2.12 KB
/
colchr16.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
SECTION asm_lib
PUBLIC COLCHR16
EXTERN OURPIXADD
EXTERN GETATTR
defc COLCHR16_SUPPRESS = 0
;INCLUDE "../../z88dk-zxspectrum-equates.asm"
.COLCHR16 CALL GETATTR
PUSH HL
LD A,(HL)
LD (IX+17),A
INC HL
LD A,(HL)
LD (IX+18),A
INC HL ; :dbolli:20121020 12:02:22 Added
LD A,(HL) ; :dbolli:20121020 12:02:22 Added
LD (IX+19),A ; :dbolli:20121020 12:02:22 Added
DEC HL
DEC HL ; :dbolli:20121020 12:02:22 Added for third attribute byte
LD DE,$20
ADD HL,DE
LD A,(HL)
LD (IX+20),A ; :dbolli:20121020 12:02:22 Changed from (IX+19)
INC HL
LD A,(HL)
LD (IX+21),A ; :dbolli:20121020 12:02:22 Changed from (IX+20)
if !COLCHR16_SUPPRESS ; :dbolli:20130928 11:21:44 Flag to suppress third attribute byte
INC HL ; :dbolli:20121020 12:02:22 Added
LD A,(HL) ; :dbolli:20121020 12:02:22 Added
LD (IX+22),A ; :dbolli:20121020 12:02:22 Added
endif ; !COLCHR16_SUPPRESS
POP HL
;
LD A,(IX+17)
AND $F8
OR (IX+16)
LD (HL),A
INC HL
LD A,(IX+18)
AND $F8
OR (IX+16)
LD (HL),A
if !COLCHR16_SUPPRESS ; :dbolli:20130928 11:21:44 Flag to suppress third attribute byte
INC HL ; :dbolli:20121020 12:02:22 Added
LD A,(IX+19) ; :dbolli:20121020 12:02:22 Added
AND $F8 ; :dbolli:20121020 12:02:22 Added
OR (IX+16) ; :dbolli:20121020 12:02:22 Added
LD (HL),A ; :dbolli:20121020 12:02:22 Added
DEC HL
endif ; !COLCHR16_SUPPRESS
DEC HL ; :dbolli:20121020 12:02:22 Added for third attribute byte
LD DE,$20
ADD HL,DE
LD A,(IX+20) ; :dbolli:20121020 12:02:22 Changed from (IX+19)
AND $F8
OR (IX+16)
LD (HL),A
INC HL
LD A,(IX+21) ; :dbolli:20121020 12:02:22 Changed from (IX+20)
AND $F8
OR (IX+16)
LD (HL),A
if !COLCHR16_SUPPRESS ; :dbolli:20130928 11:21:44 Flag to suppress third attribute byte
INC HL ; :dbolli:20121020 12:02:22 Added
LD A,(IX+22) ; :dbolli:20121020 12:02:22 Added
AND $F8 ; :dbolli:20121020 12:02:22 Added
OR (IX+16) ; :dbolli:20121020 12:02:22 Added
LD (HL),A ; :dbolli:20121020 12:02:22 Added
endif ; !COLCHR16_SUPPRESS
RET