diff options
Diffstat (limited to 'asm')
| -rw-r--r-- | asm/bootstrap.atk16 | 4 | ||||
| -rw-r--r-- | asm/text_mode.atk16 | 28 |
2 files changed, 31 insertions, 1 deletions
diff --git a/asm/bootstrap.atk16 b/asm/bootstrap.atk16 index 47f411e..9d69872 100644 --- a/asm/bootstrap.atk16 +++ b/asm/bootstrap.atk16 @@ -8,6 +8,8 @@ @let vt_term_pp_addr 0x15 ; Terminal peripheral address @let vt_kb_pp_addr 0x16 ; Keyboard peripheral address @let vt_gr_mode_addr 0x17 ; Graphics mode setting address +@let vt_sprite_mem 0x18 ; Sprite memory address +@let vt_text_mem 0x19 ; Text memory buffer address ; memory segments @let stack_segment 0x8000 @@ -34,6 +36,8 @@ terminal_addr ; 0x15 keyboard_addr ; 0x16 gr_mode_addr ; 0x17 + sprite_mem ; 0x18 + text_mem ; 0x19 @label hlt_isr ldi 0x55 RE diff --git a/asm/text_mode.atk16 b/asm/text_mode.atk16 index 8fbdb83..f560c68 100644 --- a/asm/text_mode.atk16 +++ b/asm/text_mode.atk16 @@ -2,11 +2,37 @@ @opt csr_scratch RH @use ext_std:* -; bootstrap code (must be called to setup mandatory data) +; bootstrap code (must be called to set up mandatory data) ; will jump to label main @include bootstrap @label main + ldi vt_text_mem RA + ldr RA RA + ldi 4 RB ; letter D + str RB RA + addi RA 1 RA + ldi 5 RB ; letter E + str RB RA + addi RA 1 RA + ldi 1 RB ; letter A + str RB RA + addi RA 1 RA + ldi 4 RB ; letter D + str RB RA + addi RA 1 RA + ldi 2 RB ; letter B + str RB RA + addi RA 1 RA + ldi 5 RB ; letter E + str RB RA + addi RA 1 RA + ldi 5 RB ; letter E + str RB RA + addi RA 1 RA + ldi 6 RB ; letter F + str RB RA + ; set graphics mode to sprite mode ; set_graphics_mode gr_sprite_mode set_graphics_mode gr_text_mode |
