aboutsummaryrefslogtreecommitdiffstats
path: root/resources/asm/aoc23_1a.py
blob: 12e395376936f48975fe4818aa6e1227b52aa96f (plain)
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
import atk16

GRAPHICS_NO_MODE: atk16.ConstWord16     = 0
GRAPHICS_TEXT_MODE: atk16.ConstWord16   = 1
GRAPHICS_SPRITE_MODE: atk16.ConstWord16 = 2

GRAPHICS_MODE_PP: atk16.ConstWord16 = 0x17
TEXT_MEM_PP: atk16.ConstWord16      = 0x19

graphics_mode_p = atk16.load(GRAPHICS_MODE_PP)
text_mem_p      = atk16.load(TEXT_MEM_PP)

atk16.store(graphics_mode_p, GRAPHICS_TEXT_MODE)

INPUT_P: atk16.ConstWord16 = 0x9000
INPUT_ELEM_SIZE: atk16.ConstWord16 = 256

# 1a example

atk16.store(INPUT_P + 0,   "1")
atk16.store(INPUT_P + 1,   "a")
atk16.store(INPUT_P + 2,   "b")
atk16.store(INPUT_P + 3,   "c")
atk16.store(INPUT_P + 4,   "2")
atk16.store(INPUT_P + 5,   "\0")
# atk16.store_const_vec(INPUT_P + 0,   "1abc2\0")
# atk16.store_const_vec(INPUT_P + 256, "pqr3stu8vwx\0")
# atk16.store_const_vec(INPUT_P + 512, "a1b2c3d4e5f\0")
# atk16.store_const_vec(INPUT_P + 768, "treb7uchet\0")

row_p = INPUT_P
i = 0

first = atk16.load(row_p)
last = 0

while True:
    char_p = INPUT_P + i
    char = atk16.load(char_p)

    if char == "\0":
        break

    last = char
    i += 1

atk16.store(text_mem_p + 0, first)
atk16.store(text_mem_p + 1, last)