mirror of https://github.com/jeremysrand/BuGS.git
226 lines
5.4 KiB
ArmAsm
226 lines
5.4 KiB
ArmAsm
|
;
|
||
|
; tileConvert.s
|
||
|
; BuGS
|
||
|
;
|
||
|
; Created by Jeremy Rand on 2020-12-30.
|
||
|
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||
|
;
|
||
|
|
||
|
case on
|
||
|
mcopy tileConvert.macros
|
||
|
keep tileConvert
|
||
|
|
||
|
tileConvert start
|
||
|
using globalData
|
||
|
|
||
|
asciiToTileType entry
|
||
|
and #$7f
|
||
|
asl a
|
||
|
phy
|
||
|
tay
|
||
|
lda asciiToTileTypeTable,y
|
||
|
ply
|
||
|
rtl
|
||
|
|
||
|
|
||
|
tileTypeToAscii entry
|
||
|
lsr a
|
||
|
lsr a
|
||
|
phy
|
||
|
tay
|
||
|
lda tileTypeToAsciiTable,y
|
||
|
ply
|
||
|
and #$7f
|
||
|
rtl
|
||
|
|
||
|
|
||
|
asciiToTileTypeTable anop
|
||
|
dc i2'TILE_EMPTY' ; 0
|
||
|
dc i2'TILE_EMPTY' ; 1
|
||
|
dc i2'TILE_EMPTY' ; 2
|
||
|
dc i2'TILE_EMPTY' ; 3
|
||
|
dc i2'TILE_EMPTY' ; 4
|
||
|
dc i2'TILE_EMPTY' ; 5
|
||
|
dc i2'TILE_EMPTY' ; 6
|
||
|
dc i2'TILE_EMPTY' ; 7
|
||
|
dc i2'TILE_EMPTY' ; 8
|
||
|
dc i2'TILE_EMPTY' ; 9
|
||
|
dc i2'TILE_EMPTY' ; 10
|
||
|
dc i2'TILE_EMPTY' ; 11
|
||
|
dc i2'TILE_EMPTY' ; 12
|
||
|
dc i2'TILE_EMPTY' ; 13
|
||
|
dc i2'TILE_EMPTY' ; 14
|
||
|
dc i2'TILE_EMPTY' ; 15
|
||
|
dc i2'TILE_EMPTY' ; 16
|
||
|
dc i2'TILE_EMPTY' ; 17
|
||
|
dc i2'TILE_EMPTY' ; 18
|
||
|
dc i2'TILE_EMPTY' ; 19
|
||
|
dc i2'TILE_EMPTY' ; 20
|
||
|
dc i2'TILE_EMPTY' ; 21
|
||
|
dc i2'TILE_EMPTY' ; 22
|
||
|
dc i2'TILE_EMPTY' ; 23
|
||
|
dc i2'TILE_EMPTY' ; 24
|
||
|
dc i2'TILE_EMPTY' ; 25
|
||
|
dc i2'TILE_EMPTY' ; 26
|
||
|
dc i2'TILE_EMPTY' ; 27
|
||
|
dc i2'TILE_EMPTY' ; 28
|
||
|
dc i2'TILE_EMPTY' ; 29
|
||
|
dc i2'TILE_EMPTY' ; 30
|
||
|
dc i2'TILE_EMPTY' ; 31
|
||
|
dc i2'TILE_EMPTY' ; 32
|
||
|
dc i2'TILE_EMPTY' ; 33
|
||
|
dc i2'TILE_EMPTY' ; 34
|
||
|
dc i2'TILE_EMPTY' ; 35
|
||
|
dc i2'TILE_EMPTY' ; 36
|
||
|
dc i2'TILE_EMPTY' ; 37
|
||
|
dc i2'TILE_EMPTY' ; 38
|
||
|
dc i2'TILE_EMPTY' ; 39
|
||
|
dc i2'TILE_EMPTY' ; 40
|
||
|
dc i2'TILE_EMPTY' ; 41
|
||
|
dc i2'TILE_EMPTY' ; 42
|
||
|
dc i2'TILE_EMPTY' ; 43
|
||
|
dc i2'TILE_EMPTY' ; 44
|
||
|
dc i2'TILE_EMPTY' ; 45
|
||
|
dc i2'TILE_SYMBOL_DOT' ; 46
|
||
|
dc i2'TILE_EMPTY' ; 47
|
||
|
dc i2'TILE_NUMBER_0' ; 48
|
||
|
dc i2'TILE_NUMBER_1' ; 49
|
||
|
dc i2'TILE_NUMBER_2' ; 50
|
||
|
dc i2'TILE_NUMBER_3' ; 51
|
||
|
dc i2'TILE_NUMBER_4' ; 52
|
||
|
dc i2'TILE_NUMBER_5' ; 53
|
||
|
dc i2'TILE_NUMBER_6' ; 54
|
||
|
dc i2'TILE_NUMBER_7' ; 55
|
||
|
dc i2'TILE_NUMBER_8' ; 56
|
||
|
dc i2'TILE_NUMBER_9' ; 57
|
||
|
dc i2'TILE_SYMBOL_COLON' ; 58
|
||
|
dc i2'TILE_EMPTY' ; 59
|
||
|
dc i2'TILE_EMPTY' ; 60
|
||
|
dc i2'TILE_EMPTY' ; 61
|
||
|
dc i2'TILE_EMPTY' ; 62
|
||
|
dc i2'TILE_EMPTY' ; 63
|
||
|
dc i2'TILE_EMPTY' ; 64
|
||
|
dc i2'TILE_LETTER_A' ; 65
|
||
|
dc i2'TILE_LETTER_B' ; 66
|
||
|
dc i2'TILE_LETTER_C' ; 67
|
||
|
dc i2'TILE_LETTER_D' ; 68
|
||
|
dc i2'TILE_LETTER_E' ; 69
|
||
|
dc i2'TILE_LETTER_F' ; 70
|
||
|
dc i2'TILE_LETTER_G' ; 71
|
||
|
dc i2'TILE_LETTER_H' ; 72
|
||
|
dc i2'TILE_LETTER_I' ; 73
|
||
|
dc i2'TILE_LETTER_J' ; 74
|
||
|
dc i2'TILE_LETTER_K' ; 75
|
||
|
dc i2'TILE_LETTER_L' ; 76
|
||
|
dc i2'TILE_LETTER_M' ; 77
|
||
|
dc i2'TILE_LETTER_N' ; 78
|
||
|
dc i2'TILE_LETTER_O' ; 79
|
||
|
dc i2'TILE_LETTER_P' ; 80
|
||
|
dc i2'TILE_LETTER_Q' ; 81
|
||
|
dc i2'TILE_LETTER_R' ; 82
|
||
|
dc i2'TILE_LETTER_S' ; 83
|
||
|
dc i2'TILE_LETTER_T' ; 84
|
||
|
dc i2'TILE_LETTER_U' ; 85
|
||
|
dc i2'TILE_LETTER_V' ; 86
|
||
|
dc i2'TILE_LETTER_W' ; 87
|
||
|
dc i2'TILE_LETTER_X' ; 88
|
||
|
dc i2'TILE_LETTER_Y' ; 89
|
||
|
dc i2'TILE_LETTER_Z' ; 90
|
||
|
dc i2'TILE_EMPTY' ; 91
|
||
|
dc i2'TILE_EMPTY' ; 92
|
||
|
dc i2'TILE_EMPTY' ; 93
|
||
|
dc i2'TILE_EMPTY' ; 94
|
||
|
dc i2'TILE_EMPTY' ; 95
|
||
|
dc i2'TILE_EMPTY' ; 96
|
||
|
dc i2'TILE_LETTER_A' ; 97
|
||
|
dc i2'TILE_LETTER_B' ; 98
|
||
|
dc i2'TILE_LETTER_C' ; 99
|
||
|
dc i2'TILE_LETTER_D' ; 100
|
||
|
dc i2'TILE_LETTER_E' ; 101
|
||
|
dc i2'TILE_LETTER_F' ; 102
|
||
|
dc i2'TILE_LETTER_G' ; 103
|
||
|
dc i2'TILE_LETTER_H' ; 104
|
||
|
dc i2'TILE_LETTER_I' ; 105
|
||
|
dc i2'TILE_LETTER_J' ; 106
|
||
|
dc i2'TILE_LETTER_K' ; 107
|
||
|
dc i2'TILE_LETTER_L' ; 108
|
||
|
dc i2'TILE_LETTER_M' ; 109
|
||
|
dc i2'TILE_LETTER_N' ; 110
|
||
|
dc i2'TILE_LETTER_O' ; 111
|
||
|
dc i2'TILE_LETTER_P' ; 112
|
||
|
dc i2'TILE_LETTER_Q' ; 113
|
||
|
dc i2'TILE_LETTER_R' ; 114
|
||
|
dc i2'TILE_LETTER_S' ; 115
|
||
|
dc i2'TILE_LETTER_T' ; 116
|
||
|
dc i2'TILE_LETTER_U' ; 117
|
||
|
dc i2'TILE_LETTER_V' ; 118
|
||
|
dc i2'TILE_LETTER_W' ; 119
|
||
|
dc i2'TILE_LETTER_X' ; 120
|
||
|
dc i2'TILE_LETTER_Y' ; 121
|
||
|
dc i2'TILE_LETTER_Z' ; 122
|
||
|
dc i2'TILE_EMPTY' ; 123
|
||
|
dc i2'TILE_EMPTY' ; 124
|
||
|
dc i2'TILE_EMPTY' ; 125
|
||
|
dc i2'TILE_EMPTY' ; 126
|
||
|
dc i2'TILE_EMPTY' ; 127
|
||
|
|
||
|
tileTypeToAsciiTable anop
|
||
|
dc c' ' ; TILE_EMPTY
|
||
|
dc c' ' ; TILE_MUSHROOM1
|
||
|
dc c' ' ; TILE_MUSHROOM2
|
||
|
dc c' ' ; TILE_MUSHROOM3
|
||
|
dc c' ' ; TILE_MUSHROOM4
|
||
|
dc c' ' ; TILE_SYMBOL_C
|
||
|
dc c' ' ; TILE_SYMBOL_P
|
||
|
dc c'.' ; TILE_SYMBOL_DOT
|
||
|
dc c':' ; TILE_SYMBOL_COLON
|
||
|
dc c' ' ; TILE_POISON_MUSHROOM1
|
||
|
dc c' ' ; TILE_POISON_MUSHROOM2
|
||
|
dc c' ' ; TILE_POISON_MUSHROOM3
|
||
|
dc c' ' ; TILE_POISON_MUSHROOM4
|
||
|
dc c'A' ; TILE_LETTER_A
|
||
|
dc c'B' ; TILE_LETTER_B
|
||
|
dc c'C' ; TILE_LETTER_C
|
||
|
dc c'D' ; TILE_LETTER_D
|
||
|
dc c'E' ; TILE_LETTER_E
|
||
|
dc c'F' ; TILE_LETTER_F
|
||
|
dc c'G' ; TILE_LETTER_G
|
||
|
dc c'H' ; TILE_LETTER_H
|
||
|
dc c'I' ; TILE_LETTER_I
|
||
|
dc c'J' ; TILE_LETTER_J
|
||
|
dc c'K' ; TILE_LETTER_K
|
||
|
dc c'L' ; TILE_LETTER_L
|
||
|
dc c'M' ; TILE_LETTER_M
|
||
|
dc c'N' ; TILE_LETTER_N
|
||
|
dc c'O' ; TILE_LETTER_O
|
||
|
dc c'P' ; TILE_LETTER_P
|
||
|
dc c'Q' ; TILE_LETTER_Q
|
||
|
dc c'R' ; TILE_LETTER_R
|
||
|
dc c'S' ; TILE_LETTER_S
|
||
|
dc c'T' ; TILE_LETTER_T
|
||
|
dc c'U' ; TILE_LETTER_U
|
||
|
dc c'V' ; TILE_LETTER_V
|
||
|
dc c'W' ; TILE_LETTER_W
|
||
|
dc c'X' ; TILE_LETTER_X
|
||
|
dc c'Y' ; TILE_LETTER_Y
|
||
|
dc c'Z' ; TILE_LETTER_Z
|
||
|
dc c'0' ; TILE_NUMBER_0
|
||
|
dc c'1' ; TILE_NUMBER_1
|
||
|
dc c'2' ; TILE_NUMBER_2
|
||
|
dc c'3' ; TILE_NUMBER_3
|
||
|
dc c'4' ; TILE_NUMBER_4
|
||
|
dc c'5' ; TILE_NUMBER_5
|
||
|
dc c'6' ; TILE_NUMBER_6
|
||
|
dc c'7' ; TILE_NUMBER_7
|
||
|
dc c'8' ; TILE_NUMBER_8
|
||
|
dc c'9' ; TILE_NUMBER_9
|
||
|
dc c' ' ; TILE_SOLID1
|
||
|
dc c' ' ; TILE_SOLID2
|
||
|
dc c' ' ; TILE_SOLID3
|
||
|
dc c' ' ; TILE_PLAYER
|
||
|
dc c'u' ; TILE_LETTER_WHITE_U
|
||
|
dc c'G' ; TILE_LETTER_GREEN_G
|
||
|
dc c'S' ; TILE_LETTER_GREEN S
|
||
|
|
||
|
end
|