Standardize on uppercase for = defines in asxxxx source, HW_XXX not IO_XXX for soft...
authorNick Downing <nick@ndcode.org>
Fri, 24 Jun 2022 10:27:53 +0000 (20:27 +1000)
committerNick Downing <nick@ndcode.org>
Fri, 24 Jun 2022 13:30:13 +0000 (23:30 +1000)
disasm/star_blazer.asm.patch
disasm/star_blazer.txt
disasm/ucode0.py
disasm/ucode1.py
emu_65c02/emu_65c02.c
loader/lzss_unpack_fwd.asm
loader/lzss_unpack_rev.asm
test/dhgr.asm
test/dhgr_viewer.asm

index d636fca..3cf441f 100644 (file)
@@ -1,44 +1,44 @@
---- star_blazer.asm0   2022-06-24 17:39:52.231813771 +1000
-+++ star_blazer.asm    2022-06-24 17:40:28.671813320 +1000
+--- star_blazer.asm0   2022-06-24 20:25:26.755991492 +1000
++++ star_blazer.asm    2022-06-24 20:26:21.951990809 +1000
 @@ -1,3 +1,8 @@
 +ALIGN = 0
 +DHGR = 1
 +PIXEL_SHAPE = 1
 +SHAPE = 1
 +
hires_screen = 0x2000                 ; 2000
hw_kbd = 0xc000                               ; c000
hw_kbdstrb = 0xc010                   ; c010
HIRES_SCREEN = 0x2000                 ; 2000
HW_KBD = 0xc000                               ; c000
HW_KBDSTRB = 0xc010                   ; c010
 @@ -12,19 +17,49 @@
hw_ptrig = 0xc070                     ; c070
rom_pread = 0xfb1e                    ; fb1e
HW_PTRIG = 0xc070                     ; c070
ROM_PREAD = 0xfb1e                    ; fb1e
  
 +.if DHGR
 +; read/write
-+hw_page2 = 0xc055
++HW_PAGE2 = 0xc055
 +
 +; read
-+hw_setdhires = 0xc05e
-+hw_setioudis = 0xc07e
-+hw_clrioudis = 0xc07f
-+hw_lc_bank2_ram_wp = 0xc080
-+hw_lc_bank2_rom_we = 0xc081
-+hw_lc_bank2_rom_wp = 0xc082
-+hw_lc_bank2_ram_we = 0xc083
-+hw_lc_bank1_ram_wp = 0xc084
-+hw_lc_bank1_rom_we = 0xc085
-+hw_lc_bank1_rom_wp = 0xc086
-+hw_lc_bank1_ram_we = 0xc087
++HW_SETDHIRES = 0xc05e
++HW_SETIOUDIS = 0xc07e
++HW_CLRIOUDIS = 0xc07f
++HW_LC_BANK2_RAM_WP = 0xc080
++HW_LC_BANK2_ROM_WE = 0xc081
++HW_LC_BANK2_ROM_WP = 0xc082
++HW_LC_BANK2_RAM_WE = 0xc083
++HW_LC_BANK1_RAM_WP = 0xc084
++HW_LC_BANK1_ROM_WE = 0xc085
++HW_LC_BANK1_ROM_WP = 0xc086
++HW_LC_BANK1_RAM_WE = 0xc087
 +
 +; write
-+hw_clr80col = 0xc000
-+hw_set80col = 0xc001
-+hw_rdmainram = 0xc002
-+hw_rdcardram = 0xc003
-+hw_wrmainram = 0xc004
-+hw_wrcardram = 0xc005
-+hw_clr80vid = 0xc00c
-+hw_set80vid = 0xc00d
++HW_CLR80COL = 0xc000
++HW_SET80COL = 0xc001
++HW_RDMAINRAM = 0xc002
++HW_RDCARDRAM = 0xc003
++HW_WRMAINRAM = 0xc004
++HW_WRCARDRAM = 0xc005
++HW_CLR80VID = 0xc00c
++HW_SET80VID = 0xc00d
 +.endif
 +
 +      .globl  start
        ldy     #0x00                   ; 0a00 -> 0a02 -> 0a04 r
 @@ -1072,7 +1117,7 @@
        tsx                             ; 1095 -> 1097 -> 1098 r
-       stx     *microcode_sp           ; 1097 -> 1098 -> 109a r
-       ldx     *microcode_x_save_c9    ; 1098 -> 109a -> 109c r
+       stx     *ucode_sp               ; 1097 -> 1098 -> 109a r
+       ldx     *ucode_x_save_c9        ; 1098 -> 109a -> 109c r
 -      lda     0xaee0,x                ; 109a -> 109c -> 109f r x=01..7f
 +      lda     object1080_start_sentinel - 0x10,x ;0xaee0,x            ; 109a -> 109c -> 109f r x=01..7f
-       sta     *microcode_start_sentinel ; 109c -> 109f -> 10a1 r
microcode_execute_1093_entry:
+       sta     *ucode_start_sentinel   ; 109c -> 109f -> 10a1 r
ucode_execute_1093_entry:
        ldy     #0x00                   ; 1090,109f -> 10a1 -> 10a3 r
 @@ -1099,7 +1144,7 @@
-       jsr     do_microcode_pair       ; 10c6 -> 10c8 -> 106a r s=f7..f9,02
+       jsr     do_ucode_pair           ; 10c6 -> 10c8 -> 106a r s=f7..f9,02
        bne     3$                      ; 107b -> 10cb -> 10c0 r z=0
microcode_execute_1093_done:
ucode_execute_1093_done:
 -      lda     0xaee0,x                ; 1093,10a5,10ba,10c2,10c6 -> 10cd -> 10d0 r x=01..7f
 +      lda     object1080_start_sentinel - 0x10,x ;0xaee0,x            ; 1093,10a5,10ba,10c2,10c6 -> 10cd -> 10d0 r x=01..7f
        rts                             ; 10cd -> 10d0 -> 123e,143a,1615,1629,1633,1649,165b,1759 r s=f7..fd,02
microcode_execute_10d1:
ucode_execute_10d1:
        beq     rts_10ec                ; 1216,123b,1260,1285 -> 10d1 -> 10d3,10ec r z=0..1
 @@ -1981,10 +2026,35 @@
        sta     *button_state           ; 17ce r
  rts_17d0:
        rts                             ; 17ab,17ca -> 17d0 -> 1768,176f r s=fd
--start:        lda     hw_pb0                  ; -> 17d1 -> 17d4 r
+-start:        lda     HW_PB0                  ; -> 17d1 -> 17d4 r
 +start:
 +.if DHGR
-+      ; shadow code that needs to run with "sta hw_rdcardram"
++      ; shadow code that needs to run with "sta HW_RDCARDRAM"
 +      ; from draw_object to draw_misc_from_table (this is generous)
-+shadow_pages = (draw_misc_from_table - draw_object + 0xff) / 0x100
-+shadow_start = draw_misc_from_table - shadow_pages * 0x100
-+      lda     #<shadow_start
++SHADOW_PAGES = (draw_misc_from_table - draw_object + 0xff) / 0x100
++SHADOW_START = draw_misc_from_table - SHADOW_PAGES * 0x100
++      lda     #<SHADOW_START
 +      sta     *video_line_ptr
-+      lda     #>shadow_start
++      lda     #>SHADOW_START
 +      sta     video_line_ptr + 1 
-+      ldx     #shadow_pages
-+      ldy     #<draw_object - shadow_start
-+      sta     hw_wrcardram
++      ldx     #SHADOW_PAGES
++      ldy     #<draw_object - SHADOW_START
++      sta     HW_WRCARDRAM
 +90$:  lda     [video_line_ptr],y
 +      sta     [video_line_ptr],y
 +      iny
 +      inc     video_line_ptr + 1
 +      dex
 +      bne     90$
-+      sta     hw_wrmainram
++      sta     HW_WRMAINRAM
 +.endif
-+      lda     hw_pb0                  ; -> 17d1 -> 17d4 r
++      lda     HW_PB0                  ; -> 17d1 -> 17d4 r
        bit     *vec_draw_misc_from_table ; 17d1 -> 17d4 -> 17d6 r
-       ora     hw_pb1                  ; 17d4 -> 17d6 -> 17d9 r
+       ora     HW_PB1                  ; 17d4 -> 17d6 -> 17d9 r
        bpl     1$                      ; 17d6 -> 17d9 -> 17f2 r n=0
 +.if 0 ;DHGR ; language card
-+      sta     hw_lc_bank2_rom_we
++      sta     HW_LC_BANK2_ROM_WE
 +.endif
        ldx     #0x01                   ; 17db r
- 0$:   jsr     rom_pread               ; 17dd r
+ 0$:   jsr     ROM_PREAD               ; 17dd r
        cpy     #0xff                   ; 17e0 r
 @@ -1995,18 +2065,15 @@
        sta     bvar_179e               ; 17e9 r
 -      .db     0x00                    ; 17ff
 +1$:
 +.if 0 ;DHGR ; language card
-+      sta     hw_lc_bank2_ram_we
-+      sta     hw_lc_bank2_ram_we
++      sta     HW_LC_BANK2_RAM_WE
++      sta     HW_LC_BANK2_RAM_WE
 +.endif
 +      jmp     [vec_init_game]         ; 17d9 -> 17f2 -> 1708 r
 +.if ALIGN
        lda     *random_seed            ; 16ae -> 187a -> 187c r
        ora     #0x01                   ; 187a -> 187c -> 187e r
 @@ -2233,16 +2302,30 @@
-       ldx     #>hires_screen          ; 199b -> 199d -> 199f r
+       ldx     #>HIRES_SCREEN          ; 199b -> 199d -> 199f r
        stx     *video_line_ptr + 1     ; 199d -> 199f -> 19a1 r
        tay                             ; 199f -> 19a1 -> 19a2 r
 -0$:   sta     [*video_line_ptr],y     ; 19a1,19a5,19aa -> 19a2 -> 19a4 r y=00..ff
 +0$:
 +.if DHGR
-+      sta     hw_wrcardram
++      sta     HW_WRCARDRAM
 +      sta     [*video_line_ptr],y
-+      sta     hw_wrmainram
++      sta     HW_WRMAINRAM
 +.endif
 +      sta     [*video_line_ptr],y     ; 19a1,19a5,19aa -> 19a2 -> 19a4 r y=00..ff
        iny                             ; 19a2 -> 19a4 -> 19a5 r
        dex                             ; 19a7 -> 19a9 -> 19aa r
        bne     0$                      ; 19a9 -> 19aa -> 19a2,19ac r z=0..1
 +.if DHGR
-+      lda     hw_clrioudis
-+      sta     hw_clr80col
++      lda     HW_CLRIOUDIS
++      sta     HW_CLR80COL
 +.endif
-       sta     hw_txtclr               ; 19aa -> 19ac -> 19af r
-       sta     hw_mixclr               ; 19ac -> 19af -> 19b2 r
-       sta     hw_page1                ; 19af -> 19b2 -> 19b5 r
-       sta     hw_hires                ; 19b2 -> 19b5 -> 19b8 r
+       sta     HW_TXTCLR               ; 19aa -> 19ac -> 19af r
+       sta     HW_MIXCLR               ; 19ac -> 19af -> 19b2 r
+       sta     HW_PAGE1                ; 19af -> 19b2 -> 19b5 r
+       sta     HW_HIRES                ; 19b2 -> 19b5 -> 19b8 r
 +.if DHGR
-+      lda     hw_setdhires
-+      sta     hw_set80vid
++      lda     HW_SETDHIRES
++      sta     HW_SET80VID
 +.endif
        rts                             ; 19b5 -> 19b8 -> 1713 r s=fd
  video_clear_rectangle:
        sta     *video_line_ptr + 1     ; 19c0 -> 19c3 -> 19c5 r
 +.if DHGR
 +      lda     #0
-+      sta     hw_wrcardram
++      sta     HW_WRCARDRAM
 +      ldy     *clip_x0
 +90$:  sta     [*video_line_ptr],y     ; 19c7,19ce -> 19c9 -> 19cb r y=6c..93
 +      iny                             ; 19c9 -> 19cb -> 19cc r
 +      cpy     *clip_x1                ; 19cb -> 19cc -> 19ce r y=6d..94
 +      bcc     90$                     ; 19cc -> 19ce -> 19c9,19d0 r c=0..1
-+      sta     hw_wrmainram
++      sta     HW_WRMAINRAM
 +      ldy     *clip_x0
 +.else
        ldy     *clip_x0                ; 19c3 -> 19c5 -> 19c7 r
 +.endif
        sta     7$ + 1                  ; 1b55 -> 1b58 -> 1b5b r
 +.if DHGR
-+      sta     hw_wrcardram
++      sta     HW_WRCARDRAM
 +      sty     91$
 +      sta     91$ + 1
-+      ;sta    hw_wrmainram
++      ;sta    HW_WRMAINRAM
 +.endif
        ldx     #0x00                   ; 1b58 -> 1b5b -> 1b5d r
        ldy     *draw_y                 ; 1b5b -> 1b5d -> 1b5f r
        lda     video_line_table_hi - 0x20,y ; 1b62 -> 1b64 -> 1b67 r y=28..cf
        sta     *video_line_ptr + 1     ; 1b64 -> 1b67 -> 1b69 r
 +.if DHGR
-+      sta     hw_rdcardram
-+      sta     hw_wrcardram
++      sta     HW_RDCARDRAM
++      sta     HW_WRCARDRAM
 +      ldy     *draw_x0
 +      stx     *dimension
 +90$:  .db     0xbd ; lda NNNN,x
 +      cpy     *draw_x1
 +      bcc     90$
 +      ldx     *dimension
-+      sta     hw_rdmainram
-+      sta     hw_wrmainram
++      sta     HW_RDMAINRAM
++      sta     HW_WRMAINRAM
 +.endif
        ldy     *draw_x0                ; 1b67 -> 1b69 -> 1b6b r
 +.if DHGR ; draw overflow pixel
 +.endif
        sta     11$ + 1                 ; 1b8c -> 1b8f -> 1b92 r
 +.if DHGR
-+      sta     hw_wrcardram
++      sta     HW_WRCARDRAM
 +      sty     96$
 +      sta     96$ + 1
-+      sta     hw_wrmainram
++      sta     HW_WRMAINRAM
 +.endif
        ldx     #0x00                   ; 1b8f -> 1b92 -> 1b94 r
        ldy     *draw_y                 ; 1b92 -> 1b94 -> 1b96 r
        cpy     *clip_x1                ; 1bae -> 1bb0 -> 1bb2 r y=6c..a4
        bcs     12$                     ; 1bb0 -> 1bb2 -> 1bb4,1bbb r c=0..1
 +.if DHGR
-+      sta     hw_rdcardram
-+      sta     hw_wrcardram
++      sta     HW_RDCARDRAM
++      sta     HW_WRCARDRAM
 +      .db     0xbd ; lda NNNN,x
 +96$:  .dw     0
 +      ora     [*video_line_ptr],y
 +      sta     [*video_line_ptr],y
-+      sta     hw_rdmainram
-+      sta     hw_wrmainram
++      sta     HW_RDMAINRAM
++      sta     HW_WRMAINRAM
 +.endif
        .db     0xbd                    ; 1bb2 -> 1bb4 -> 1bb7 r "lda shape_12_exhaust0 + 0x1e,x" x=00..39
  11$:  .dw     shape_12_exhaust0 + 0x1e ; 1bb5 rw
 +.endif
        sta     2$ + 1                  ; 1c3a -> 1c3d -> 1c40 r
 +.if DHGR
-+      sta     hw_wrcardram
++      sta     HW_WRCARDRAM
 +      sty     91$
 +      sta     91$ + 1
-+      ;sta    hw_wrmainram
++      ;sta    HW_WRMAINRAM
 +.endif
        ldx     #0x00                   ; 1c3d -> 1c40 -> 1c42 r
        ldy     *draw_y                 ; 1c40 -> 1c42 -> 1c44 r
        lda     video_line_table_hi - 0x20,y ; 1c47 -> 1c49 -> 1c4c r y=28..cf
        sta     *video_line_ptr + 1     ; 1c49 -> 1c4c -> 1c4e r
 +.if DHGR
-+      sta     hw_rdcardram
-+      sta     hw_wrcardram
++      sta     HW_RDCARDRAM
++      sta     HW_WRCARDRAM
 +      ldy     *draw_x0
 +      stx     *dimension
 +90$:  .db     0xbd ; lda NNNN,x
 +      cpy     *draw_x1
 +      bcc     90$
 +      ldx     *dimension
-+      sta     hw_rdmainram
-+      sta     hw_wrmainram
++      sta     HW_RDMAINRAM
++      sta     HW_WRMAINRAM
 +.endif
        ldy     *draw_x0                ; 1c4c -> 1c4e -> 1c50 r
 +.if DHGR ; erase overflow pixel
 +.endif
        sta     6$ + 1                  ; 1c70 -> 1c73 -> 1c76 r
 +.if DHGR
-+      sta     hw_wrcardram
++      sta     HW_WRCARDRAM
 +      sty     96$
 +      sta     96$ + 1
-+      sta     hw_wrmainram
++      sta     HW_WRMAINRAM
 +.endif
        ldx     #0x00                   ; 1c73 -> 1c76 -> 1c78 r
        ldy     *draw_y                 ; 1c76 -> 1c78 -> 1c7a r
        cpy     *clip_x1                ; 1c92 -> 1c94 -> 1c96 r y=6c..a4
        bcs     7$                      ; 1c94 -> 1c96 -> 1c98,1ca1 r c=0..1
 +.if DHGR
-+      sta     hw_rdcardram
-+      sta     hw_wrcardram
++      sta     HW_RDCARDRAM
++      sta     HW_WRCARDRAM
 +      .db     0xbd ; lda NNNN,x
 +96$:  .dw     0
 +      eor     #0xff
 +      and     [*video_line_ptr],y
 +      sta     [*video_line_ptr],y
-+      sta     hw_rdmainram
-+      sta     hw_wrmainram
++      sta     HW_RDMAINRAM
++      sta     HW_WRMAINRAM
 +.endif
        .db     0xbd                    ; 1c96 -> 1c98 -> 1c9b r "lda shape_12_exhaust0 + 0x1e,x" x=00..39
  6$:   .dw     shape_12_exhaust0 + 0x1e ; 1c99 rw
 +.endif
        sta     3$ + 1                  ; 1cbb -> 1cbe -> 1cc1 r
 +.if DHGR
-+      sta     hw_wrcardram
++      sta     HW_WRCARDRAM
 +      stx     91$
 +      sta     91$ + 1
-+      sta     hw_wrmainram
++      sta     HW_WRMAINRAM
 +.endif
        lda     shape_width_bytes,y     ; 1cbe -> 1cc1 -> 1cc4 r y=16..ff
        clc                             ; 1cc1 -> 1cc4 -> 1cc5 r
        adc     #0x00                   ; 1ce7 -> 1cea -> 1cec r c=0..1 d=0
        sta     *video_line_ptr + 1     ; 1cea -> 1cec -> 1cee r
 +.if DHGR
-+      sta     hw_rdcardram
-+      sta     hw_wrcardram
++      sta     HW_RDCARDRAM
++      sta     HW_WRCARDRAM
 +      lda     *draw_misc_aux_mask
 +      sta     *draw_misc_mask_temp
 +      ldy     *draw_x0
 +      cpy     *draw_x1
 +      bcc     90$
 +      ldx     *dimension
-+      sta     hw_rdmainram
-+      sta     hw_wrmainram
++      sta     HW_RDMAINRAM
++      sta     HW_WRMAINRAM
 +.endif
        lda     *draw_misc_mask         ; 1cec -> 1cee -> 1cf0 r
        sta     *draw_misc_mask_temp    ; 1cee -> 1cf0 -> 1cf2 r
 +.if ALIGN
 +      .ds     0x8e00 - 0x4000 - (. - data0_start)
 +.endif
microcode1080_countdown_30:
ucode1080_countdown_30:
        .db     0x30                    ; 8e00 r
        .db     0x0f                    ; 8e01
 @@ -24687,7 +24541,15 @@
        .db     0x0a                    ; 95da
        .db     0x00                    ; 95db
microcode1080_animate_shape_6b:
ucode1080_animate_shape_6b:
 +.if 0 ; testing
 +      .db     0x73 ; radar0 shape
 +      .db     0x74 ; radar1 shape
 @@ -24702,7 +24564,15 @@
        .db     0x60                    ; 95e7
        .db     0x00                    ; 95e8
microcode1080_animate_shape_6c:
ucode1080_animate_shape_6c:
 +.if 0 ; testing
 +      .db     0x73 ; radar0 shape
 +      .db     0x74 ; radar1 shape
 @@ -24717,7 +24587,15 @@
        .db     0x60                    ; 95f4
        .db     0x00                    ; 95f5
microcode1080_animate_shape_6d:
ucode1080_animate_shape_6d:
 +.if 0 ; testing
 +      .db     0x73 ; radar0 shape
 +      .db     0x74 ; radar1 shape
 +      clc                             ; 1542 -> 1e03 -> 1e04 r
 +      bit     *demo_mode              ; 1e03 -> 1e04 -> 1e06 r
 +      bmi     loc_1e1e                ; 1e04 -> 1e06 -> 1e08,1e1e r n=0..1
-+      lda     hw_pb0                  ; 1e06 -> 1e08 -> 1e0b r
-+      ora     hw_pb1                  ; 1e08 -> 1e0b -> 1e0e r
++      lda     HW_PB0                  ; 1e06 -> 1e08 -> 1e0b r
++      ora     HW_PB1                  ; 1e08 -> 1e0b -> 1e0e r
 +bvar_1e0e:
 +      bmi     loc_1e21                ; 1e0b -> 1e0e -> 1e10 rw n=0
 +      lda     #0x02                   ; 1e0e -> 1e10 -> 1e12 r
 +      php                             ; 1eb8 r
 +      ora     #0x64                   ; 1eb9 r
 +      sta     12$                     ; 1ebb r
-+      bit     hw_ptrig                ; 1ebe r
++      bit     HW_PTRIG                ; 1ebe r
 +      ldy     #0xfe                   ; 1ec1 r
 +      lda     #0x40                   ; 1ec3 r
-+11$:  .db     0x2c                    ; 1ec5 r "bit hw_paddl1"
-+12$:  .dw     hw_paddl1               ; 1ec6 rw
++11$:  .db     0x2c                    ; 1ec5 r "bit HW_PADDL1"
++12$:  .dw     HW_PADDL1               ; 1ec6 rw
 +      bpl     13$                     ; 1ec8 r
 +      clc                             ; 1eca r
 +      adc     #0x05                   ; 1ecb r
index 7825629..65a980d 100644 (file)
@@ -51,30 +51,30 @@ items
 #   decimal + 0xa: bomb
 #   decimal + 0xe: ?
 0x00b0,0x0010,decimal,byte
-0x00c0,0x0002,microcode_ptr_c0,word
-0x00c2,0x0001,microcode_pair_object,byte
-0x00c7,0x0001,microcode_object_c7,byte
+0x00c0,0x0002,ucode_ptr_c0,word
+0x00c2,0x0001,ucode_pair_object,byte
+0x00c7,0x0001,ucode_object_c7,byte
 0x00c8,0x0001,sp_save,byte
-0x00c9,0x0001,microcode_x_save_c9,byte
-0x00ca,0x0001,microcode_y_save_ca,byte
+0x00c9,0x0001,ucode_x_save_c9,byte
+0x00ca,0x0001,ucode_y_save_ca,byte
 # seems to preserve a value from one of:
-#   object6080_b500 (execute_microcode6080_fire_state_f0)
-#   object6080_b520 (execute_microcode6080_fire_state_f1)
-#   object6080_b540 (execute_microcode6080_fire_state_f2)
-#   object6080_b560 (execute_microcode6080_fire_state_f3)
-# and also used as an index into microcode in microcode_execute_10d1
-0x00cb,0x0001,microcode_state_save,byte
-# may contain a value from object1080_microcode_start_sentinel (basically
+#   object6080_b500 (execute_ucode6080_fire_state_f0)
+#   object6080_b520 (execute_ucode6080_fire_state_f1)
+#   object6080_b540 (execute_ucode6080_fire_state_f2)
+#   object6080_b560 (execute_ucode6080_fire_state_f3)
+# and also used as an index into ucode in ucode_execute_10d1
+0x00cb,0x0001,ucode_state_save,byte
+# may contain a value from object1080_ucode_start_sentinel (basically
 # the current state of the object) and also seems to be used as a counter
-0x00cc,0x0001,microcode_start_sentinel,byte
-0x00cd,0x0001,microcode_sp,byte
-0x00d0,0x0002,microcode_ptr_d0,word # or shape_ptr?
+0x00cc,0x0001,ucode_start_sentinel,byte
+0x00cd,0x0001,ucode_sp,byte
+0x00d0,0x0002,ucode_ptr_d0,word # or shape_ptr?
 0x00d2,0x0002,temp,word
 0x00d4,0x0001,y_save,byte
-0x00e2,0x0001,microcode_x_save_e2,byte
-0x00e3,0x0001,microcode_y_save_e3,byte
+0x00e2,0x0001,ucode_x_save_e2,byte
+0x00e3,0x0001,ucode_y_save_e3,byte
 0x00e4,0x0002,homing_ptr,word # is it really?
-0x00e6,0x0002,microcode_ptr_e6,word
+0x00e6,0x0002,ucode_ptr_e6,word
 0x00f0,0x0001,demo_mode,byte # 0xff = demo mode, 0x00 = play mode
 # 0xc0 = ctrl-c state (forces joystick control)
 # 0x80 = button pressed
@@ -141,21 +141,21 @@ items
 0x0ef7,0x0010,update_a_decimal_vectors,word,code_m1
 0x0f07,0x0010,bits_4_to_6_vectors,word,code_m1
 0x0f17,0x0010,bits_0_to_2_vectors,word,code_m1
-0x0f27,0x000c,microcode_vectors,word,code_m1
+0x0f27,0x000c,ucode_vectors,word,code_m1
 0x0f33,0x0001,vector_on_bits_4_to_6,code
 0x0f46,0x0001,vector_on_bits_0_to_2,code
 0x0f57,0x0001,decimal_inc,code
 0x0f66,0x0001,decimal_dec,code
 0x0f83,0x0001,vector_to_update_a_decimal,code
-0x0f8d,0x0001,microcode_score,code
+0x0f8d,0x0001,ucode_score,code
 0x0fb1,0x0001,adjust_score_for_reset_object,code
-0x0fb9,0x0001,microcode_byte,code
-0x0fdb,0x0001,go_microcode_score,code
-# enter with microcode_pair_object = 1st byte of microcode pair, a = 2nd byte
-# these values come from do_microcode_pair (I think the only external caller)
-# does ldx *microcode_pair_object first, so in below, "object" refers to this
+0x0fb9,0x0001,ucode_byte,code
+0x0fdb,0x0001,go_ucode_score,code
+# enter with ucode_pair_object = 1st byte of ucode pair, a = 2nd byte
+# these values come from do_ucode_pair (I think the only external caller)
+# does ldx *ucode_pair_object first, so in below, "object" refers to this
 # 1st byte:
-#   < 0x10: go to microcode_escape
+#   < 0x10: go to ucode_escape
 #     if 1st byte bit 0 = 1, only do the rest if demo mode (otherwise continue)
 #     if 1st byte bit 1 = 1, only do the rest if NOT demo mode (otherwise done)
 #     < 0x04: go to 2$
@@ -164,7 +164,7 @@ items
 #         < 0x30: set demo mode, set mission from 2nd byte bits 0..3
 #         < 0xa0: vector to start game
 #         >= 0xa0: start game demo
-#     < 0x08: go to microcode_score, with unusual bcc -> bcc instruction
+#     < 0x08: go to ucode_score, with unusual bcc -> bcc instruction
 #       2nd byte bits 4..7
 #         == 0x30: vector to update a decimal based on 2nd byte bits 0..2
 #      .dw     loc_0ebc - 1
@@ -197,7 +197,7 @@ items
 #   < 0x08: go to 0$
 #     if object is active, change its shape using 2nd byte bits 0..1
 #   < 0x0e: go to 3$
-#     vector to microcode_vectors routine based on 2nd byte bits 0..2
+#     vector to ucode_vectors routine based on 2nd byte bits 0..2
 #      .dw     horizontal_collision_and_zero - 1
 #      .dw     vertical_collision_and_zero - 1
 #      .dw     horizontal_collision - 1
@@ -206,7 +206,7 @@ items
 #      .dw     vertical_collision_and_copy - 1
 #   = 0x0e: go to 1$
 #     decrement object1080_countdown_b190, returns zf=1 terminal count?
-#   != 0x0f: go to microcode_byte
+#   != 0x0f: go to ucode_byte
 #     if bit 7 = 0, then only do the rest if the object is inactive
 #     vector to routine based on 2nd byte bits 4..6
 #      .dw     rts_0a11 - 1
@@ -231,40 +231,40 @@ items
 #     else
 #       reset object state
 #   = 0x0f: if object is active, make it inactive and erase it
-0x0fdd,0x0001,microcode_pair,code
-0x1009,0x0001,vector_to_microcode,code
-0x1016,0x0001,microcode_escape,code
-# enter with a = value for microcode_pair_object, microcode_ptr_c0 setup,
-# y = index into table at microcode_ptr_c0 (it will be incremented twice)
-# routine loads first byte from the microcode table and calls microcode_pair
-0x106a,0x0001,do_microcode_pair,code
+0x0fdd,0x0001,ucode_pair,code
+0x1009,0x0001,vector_to_ucode,code
+0x1016,0x0001,ucode_escape,code
+# enter with a = value for ucode_pair_object, ucode_ptr_c0 setup,
+# y = index into table at ucode_ptr_c0 (it will be incremented twice)
+# routine loads first byte from the ucode table and calls ucode_pair
+0x106a,0x0001,do_ucode_pair,code
 0x107c,0x0001,decimal_zero,code
 # zf=1 -> go to loc_10cd
-# otherwise load microcode_start_sentinel from object1080_start_sentinel,
-# and enter a loop scanning microcode table at microcode_ptr_c0 from index 0,
-# when value read from microcode table is:
+# otherwise load ucode_start_sentinel from object1080_start_sentinel,
+# and enter a loop scanning ucode table at ucode_ptr_c0 from index 0,
+# when value read from ucode table is:
 #   == 0x00: go to loc_10cd
-#   >= 0xf0: see if it's the start sentinel in microcode_start_sentinel
+#   >= 0xf0: see if it's the start sentinel in ucode_start_sentinel
 #     if it's not then keep skipping 2 locations until end of table or found
 #     when found, skip 2 locations and check for more commands (0 is end of
 #     table, >= 0xf0 is a different section, otherwise execute + zf=0 repeat
-#   otherwise execute it via do_microcode_pair, and check zf return because
+#   otherwise execute it via do_ucode_pair, and check zf return because
 #   zf=1 means terminate the loop at loc_10cd otherwise keep executing loop
 # in summary there seems to be a global section at the start of the table that
 # is always executed, and a specific section to execute based on current state
-0x1093,0x0001,microcode_execute_1093,code
+0x1093,0x0001,ucode_execute_1093,code
 0x109c,0x0001,,code_ign # bug? spans ae80 and aef0 tables, don't merge them
-# alternative entry point for microcode_execute_1093 that comes from scoring?
-0x10a1,0x0001,microcode_execute_1093_entry,code
+# alternative entry point for ucode_execute_1093 that comes from scoring?
+0x10a1,0x0001,ucode_execute_1093_entry,code
 # returns the current value of object1080_start_sentinel for the object in x
 # I think this might be to provide the correct flags return?
-0x10cd,0x0001,microcode_execute_1093_done,code_ign # bug? spans ae80 and aef0 tables, don't merge them
-# it seems to read values from table at microcode_ptr_c0 with some complicated
+0x10cd,0x0001,ucode_execute_1093_done,code_ign # bug? spans ae80 and aef0 tables, don't merge them
+# it seems to read values from table at ucode_ptr_c0 with some complicated
 # indirection (value from table = index to use for next read from table?) and
-# it executes them by calling do_microcode_pair, this may read adjacent value?
-# microcode_start_sentinel = counter that gets decremented to 0
+# it executes them by calling do_ucode_pair, this may read adjacent value?
+# ucode_start_sentinel = counter that gets decremented to 0
 # bvar_00cb = start index in table, and is advanced by the routine
-0x10d1,0x0001,microcode_execute_10d1,code
+0x10d1,0x0001,ucode_execute_10d1,code
 0x10ed,0x0001,adjust_score,code
 0x1153,0x0001,reset_decimals,code
 0x1160,0x0001,reset_object_state,code
@@ -272,35 +272,35 @@ items
 0x11b2,0x0001,make_object_inactive_and_erase,code
 # called from update_object, when:
 #   object1080_countdown_b120 or object1080_countdown_b190 expires
-0x11bd,0x0001,execute_microcode1080_countdown,code
+0x11bd,0x0001,execute_ucode1080_countdown,code
 # called from update_object, when:
 #   test_object_collision returns cf=1
-0x11cd,0x0001,execute_microcode1080_collision,code
+0x11cd,0x0001,execute_ucode1080_collision,code
 # called from update_object for objects >= 40, when:
 #   object1080_x_hi outside [object4080_x_hi_min, object4080_x_hi_max)
-0x11dd,0x0001,execute_microcode4080_x_outside,code
+0x11dd,0x0001,execute_ucode4080_x_outside,code
 # called from update_object for objects >= 40, when:
 #   object1080_y_hi outside [object4080_y_hi_min, object4080_y_hi_max)
-0x11ed,0x0001,execute_microcode4080_y_outside,code
+0x11ed,0x0001,execute_ucode4080_y_outside,code
 # called from update_object for objects >= 60, when:
 #   object1080_start_sentinel == 0xf0
 #   and then test_object_fire_state_f0 returns cf=1
-0x11fd,0x0001,execute_microcode6080_fire_state_f0,code
+0x11fd,0x0001,execute_ucode6080_fire_state_f0,code
 # called from update_object for objects >= 60, when:
 #   object1080_start_sentinel == 0xf1
 #   and then test_object_fire_state_f1 returns cf=1
-0x1222,0x0001,execute_microcode6080_fire_state_f1,code
+0x1222,0x0001,execute_ucode6080_fire_state_f1,code
 # called from update_object for objects >= 60, when:
 #   object1080_start_sentinel == 0xf2
 #   and then test_object_fire_state_f2 returns cf=1
-0x1247,0x0001,execute_microcode6080_fire_state_f2,code
+0x1247,0x0001,execute_ucode6080_fire_state_f2,code
 # called from update_object for objects >= 60, when:
 #   object1080_start_sentinel == 0xf3
 #   and then test_object_fire_state_f3 returns cf=1
-0x126c,0x0001,execute_microcode6080_fire_state_f3,code
+0x126c,0x0001,execute_ucode6080_fire_state_f3,code
 # called from accelerate_object_towards_another
 # seems to have a chance to intervene in the homing logic
-0x1291,0x0001,execute_microcode6080_homing,code
+0x1291,0x0001,execute_ucode6080_homing,code
 0x12e1,0x0001,accelerate_object_towards_another,code
 0x133f,0x0001,sign_extend_a_to_ya_asl_by_4,code
 0x1350,0x0001,accelerate_object_somehow,code
@@ -363,7 +363,7 @@ items
 0x1db6,0x0008,draw_misc_mask_table,byte
 0x1dbe,0x0008,draw_misc_mask_xor_table,byte
 0x1e03,0x0001,test_player_fire,code # returns cf=1 if firing (random for demo mode)
-0x2000,0x2000,hires_screen,byte
+0x2000,0x2000,HIRES_SCREEN,byte
 0x4000,0x0100,shape_data_ptr_lo,byte
 0x4100,0x0100,shape_data_ptr_hi,byte
 0x4200,0x0100,shape_width_bytes,byte
@@ -418,39 +418,39 @@ items
 0x52a0,0x0030,object5080_difference_52a0,byte
 0x52d0,0x0030,object5080_difference_52d0,byte
 0x5300,0x0020,object6080_fire_count_init_state_f0,byte
-# used from execute_microcode6080_fire_state_f0
+# used from execute_ucode6080_fire_state_f0
 0x5320,0x0020,object6080_5320,byte
 0x5340,0x0020,object6080_fire_count_init_state_f1,byte
-# used from execute_microcode6080_fire_state_f1
+# used from execute_ucode6080_fire_state_f1
 0x5360,0x0020,object6080_5360,byte
 0x5380,0x0020,object6080_fire_count_init_state_f2,byte
-# used from execute_microcode6080_fire_state_f2
+# used from execute_ucode6080_fire_state_f2
 0x53a0,0x0020,object6080_53a0,byte
 0x53c0,0x0020,object6080_fire_count_init_state_f3,byte
-# used from execute_microcode6080_fire_state_f2
+# used from execute_ucode6080_fire_state_f2
 0x53e0,0x0020,object6080_53e0,byte
 # the partitioning below is approximate and just tries to cover everything
 0x5400,0x0020,,word
-0x5420,0x00e0,microcode1080_animate_shape,word
-0x5500,0x0020,microcode0010_init_or_zero,word
-0x5520,0x00e0,microcode1080_countdown,word
+0x5420,0x00e0,ucode1080_animate_shape,word
+0x5500,0x0020,ucode0010_init_or_zero,word
+0x5520,0x00e0,ucode1080_countdown,word
 0x5600,0x0020,,word
-0x5620,0x00e0,microcode1080_collision_test,word
+0x5620,0x00e0,ucode1080_collision_test,word
 0x5700,0x0020,,word
-0x5720,0x00e0,microcode1080_collision,word
-0x5800,0x0080,microcode4080_x_outside,word
-0x5880,0x0080,microcode4080_y_outside,word
+0x5720,0x00e0,ucode1080_collision,word
+0x5800,0x0080,ucode4080_x_outside,word
+0x5880,0x0080,ucode4080_y_outside,word
 0x5900,0x0020,,word
-0x5920,0x0030,microcode6080_homing,word
+0x5920,0x0030,ucode6080_homing,word
 0x5950,0x0070,,word
-0x59c0,0x0040,microcode6080_test_fire_state_f0,word
-0x5a00,0x0040,microcode6080_fire_state_f0,word
-0x5a40,0x0040,microcode6080_test_fire_state_f1,word
-0x5a80,0x0040,microcode6080_fire_state_f1,word
-0x5ac0,0x0040,microcode6080_test_fire_state_f2,word
-0x5b00,0x0040,microcode6080_fire_state_f2,word
-0x5b40,0x0040,microcode6080_test_fire_state_f3,word
-0x5b80,0x0040,microcode6080_fire_state_f3,word
+0x59c0,0x0040,ucode6080_test_fire_state_f0,word
+0x5a00,0x0040,ucode6080_fire_state_f0,word
+0x5a40,0x0040,ucode6080_test_fire_state_f1,word
+0x5a80,0x0040,ucode6080_fire_state_f1,word
+0x5ac0,0x0040,ucode6080_test_fire_state_f2,word
+0x5b00,0x0040,ucode6080_fire_state_f2,word
+0x5b40,0x0040,ucode6080_test_fire_state_f3,word
+0x5b80,0x0040,ucode6080_fire_state_f3,word
 # from 0x5bc0 is padding
 # generated by shape_extract.py, manually sorted, duplicates merged, named
 0x5c00,0x003f,shape_20_bomb0,byte
@@ -581,294 +581,294 @@ items
 0x8ae5,0x004b,shape_e9_text_100_120_300_1500,byte
 0x8b30,0x005a,shape_d0_text_star,byte
 0x8b8a,0x007e,shape_d1_text_blazer,byte
-0x8e00,0x0001,microcode1080_countdown_30,byte
-0x8e03,0x0001,microcode4080_x_outside_61,byte
-0x8e06,0x0001,microcode1080_animate_shape_68,byte
-0x8e17,0x0001,microcode1080_animate_shape_30,byte
-0x8e1e,0x0001,microcode1080_animate_shape_31,byte
-0x8e25,0x0001,microcode1080_countdown_31,byte
-0x8e28,0x0001,microcode1080_animate_shape_32,byte
-0x8e2f,0x0001,microcode1080_countdown_32,byte
-0x8e32,0x0001,microcode1080_animate_shape_33,byte
-0x8e39,0x0001,microcode1080_countdown_33,byte
-0x8e3c,0x0001,microcode1080_animate_shape_34,byte
-0x8e43,0x0001,microcode1080_countdown_34,byte
-0x8e46,0x0001,microcode1080_animate_shape_35,byte
-0x8e4d,0x0001,microcode1080_countdown_35,byte
-0x8e50,0x0001,microcode1080_animate_shape_36,byte
-0x8e57,0x0001,microcode1080_countdown_36,byte
-0x8e5a,0x0001,microcode1080_animate_shape_37,byte
-0x8e61,0x0001,microcode1080_countdown_37,byte
-0x8e64,0x0001,microcode4080_x_outside_68,byte
-0x8e67,0x0001,microcode1080_animate_shape_38,byte
-0x8e6e,0x0001,microcode1080_countdown_38,byte
-0x8e71,0x0001,microcode1080_animate_shape_39,byte
-0x8e78,0x0001,microcode1080_countdown_39,byte
-0x8e7b,0x0001,microcode1080_animate_shape_3a,byte
-0x8e82,0x0001,microcode1080_countdown_3a,byte
-0x8e85,0x0001,microcode1080_animate_shape_3b,byte
-0x8e8c,0x0001,microcode1080_countdown_3b,byte
-0x8e8f,0x0001,microcode1080_animate_shape_69,byte
-0x8ea0,0x0001,microcode4080_x_outside_69,byte
-0x8ea3,0x0001,microcode1080_animate_shape_6a,byte
-0x8eb4,0x0001,microcode4080_x_outside_6a,byte
-0x8eb7,0x0001,microcode6080_fire_state_f0_68,byte
-0x8ec0,0x0001,microcode6080_fire_state_f0_69,byte
-0x8ec9,0x0001,microcode6080_fire_state_f0_6a,byte
-0x8ed2,0x0001,microcode4080_x_outside_44,byte
-0x8ed5,0x0001,microcode4080_x_outside_45,byte
-0x8ed8,0x0001,microcode4080_x_outside_46,byte
-0x8edb,0x0001,microcode1080_animate_shape_44,byte
-0x8ee6,0x0001,microcode1080_animate_shape_45,byte
-0x8ef1,0x0001,microcode1080_animate_shape_46,byte
-0x8efc,0x0001,microcode1080_animate_shape_14,byte
-0x8f05,0x0001,microcode1080_animate_shape_18,byte
-0x8f0e,0x0001,microcode1080_countdown_19,byte
-0x8f11,0x0001,microcode1080_animate_shape_1a,byte
-0x8f1a,0x0001,microcode1080_countdown_1a,byte
-0x8f1d,0x0001,microcode1080_animate_shape_1b,byte
-0x8f26,0x0001,microcode1080_countdown_1b,byte
-0x8f29,0x0001,microcode1080_animate_shape_1c,byte
-0x8f32,0x0001,microcode4080_x_outside_43,byte
-0x8f35,0x0001,microcode4080_x_outside_42,byte
-0x8f38,0x0001,microcode6080_test_fire_state_f1_61,byte
-0x8f3a,0x0001,microcode1080_collision_59,byte
-0x8f43,0x0001,microcode1080_collision_5a,byte
-0x8f4c,0x0001,microcode1080_collision_5b,byte
-0x8f55,0x0001,microcode4080_x_outside_41,byte
-0x8f58,0x0001,microcode4080_x_outside_48,byte
-0x8f5b,0x0001,microcode1080_animate_shape_48,byte
-0x8f5d,0x0001,microcode1080_animate_shape_70,byte
-0x8f5f,0x0001,microcode4080_x_outside_71,byte
-0x8f62,0x0001,microcode1080_animate_shape_4e,byte
-0x8f69,0x0001,microcode1080_countdown_4e,byte
-0x8f6c,0x0001,microcode1080_animate_shape_4f,byte
-0x8f73,0x0001,microcode1080_countdown_4f,byte
-0x8f76,0x0001,microcode1080_collision_58,byte
-0x8f7f,0x0001,microcode1080_collision_50,byte
-0x8f82,0x0001,microcode4080_x_outside_50,byte
-0x8f85,0x0001,microcode6080_test_fire_state_f0_61,byte
-0x8f87,0x0001,microcode1080_animate_shape_20,byte
-0x8f8c,0x0001,microcode1080_animate_shape_21,byte
-0x8f91,0x0001,microcode1080_animate_shape_22,byte
-0x8f96,0x0001,microcode1080_animate_shape_24,byte
-0x8f9b,0x0001,microcode1080_animate_shape_26,byte
-0x8fa0,0x0001,microcode6080_fire_state_f0_63,byte
-0x8fc1,0x0001,microcode1080_countdown_14,byte
-0x8fc4,0x0001,microcode1080_countdown_18,byte
-0x8fc7,0x0001,microcode1080_countdown_1c,byte
-0x8fca,0x0001,microcode1080_animate_shape_23,byte
-0x8fcf,0x0001,microcode1080_animate_shape_25,byte
-0x8fd4,0x0001,microcode1080_animate_shape_27,byte
-0x8fd9,0x0001,microcode1080_collision_5c,byte
-0x8fe2,0x0001,microcode1080_animate_shape_58,byte
-0x8ff7,0x0001,microcode1080_animate_shape_5a,byte
-0x900b,0x0001,microcode1080_animate_shape_5b,byte
-0x9021,0x0001,microcode1080_animate_shape_5c,byte
-0x9035,0x0001,microcode4080_x_outside_58,byte
-0x9038,0x0001,microcode4080_y_outside_58,byte
-0x904b,0x0001,microcode4080_x_outside_59,byte
-0x904e,0x0001,microcode4080_y_outside_59,byte
-0x9061,0x0001,microcode4080_x_outside_5a,byte
-0x9064,0x0001,microcode4080_y_outside_5a,byte
-0x9077,0x0001,microcode4080_x_outside_5b,byte
-0x907a,0x0001,microcode4080_y_outside_5b,byte
-0x908d,0x0001,microcode4080_x_outside_5c,byte
-0x9090,0x0001,microcode4080_y_outside_5c,byte
-0x90a3,0x0001,microcode1080_animate_shape_11,byte
-0x90a5,0x0001,microcode1080_animate_shape_10,byte
-0x90a7,0x0001,microcode1080_collision_5d,byte
-0x90b0,0x0001,microcode4080_x_outside_5d,byte
-0x90b3,0x0001,microcode4080_y_outside_5d,byte
-0x90c6,0x0001,microcode1080_animate_shape_5e,byte
-0x90da,0x0001,microcode1080_collision_5e,byte
-0x90e3,0x0001,microcode4080_x_outside_5e,byte
-0x90e6,0x0001,microcode4080_y_outside_5e,byte
-0x90f9,0x0001,microcode1080_animate_shape_5f,byte
-0x910f,0x0001,microcode1080_collision_5f,byte
-0x9118,0x0001,microcode4080_x_outside_5f,byte
-0x911b,0x0001,microcode4080_y_outside_5f,byte
-0x912e,0x0001,microcode6080_test_fire_state_f2_61,byte
-0x9130,0x0001,microcode4080_y_outside_61,byte
-0x9139,0x0001,microcode6080_test_fire_state_f3_61,byte
-0x913b,0x0001,microcode6080_fire_state_f3_61,byte
-0x913e,0x0001,microcode4080_x_outside_4d,byte
-0x9141,0x0001,microcode1080_collision_51,byte
-0x9144,0x0001,microcode4080_x_outside_51,byte
-0x9147,0x0001,microcode1080_collision_52,byte
-0x914a,0x0001,microcode4080_x_outside_52,byte
-0x914d,0x0001,microcode1080_animate_shape_47,byte
-0x914f,0x0001,microcode4080_x_outside_47,byte
-0x9152,0x0001,microcode6080_test_fire_state_f2_78,byte
-0x9155,0x0001,microcode6080_test_fire_state_f3_78,byte
-0x9158,0x0001,microcode1080_animate_shape_78,byte
-0x915a,0x0001,microcode6080_fire_state_f2_78,byte
-0x9163,0x0001,microcode1080_collision_test_10,byte
-0x9166,0x0001,microcode1080_animate_shape_7a,byte
-0x9168,0x0001,microcode1080_countdown_7a,byte
-0x9175,0x0001,microcode6080_test_fire_state_f2_7a,byte
-0x9178,0x0001,microcode6080_test_fire_state_f3_7a,byte
-0x917b,0x0001,microcode4080_x_outside_6b,byte
-0x917e,0x0001,microcode1080_animate_shape_59,byte
-0x9192,0x0001,microcode1080_animate_shape_5d,byte
-0x91a7,0x0001,microcode4080_y_outside_65,byte
-0x91aa,0x0001,microcode1080_animate_shape_62,byte
-0x91ac,0x0001,microcode1080_animate_shape_64,byte
-0x91b0,0x0001,microcode1080_collision_test_78,byte
-0x91b3,0x0001,microcode1080_collision_test_7a,byte
-0x91b6,0x0001,microcode1080_countdown_64,byte
-0x91b9,0x0001,microcode1080_animate_shape_60,byte
-0x91bb,0x0001,microcode1080_animate_shape_7f,byte
-0x91bd,0x0001,microcode6080_fire_state_f0_7f,byte
-0x91c0,0x0001,microcode6080_fire_state_f2_60,byte
-0x91c3,0x0001,microcode0010_init_or_zero_0d,byte
-0x91c8,0x0001,microcode6080_fire_state_f1_61,byte
-0x91e9,0x0001,microcode1080_animate_shape_12,byte
-0x91eb,0x0001,microcode1080_countdown_68,byte
-0x91ee,0x0001,microcode1080_countdown_69,byte
-0x91f1,0x0001,microcode1080_countdown_6a,byte
-0x91f4,0x0001,microcode1080_countdown_60,byte
-0x91f9,0x0001,microcode6080_fire_state_f1_60,byte
-0x91fc,0x0001,microcode1080_collision_44,byte
-0x9203,0x0001,microcode1080_collision_45,byte
-0x920a,0x0001,microcode1080_collision_46,byte
-0x9211,0x0001,microcode1080_collision_47,byte
-0x9218,0x0001,microcode1080_collision_48,byte
-0x921f,0x0001,microcode1080_collision_test_14,byte
-0x9222,0x0001,microcode1080_collision_14,byte
-0x922d,0x0001,microcode1080_collision_test_18,byte
-0x9230,0x0001,microcode1080_collision_test_1c,byte
-0x9233,0x0001,microcode1080_animate_shape_41,byte
-0x9237,0x0001,microcode1080_animate_shape_42,byte
-0x923b,0x0001,microcode1080_animate_shape_43,byte
-0x923f,0x0001,microcode6080_fire_state_f0_65,byte
-0x9242,0x0001,microcode6080_fire_state_f1_65,byte
-0x9245,0x0001,microcode6080_test_fire_state_f1_6b,byte
-0x9248,0x0001,microcode6080_fire_state_f1_6b,byte
-0x9253,0x0001,microcode6080_fire_state_f0_6b,byte
-0x9256,0x0001,microcode4080_x_outside_6c,byte
-0x9259,0x0001,microcode6080_fire_state_f0_6c,byte
-0x925c,0x0001,microcode6080_test_fire_state_f1_6c,byte
-0x925f,0x0001,microcode6080_fire_state_f1_6c,byte
-0x926a,0x0001,microcode4080_x_outside_6d,byte
-0x926d,0x0001,microcode6080_fire_state_f0_6d,byte
-0x9270,0x0001,microcode6080_test_fire_state_f1_6d,byte
-0x9273,0x0001,microcode6080_fire_state_f1_6d,byte
-0x927e,0x0001,microcode1080_collision_18,byte
-0x928b,0x0001,microcode6080_fire_state_f3_78,byte
-0x9294,0x0001,microcode1080_animate_shape_50,byte
-0x929a,0x0001,microcode1080_animate_shape_51,byte
-0x92a0,0x0001,microcode1080_animate_shape_52,byte
-0x92a6,0x0001,microcode4080_x_outside_70,byte
-0x92a9,0x0001,microcode4080_x_outside_53,byte
-0x92ac,0x0001,microcode4080_y_outside_53,byte
-0x92af,0x0001,microcode6080_fire_state_f1_71,byte
-0x92b2,0x0001,microcode4080_x_outside_72,byte
-0x92b5,0x0001,microcode1080_animate_shape_61,byte
-0x92bd,0x0001,microcode4080_y_outside_71,byte
-0x92c0,0x0001,microcode4080_y_outside_72,byte
-0x92cf,0x0001,microcode6080_fire_state_f3_71,byte
-0x92d2,0x0001,microcode1080_countdown_71,byte
-0x92d7,0x0001,microcode1080_countdown_58,byte
-0x92de,0x0001,microcode1080_countdown_59,byte
-0x92e5,0x0001,microcode1080_countdown_5a,byte
-0x92ec,0x0001,microcode1080_countdown_5b,byte
-0x92f3,0x0001,microcode1080_countdown_5c,byte
-0x92fa,0x0001,microcode1080_countdown_5d,byte
-0x9301,0x0001,microcode1080_countdown_5e,byte
-0x9308,0x0001,microcode1080_countdown_5f,byte
-0x930f,0x0001,microcode6080_test_fire_state_f0_6c,byte
-0x9312,0x0001,microcode6080_test_fire_state_f0_6b,byte
-0x9315,0x0001,microcode6080_test_fire_state_f0_6d,byte
-0x9318,0x0001,microcode1080_animate_shape_65,byte
-0x931c,0x0001,microcode1080_animate_shape_66,byte
-0x931e,0x0001,microcode1080_animate_shape_16,byte
-0x9327,0x0001,microcode1080_countdown_16,byte
-0x932a,0x0001,microcode1080_animate_shape_1e,byte
-0x9333,0x0001,microcode1080_countdown_1e,byte
-0x9336,0x0001,microcode1080_animate_shape_17,byte
-0x933f,0x0001,microcode1080_countdown_17,byte
-0x9342,0x0001,microcode1080_animate_shape_1f,byte
-0x934b,0x0001,microcode1080_countdown_1f,byte
-0x934e,0x0001,microcode1080_animate_shape_19,byte
-0x9357,0x0001,microcode1080_animate_shape_15,byte
-0x9360,0x0001,microcode1080_countdown_15,byte
-0x9363,0x0001,microcode1080_animate_shape_1d,byte
-0x936c,0x0001,microcode1080_countdown_1d,byte
-0x936f,0x0001,microcode1080_animate_shape_7c,byte
-0x9371,0x0001,microcode1080_collision_test_7c,byte
-0x9374,0x0001,microcode6080_test_fire_state_f2_7c,byte
-0x9377,0x0001,microcode6080_test_fire_state_f3_7c,byte
-0x937a,0x0001,microcode6080_fire_state_f3_65,byte
-0x9387,0x0001,microcode1080_animate_shape_79,byte
-0x9389,0x0001,microcode1080_collision_test_79,byte
-0x938c,0x0001,microcode6080_test_fire_state_f3_79,byte
-0x938f,0x0001,microcode1080_countdown_7f,byte
-0x93a0,0x0001,microcode6080_fire_state_f1_7f,byte
-0x93b1,0x0001,microcode1080_collision_test_64,byte
-0x93c1,0x0001,microcode1080_animate_shape_53,byte
-0x93cf,0x0001,microcode1080_animate_shape_54,byte
-0x93dd,0x0001,microcode4080_x_outside_54,byte
-0x93e0,0x0001,microcode4080_y_outside_54,byte
-0x93e3,0x0001,microcode1080_animate_shape_55,byte
-0x93f1,0x0001,microcode4080_x_outside_55,byte
-0x93f4,0x0001,microcode4080_y_outside_55,byte
-0x93f7,0x0001,microcode1080_animate_shape_56,byte
-0x9405,0x0001,microcode4080_x_outside_56,byte
-0x9408,0x0001,microcode4080_y_outside_56,byte
-0x940b,0x0001,microcode1080_animate_shape_57,byte
-0x9419,0x0001,microcode4080_x_outside_57,byte
-0x941c,0x0001,microcode4080_y_outside_57,byte
-0x941f,0x0001,microcode1080_collision_test_61,byte
-0x942a,0x0001,microcode1080_countdown_7c,byte
-0x9437,0x0001,microcode1080_animate_shape_2c,byte
-0x9439,0x0001,microcode6080_test_fire_state_f0_77,byte
-0x943c,0x0001,microcode4080_x_outside_6e,byte
-0x943f,0x0001,microcode6080_test_fire_state_f0_6e,byte
-0x9442,0x0001,microcode6080_fire_state_f0_6e,byte
-0x9445,0x0001,microcode6080_test_fire_state_f1_6e,byte
-0x9448,0x0001,microcode6080_fire_state_f1_6e,byte
-0x9453,0x0001,microcode4080_x_outside_6f,byte
-0x9456,0x0001,microcode6080_test_fire_state_f0_6f,byte
-0x9459,0x0001,microcode6080_fire_state_f0_6f,byte
-0x945c,0x0001,microcode6080_test_fire_state_f1_6f,byte
-0x945f,0x0001,microcode6080_fire_state_f1_6f,byte
-0x946a,0x0001,microcode6080_test_fire_state_f2_77,byte
-0x946d,0x0001,microcode6080_fire_state_f3_79,byte
-0x948c,0x0001,microcode1080_collision_1c,byte
-0x9497,0x0001,microcode1080_collision_6b,byte
-0x94aa,0x0001,microcode1080_collision_6c,byte
-0x94bd,0x0001,microcode1080_collision_6d,byte
-0x94d0,0x0001,microcode1080_collision_6e,byte
-0x94e3,0x0001,microcode1080_collision_6f,byte
-0x94f6,0x0001,microcode1080_collision_10,byte
-0x9511,0x0001,microcode1080_collision_72,byte
-0x951a,0x0001,microcode1080_collision_53,byte
-0x9527,0x0001,microcode1080_collision_54,byte
-0x9534,0x0001,microcode1080_collision_55,byte
-0x9541,0x0001,microcode1080_collision_56,byte
-0x954e,0x0001,microcode1080_collision_57,byte
-0x955b,0x0001,microcode4080_y_outside_70,byte
-0x955e,0x0001,microcode1080_animate_shape_28,byte
-0x9560,0x0001,microcode1080_countdown_28,byte
-0x9563,0x0001,microcode1080_collision_test_28,byte
-0x9565,0x0001,microcode1080_collision_28,byte
-0x9578,0x0001,microcode1080_countdown_61,byte
-0x957f,0x0001,microcode6080_test_fire_state_f1_7a,byte
-0x9582,0x0001,microcode6080_test_fire_state_f1_7c,byte
-0x9585,0x0001,microcode1080_animate_shape_7b,byte
-0x9587,0x0001,microcode1080_collision_test_7b,byte
-0x958a,0x0001,microcode6080_test_fire_state_f3_7b,byte
-0x958d,0x0001,microcode6080_fire_state_f2_7a,byte
-0x9596,0x0001,microcode1080_animate_shape_7d,byte
-0x9598,0x0001,microcode1080_countdown_7d,byte
-0x95ab,0x0001,microcode6080_fire_state_f0_7d,byte
-0x95b0,0x0001,microcode6080_fire_state_f1_7d,byte
-0x95b7,0x0001,microcode6080_fire_state_f2_7f,byte
-0x95c4,0x0001,microcode6080_fire_state_f2_7d,byte
-0x95d1,0x0001,microcode0010_init_or_zero_0e,byte
+0x8e00,0x0001,ucode1080_countdown_30,byte
+0x8e03,0x0001,ucode4080_x_outside_61,byte
+0x8e06,0x0001,ucode1080_animate_shape_68,byte
+0x8e17,0x0001,ucode1080_animate_shape_30,byte
+0x8e1e,0x0001,ucode1080_animate_shape_31,byte
+0x8e25,0x0001,ucode1080_countdown_31,byte
+0x8e28,0x0001,ucode1080_animate_shape_32,byte
+0x8e2f,0x0001,ucode1080_countdown_32,byte
+0x8e32,0x0001,ucode1080_animate_shape_33,byte
+0x8e39,0x0001,ucode1080_countdown_33,byte
+0x8e3c,0x0001,ucode1080_animate_shape_34,byte
+0x8e43,0x0001,ucode1080_countdown_34,byte
+0x8e46,0x0001,ucode1080_animate_shape_35,byte
+0x8e4d,0x0001,ucode1080_countdown_35,byte
+0x8e50,0x0001,ucode1080_animate_shape_36,byte
+0x8e57,0x0001,ucode1080_countdown_36,byte
+0x8e5a,0x0001,ucode1080_animate_shape_37,byte
+0x8e61,0x0001,ucode1080_countdown_37,byte
+0x8e64,0x0001,ucode4080_x_outside_68,byte
+0x8e67,0x0001,ucode1080_animate_shape_38,byte
+0x8e6e,0x0001,ucode1080_countdown_38,byte
+0x8e71,0x0001,ucode1080_animate_shape_39,byte
+0x8e78,0x0001,ucode1080_countdown_39,byte
+0x8e7b,0x0001,ucode1080_animate_shape_3a,byte
+0x8e82,0x0001,ucode1080_countdown_3a,byte
+0x8e85,0x0001,ucode1080_animate_shape_3b,byte
+0x8e8c,0x0001,ucode1080_countdown_3b,byte
+0x8e8f,0x0001,ucode1080_animate_shape_69,byte
+0x8ea0,0x0001,ucode4080_x_outside_69,byte
+0x8ea3,0x0001,ucode1080_animate_shape_6a,byte
+0x8eb4,0x0001,ucode4080_x_outside_6a,byte
+0x8eb7,0x0001,ucode6080_fire_state_f0_68,byte
+0x8ec0,0x0001,ucode6080_fire_state_f0_69,byte
+0x8ec9,0x0001,ucode6080_fire_state_f0_6a,byte
+0x8ed2,0x0001,ucode4080_x_outside_44,byte
+0x8ed5,0x0001,ucode4080_x_outside_45,byte
+0x8ed8,0x0001,ucode4080_x_outside_46,byte
+0x8edb,0x0001,ucode1080_animate_shape_44,byte
+0x8ee6,0x0001,ucode1080_animate_shape_45,byte
+0x8ef1,0x0001,ucode1080_animate_shape_46,byte
+0x8efc,0x0001,ucode1080_animate_shape_14,byte
+0x8f05,0x0001,ucode1080_animate_shape_18,byte
+0x8f0e,0x0001,ucode1080_countdown_19,byte
+0x8f11,0x0001,ucode1080_animate_shape_1a,byte
+0x8f1a,0x0001,ucode1080_countdown_1a,byte
+0x8f1d,0x0001,ucode1080_animate_shape_1b,byte
+0x8f26,0x0001,ucode1080_countdown_1b,byte
+0x8f29,0x0001,ucode1080_animate_shape_1c,byte
+0x8f32,0x0001,ucode4080_x_outside_43,byte
+0x8f35,0x0001,ucode4080_x_outside_42,byte
+0x8f38,0x0001,ucode6080_test_fire_state_f1_61,byte
+0x8f3a,0x0001,ucode1080_collision_59,byte
+0x8f43,0x0001,ucode1080_collision_5a,byte
+0x8f4c,0x0001,ucode1080_collision_5b,byte
+0x8f55,0x0001,ucode4080_x_outside_41,byte
+0x8f58,0x0001,ucode4080_x_outside_48,byte
+0x8f5b,0x0001,ucode1080_animate_shape_48,byte
+0x8f5d,0x0001,ucode1080_animate_shape_70,byte
+0x8f5f,0x0001,ucode4080_x_outside_71,byte
+0x8f62,0x0001,ucode1080_animate_shape_4e,byte
+0x8f69,0x0001,ucode1080_countdown_4e,byte
+0x8f6c,0x0001,ucode1080_animate_shape_4f,byte
+0x8f73,0x0001,ucode1080_countdown_4f,byte
+0x8f76,0x0001,ucode1080_collision_58,byte
+0x8f7f,0x0001,ucode1080_collision_50,byte
+0x8f82,0x0001,ucode4080_x_outside_50,byte
+0x8f85,0x0001,ucode6080_test_fire_state_f0_61,byte
+0x8f87,0x0001,ucode1080_animate_shape_20,byte
+0x8f8c,0x0001,ucode1080_animate_shape_21,byte
+0x8f91,0x0001,ucode1080_animate_shape_22,byte
+0x8f96,0x0001,ucode1080_animate_shape_24,byte
+0x8f9b,0x0001,ucode1080_animate_shape_26,byte
+0x8fa0,0x0001,ucode6080_fire_state_f0_63,byte
+0x8fc1,0x0001,ucode1080_countdown_14,byte
+0x8fc4,0x0001,ucode1080_countdown_18,byte
+0x8fc7,0x0001,ucode1080_countdown_1c,byte
+0x8fca,0x0001,ucode1080_animate_shape_23,byte
+0x8fcf,0x0001,ucode1080_animate_shape_25,byte
+0x8fd4,0x0001,ucode1080_animate_shape_27,byte
+0x8fd9,0x0001,ucode1080_collision_5c,byte
+0x8fe2,0x0001,ucode1080_animate_shape_58,byte
+0x8ff7,0x0001,ucode1080_animate_shape_5a,byte
+0x900b,0x0001,ucode1080_animate_shape_5b,byte
+0x9021,0x0001,ucode1080_animate_shape_5c,byte
+0x9035,0x0001,ucode4080_x_outside_58,byte
+0x9038,0x0001,ucode4080_y_outside_58,byte
+0x904b,0x0001,ucode4080_x_outside_59,byte
+0x904e,0x0001,ucode4080_y_outside_59,byte
+0x9061,0x0001,ucode4080_x_outside_5a,byte
+0x9064,0x0001,ucode4080_y_outside_5a,byte
+0x9077,0x0001,ucode4080_x_outside_5b,byte
+0x907a,0x0001,ucode4080_y_outside_5b,byte
+0x908d,0x0001,ucode4080_x_outside_5c,byte
+0x9090,0x0001,ucode4080_y_outside_5c,byte
+0x90a3,0x0001,ucode1080_animate_shape_11,byte
+0x90a5,0x0001,ucode1080_animate_shape_10,byte
+0x90a7,0x0001,ucode1080_collision_5d,byte
+0x90b0,0x0001,ucode4080_x_outside_5d,byte
+0x90b3,0x0001,ucode4080_y_outside_5d,byte
+0x90c6,0x0001,ucode1080_animate_shape_5e,byte
+0x90da,0x0001,ucode1080_collision_5e,byte
+0x90e3,0x0001,ucode4080_x_outside_5e,byte
+0x90e6,0x0001,ucode4080_y_outside_5e,byte
+0x90f9,0x0001,ucode1080_animate_shape_5f,byte
+0x910f,0x0001,ucode1080_collision_5f,byte
+0x9118,0x0001,ucode4080_x_outside_5f,byte
+0x911b,0x0001,ucode4080_y_outside_5f,byte
+0x912e,0x0001,ucode6080_test_fire_state_f2_61,byte
+0x9130,0x0001,ucode4080_y_outside_61,byte
+0x9139,0x0001,ucode6080_test_fire_state_f3_61,byte
+0x913b,0x0001,ucode6080_fire_state_f3_61,byte
+0x913e,0x0001,ucode4080_x_outside_4d,byte
+0x9141,0x0001,ucode1080_collision_51,byte
+0x9144,0x0001,ucode4080_x_outside_51,byte
+0x9147,0x0001,ucode1080_collision_52,byte
+0x914a,0x0001,ucode4080_x_outside_52,byte
+0x914d,0x0001,ucode1080_animate_shape_47,byte
+0x914f,0x0001,ucode4080_x_outside_47,byte
+0x9152,0x0001,ucode6080_test_fire_state_f2_78,byte
+0x9155,0x0001,ucode6080_test_fire_state_f3_78,byte
+0x9158,0x0001,ucode1080_animate_shape_78,byte
+0x915a,0x0001,ucode6080_fire_state_f2_78,byte
+0x9163,0x0001,ucode1080_collision_test_10,byte
+0x9166,0x0001,ucode1080_animate_shape_7a,byte
+0x9168,0x0001,ucode1080_countdown_7a,byte
+0x9175,0x0001,ucode6080_test_fire_state_f2_7a,byte
+0x9178,0x0001,ucode6080_test_fire_state_f3_7a,byte
+0x917b,0x0001,ucode4080_x_outside_6b,byte
+0x917e,0x0001,ucode1080_animate_shape_59,byte
+0x9192,0x0001,ucode1080_animate_shape_5d,byte
+0x91a7,0x0001,ucode4080_y_outside_65,byte
+0x91aa,0x0001,ucode1080_animate_shape_62,byte
+0x91ac,0x0001,ucode1080_animate_shape_64,byte
+0x91b0,0x0001,ucode1080_collision_test_78,byte
+0x91b3,0x0001,ucode1080_collision_test_7a,byte
+0x91b6,0x0001,ucode1080_countdown_64,byte
+0x91b9,0x0001,ucode1080_animate_shape_60,byte
+0x91bb,0x0001,ucode1080_animate_shape_7f,byte
+0x91bd,0x0001,ucode6080_fire_state_f0_7f,byte
+0x91c0,0x0001,ucode6080_fire_state_f2_60,byte
+0x91c3,0x0001,ucode0010_init_or_zero_0d,byte
+0x91c8,0x0001,ucode6080_fire_state_f1_61,byte
+0x91e9,0x0001,ucode1080_animate_shape_12,byte
+0x91eb,0x0001,ucode1080_countdown_68,byte
+0x91ee,0x0001,ucode1080_countdown_69,byte
+0x91f1,0x0001,ucode1080_countdown_6a,byte
+0x91f4,0x0001,ucode1080_countdown_60,byte
+0x91f9,0x0001,ucode6080_fire_state_f1_60,byte
+0x91fc,0x0001,ucode1080_collision_44,byte
+0x9203,0x0001,ucode1080_collision_45,byte
+0x920a,0x0001,ucode1080_collision_46,byte
+0x9211,0x0001,ucode1080_collision_47,byte
+0x9218,0x0001,ucode1080_collision_48,byte
+0x921f,0x0001,ucode1080_collision_test_14,byte
+0x9222,0x0001,ucode1080_collision_14,byte
+0x922d,0x0001,ucode1080_collision_test_18,byte
+0x9230,0x0001,ucode1080_collision_test_1c,byte
+0x9233,0x0001,ucode1080_animate_shape_41,byte
+0x9237,0x0001,ucode1080_animate_shape_42,byte
+0x923b,0x0001,ucode1080_animate_shape_43,byte
+0x923f,0x0001,ucode6080_fire_state_f0_65,byte
+0x9242,0x0001,ucode6080_fire_state_f1_65,byte
+0x9245,0x0001,ucode6080_test_fire_state_f1_6b,byte
+0x9248,0x0001,ucode6080_fire_state_f1_6b,byte
+0x9253,0x0001,ucode6080_fire_state_f0_6b,byte
+0x9256,0x0001,ucode4080_x_outside_6c,byte
+0x9259,0x0001,ucode6080_fire_state_f0_6c,byte
+0x925c,0x0001,ucode6080_test_fire_state_f1_6c,byte
+0x925f,0x0001,ucode6080_fire_state_f1_6c,byte
+0x926a,0x0001,ucode4080_x_outside_6d,byte
+0x926d,0x0001,ucode6080_fire_state_f0_6d,byte
+0x9270,0x0001,ucode6080_test_fire_state_f1_6d,byte
+0x9273,0x0001,ucode6080_fire_state_f1_6d,byte
+0x927e,0x0001,ucode1080_collision_18,byte
+0x928b,0x0001,ucode6080_fire_state_f3_78,byte
+0x9294,0x0001,ucode1080_animate_shape_50,byte
+0x929a,0x0001,ucode1080_animate_shape_51,byte
+0x92a0,0x0001,ucode1080_animate_shape_52,byte
+0x92a6,0x0001,ucode4080_x_outside_70,byte
+0x92a9,0x0001,ucode4080_x_outside_53,byte
+0x92ac,0x0001,ucode4080_y_outside_53,byte
+0x92af,0x0001,ucode6080_fire_state_f1_71,byte
+0x92b2,0x0001,ucode4080_x_outside_72,byte
+0x92b5,0x0001,ucode1080_animate_shape_61,byte
+0x92bd,0x0001,ucode4080_y_outside_71,byte
+0x92c0,0x0001,ucode4080_y_outside_72,byte
+0x92cf,0x0001,ucode6080_fire_state_f3_71,byte
+0x92d2,0x0001,ucode1080_countdown_71,byte
+0x92d7,0x0001,ucode1080_countdown_58,byte
+0x92de,0x0001,ucode1080_countdown_59,byte
+0x92e5,0x0001,ucode1080_countdown_5a,byte
+0x92ec,0x0001,ucode1080_countdown_5b,byte
+0x92f3,0x0001,ucode1080_countdown_5c,byte
+0x92fa,0x0001,ucode1080_countdown_5d,byte
+0x9301,0x0001,ucode1080_countdown_5e,byte
+0x9308,0x0001,ucode1080_countdown_5f,byte
+0x930f,0x0001,ucode6080_test_fire_state_f0_6c,byte
+0x9312,0x0001,ucode6080_test_fire_state_f0_6b,byte
+0x9315,0x0001,ucode6080_test_fire_state_f0_6d,byte
+0x9318,0x0001,ucode1080_animate_shape_65,byte
+0x931c,0x0001,ucode1080_animate_shape_66,byte
+0x931e,0x0001,ucode1080_animate_shape_16,byte
+0x9327,0x0001,ucode1080_countdown_16,byte
+0x932a,0x0001,ucode1080_animate_shape_1e,byte
+0x9333,0x0001,ucode1080_countdown_1e,byte
+0x9336,0x0001,ucode1080_animate_shape_17,byte
+0x933f,0x0001,ucode1080_countdown_17,byte
+0x9342,0x0001,ucode1080_animate_shape_1f,byte
+0x934b,0x0001,ucode1080_countdown_1f,byte
+0x934e,0x0001,ucode1080_animate_shape_19,byte
+0x9357,0x0001,ucode1080_animate_shape_15,byte
+0x9360,0x0001,ucode1080_countdown_15,byte
+0x9363,0x0001,ucode1080_animate_shape_1d,byte
+0x936c,0x0001,ucode1080_countdown_1d,byte
+0x936f,0x0001,ucode1080_animate_shape_7c,byte
+0x9371,0x0001,ucode1080_collision_test_7c,byte
+0x9374,0x0001,ucode6080_test_fire_state_f2_7c,byte
+0x9377,0x0001,ucode6080_test_fire_state_f3_7c,byte
+0x937a,0x0001,ucode6080_fire_state_f3_65,byte
+0x9387,0x0001,ucode1080_animate_shape_79,byte
+0x9389,0x0001,ucode1080_collision_test_79,byte
+0x938c,0x0001,ucode6080_test_fire_state_f3_79,byte
+0x938f,0x0001,ucode1080_countdown_7f,byte
+0x93a0,0x0001,ucode6080_fire_state_f1_7f,byte
+0x93b1,0x0001,ucode1080_collision_test_64,byte
+0x93c1,0x0001,ucode1080_animate_shape_53,byte
+0x93cf,0x0001,ucode1080_animate_shape_54,byte
+0x93dd,0x0001,ucode4080_x_outside_54,byte
+0x93e0,0x0001,ucode4080_y_outside_54,byte
+0x93e3,0x0001,ucode1080_animate_shape_55,byte
+0x93f1,0x0001,ucode4080_x_outside_55,byte
+0x93f4,0x0001,ucode4080_y_outside_55,byte
+0x93f7,0x0001,ucode1080_animate_shape_56,byte
+0x9405,0x0001,ucode4080_x_outside_56,byte
+0x9408,0x0001,ucode4080_y_outside_56,byte
+0x940b,0x0001,ucode1080_animate_shape_57,byte
+0x9419,0x0001,ucode4080_x_outside_57,byte
+0x941c,0x0001,ucode4080_y_outside_57,byte
+0x941f,0x0001,ucode1080_collision_test_61,byte
+0x942a,0x0001,ucode1080_countdown_7c,byte
+0x9437,0x0001,ucode1080_animate_shape_2c,byte
+0x9439,0x0001,ucode6080_test_fire_state_f0_77,byte
+0x943c,0x0001,ucode4080_x_outside_6e,byte
+0x943f,0x0001,ucode6080_test_fire_state_f0_6e,byte
+0x9442,0x0001,ucode6080_fire_state_f0_6e,byte
+0x9445,0x0001,ucode6080_test_fire_state_f1_6e,byte
+0x9448,0x0001,ucode6080_fire_state_f1_6e,byte
+0x9453,0x0001,ucode4080_x_outside_6f,byte
+0x9456,0x0001,ucode6080_test_fire_state_f0_6f,byte
+0x9459,0x0001,ucode6080_fire_state_f0_6f,byte
+0x945c,0x0001,ucode6080_test_fire_state_f1_6f,byte
+0x945f,0x0001,ucode6080_fire_state_f1_6f,byte
+0x946a,0x0001,ucode6080_test_fire_state_f2_77,byte
+0x946d,0x0001,ucode6080_fire_state_f3_79,byte
+0x948c,0x0001,ucode1080_collision_1c,byte
+0x9497,0x0001,ucode1080_collision_6b,byte
+0x94aa,0x0001,ucode1080_collision_6c,byte
+0x94bd,0x0001,ucode1080_collision_6d,byte
+0x94d0,0x0001,ucode1080_collision_6e,byte
+0x94e3,0x0001,ucode1080_collision_6f,byte
+0x94f6,0x0001,ucode1080_collision_10,byte
+0x9511,0x0001,ucode1080_collision_72,byte
+0x951a,0x0001,ucode1080_collision_53,byte
+0x9527,0x0001,ucode1080_collision_54,byte
+0x9534,0x0001,ucode1080_collision_55,byte
+0x9541,0x0001,ucode1080_collision_56,byte
+0x954e,0x0001,ucode1080_collision_57,byte
+0x955b,0x0001,ucode4080_y_outside_70,byte
+0x955e,0x0001,ucode1080_animate_shape_28,byte
+0x9560,0x0001,ucode1080_countdown_28,byte
+0x9563,0x0001,ucode1080_collision_test_28,byte
+0x9565,0x0001,ucode1080_collision_28,byte
+0x9578,0x0001,ucode1080_countdown_61,byte
+0x957f,0x0001,ucode6080_test_fire_state_f1_7a,byte
+0x9582,0x0001,ucode6080_test_fire_state_f1_7c,byte
+0x9585,0x0001,ucode1080_animate_shape_7b,byte
+0x9587,0x0001,ucode1080_collision_test_7b,byte
+0x958a,0x0001,ucode6080_test_fire_state_f3_7b,byte
+0x958d,0x0001,ucode6080_fire_state_f2_7a,byte
+0x9596,0x0001,ucode1080_animate_shape_7d,byte
+0x9598,0x0001,ucode1080_countdown_7d,byte
+0x95ab,0x0001,ucode6080_fire_state_f0_7d,byte
+0x95b0,0x0001,ucode6080_fire_state_f1_7d,byte
+0x95b7,0x0001,ucode6080_fire_state_f2_7f,byte
+0x95c4,0x0001,ucode6080_fire_state_f2_7d,byte
+0x95d1,0x0001,ucode0010_init_or_zero_0e,byte
 # object 0x6b is helicopter_or_enemy_plane0
-# 54d6 = microcode1080_animate_shape + 0x6b * 2
+# 54d6 = ucode1080_animate_shape + 0x6b * 2
 #              -> implied start of section 0xf0
 #      .db     0x2c helicopter shape
 #      .db     0xf2 -> start of section 0xf2
@@ -876,10 +876,10 @@ items
 #      .db     0xf3 -> start of section 0xf3
 #      .db     0x2f enemy_plane1 shape
 #      .db     0x00 sentinel
-0x95dc,0x0001,microcode1080_animate_shape_6b,byte
-0x95e2,0x0001,microcode6080_homing_6b,byte
+0x95dc,0x0001,ucode1080_animate_shape_6b,byte
+0x95e2,0x0001,ucode6080_homing_6b,byte
 # object 0x6c is helicopter_or_enemy_plane1
-# 54d8 = microcode1080_animate_shape + 0x6c * 2
+# 54d8 = ucode1080_animate_shape + 0x6c * 2
 #              -> implied start of section 0xf0
 #      .db     0x2c helicopter shape
 #      .db     0xf2 -> start of section 0xf2
@@ -887,10 +887,10 @@ items
 #      .db     0xf3 -> start of section 0xf3
 #      .db     0x2f enemy_plane1 shape
 #      .db     0x00 sentinel
-0x95e9,0x0001,microcode1080_animate_shape_6c,byte
-0x95ef,0x0001,microcode6080_homing_6c,byte
+0x95e9,0x0001,ucode1080_animate_shape_6c,byte
+0x95ef,0x0001,ucode6080_homing_6c,byte
 # object 0x6d is helicopter_or_enemy_plane2
-# 54da = microcode1080_animate_shape + 0x6d * 2
+# 54da = ucode1080_animate_shape + 0x6d * 2
 #              -> implied start of section 0xf0
 #      .db     0x2c helicopter shape
 #      .db     0xf2 -> start of section 0xf2
@@ -898,59 +898,59 @@ items
 #      .db     0xf3 -> start of section 0xf3
 #      .db     0x2f enemy_plane1 shape
 #      .db     0x00 sentinel
-0x95f6,0x0001,microcode1080_animate_shape_6d,byte
-0x95fc,0x0001,microcode6080_homing_6d,byte
-0x9603,0x0001,microcode1080_animate_shape_6e,byte
-0x9609,0x0001,microcode6080_homing_6e,byte
-0x9610,0x0001,microcode1080_animate_shape_6f,byte
-0x9616,0x0001,microcode6080_homing_6f,byte
-0x961d,0x0001,microcode1080_countdown_44,byte
-0x9626,0x0001,microcode1080_countdown_45,byte
-0x962f,0x0001,microcode1080_countdown_46,byte
-0x9638,0x0001,microcode4080_y_outside_47,byte
-0x963b,0x0001,microcode4080_y_outside_48,byte
-0x963e,0x0001,microcode6080_test_fire_state_f3_6b,byte
-0x9641,0x0001,microcode6080_fire_state_f3_6b,byte
-0x9648,0x0001,microcode6080_test_fire_state_f3_6c,byte
-0x964b,0x0001,microcode6080_fire_state_f3_6c,byte
-0x9652,0x0001,microcode6080_test_fire_state_f3_6d,byte
-0x9655,0x0001,microcode6080_fire_state_f3_6d,byte
-0x965c,0x0001,microcode6080_test_fire_state_f3_6e,byte
-0x965f,0x0001,microcode6080_fire_state_f3_6e,byte
-0x9666,0x0001,microcode6080_test_fire_state_f3_6f,byte
-0x9669,0x0001,microcode6080_fire_state_f3_6f,byte
-0x9670,0x0001,microcode1080_animate_shape_73,byte
-0x9676,0x0001,microcode1080_collision_73,byte
-0x9679,0x0001,microcode1080_animate_shape_2f,byte
-0x967b,0x0001,microcode4080_x_outside_73,byte
-0x967e,0x0001,microcode1080_animate_shape_74,byte
-0x9684,0x0001,microcode1080_collision_74,byte
-0x9687,0x0001,microcode4080_x_outside_74,byte
-0x968a,0x0001,microcode1080_animate_shape_75,byte
-0x9690,0x0001,microcode1080_collision_75,byte
-0x9693,0x0001,microcode4080_x_outside_75,byte
-0x9696,0x0001,microcode1080_animate_shape_76,byte
-0x9698,0x0001,microcode6080_test_fire_state_f1_76,byte
-0x969b,0x0001,microcode6080_test_fire_state_f0_76,byte
-0x969e,0x0001,microcode1080_animate_shape_2d,byte
-0x96a0,0x0001,microcode6080_test_fire_state_f2_79,byte
-0x96a3,0x0001,microcode6080_test_fire_state_f2_7b,byte
-0x96a6,0x0001,microcode6080_fire_state_f2_79,byte
-0x96a9,0x0001,microcode6080_fire_state_f2_7b,byte
-0x96ac,0x0001,microcode1080_animate_shape_2e,byte
-0x96ae,0x0001,microcode4080_x_outside_77,byte
-0x96b5,0x0001,microcode1080_collision_77,byte
-0x96c4,0x0001,microcode1080_countdown_2f,byte
-0x96cb,0x0001,microcode4080_y_outside_4d,byte
-0x96ce,0x0001,microcode6080_homing_77,byte
-0x96d0,0x0001,microcode1080_animate_shape_77,byte
-0x96d6,0x0001,microcode6080_fire_state_f2_77,byte
-0x96dd,0x0001,microcode6080_fire_state_f3_77,byte
-0x96e0,0x0001,microcode1080_countdown_2d,byte
-0x96f1,0x0001,microcode1080_countdown_2e,byte
-0x9704,0x0001,microcode6080_test_fire_state_f3_77,byte
+0x95f6,0x0001,ucode1080_animate_shape_6d,byte
+0x95fc,0x0001,ucode6080_homing_6d,byte
+0x9603,0x0001,ucode1080_animate_shape_6e,byte
+0x9609,0x0001,ucode6080_homing_6e,byte
+0x9610,0x0001,ucode1080_animate_shape_6f,byte
+0x9616,0x0001,ucode6080_homing_6f,byte
+0x961d,0x0001,ucode1080_countdown_44,byte
+0x9626,0x0001,ucode1080_countdown_45,byte
+0x962f,0x0001,ucode1080_countdown_46,byte
+0x9638,0x0001,ucode4080_y_outside_47,byte
+0x963b,0x0001,ucode4080_y_outside_48,byte
+0x963e,0x0001,ucode6080_test_fire_state_f3_6b,byte
+0x9641,0x0001,ucode6080_fire_state_f3_6b,byte
+0x9648,0x0001,ucode6080_test_fire_state_f3_6c,byte
+0x964b,0x0001,ucode6080_fire_state_f3_6c,byte
+0x9652,0x0001,ucode6080_test_fire_state_f3_6d,byte
+0x9655,0x0001,ucode6080_fire_state_f3_6d,byte
+0x965c,0x0001,ucode6080_test_fire_state_f3_6e,byte
+0x965f,0x0001,ucode6080_fire_state_f3_6e,byte
+0x9666,0x0001,ucode6080_test_fire_state_f3_6f,byte
+0x9669,0x0001,ucode6080_fire_state_f3_6f,byte
+0x9670,0x0001,ucode1080_animate_shape_73,byte
+0x9676,0x0001,ucode1080_collision_73,byte
+0x9679,0x0001,ucode1080_animate_shape_2f,byte
+0x967b,0x0001,ucode4080_x_outside_73,byte
+0x967e,0x0001,ucode1080_animate_shape_74,byte
+0x9684,0x0001,ucode1080_collision_74,byte
+0x9687,0x0001,ucode4080_x_outside_74,byte
+0x968a,0x0001,ucode1080_animate_shape_75,byte
+0x9690,0x0001,ucode1080_collision_75,byte
+0x9693,0x0001,ucode4080_x_outside_75,byte
+0x9696,0x0001,ucode1080_animate_shape_76,byte
+0x9698,0x0001,ucode6080_test_fire_state_f1_76,byte
+0x969b,0x0001,ucode6080_test_fire_state_f0_76,byte
+0x969e,0x0001,ucode1080_animate_shape_2d,byte
+0x96a0,0x0001,ucode6080_test_fire_state_f2_79,byte
+0x96a3,0x0001,ucode6080_test_fire_state_f2_7b,byte
+0x96a6,0x0001,ucode6080_fire_state_f2_79,byte
+0x96a9,0x0001,ucode6080_fire_state_f2_7b,byte
+0x96ac,0x0001,ucode1080_animate_shape_2e,byte
+0x96ae,0x0001,ucode4080_x_outside_77,byte
+0x96b5,0x0001,ucode1080_collision_77,byte
+0x96c4,0x0001,ucode1080_countdown_2f,byte
+0x96cb,0x0001,ucode4080_y_outside_4d,byte
+0x96ce,0x0001,ucode6080_homing_77,byte
+0x96d0,0x0001,ucode1080_animate_shape_77,byte
+0x96d6,0x0001,ucode6080_fire_state_f2_77,byte
+0x96dd,0x0001,ucode6080_fire_state_f3_77,byte
+0x96e0,0x0001,ucode1080_countdown_2d,byte
+0x96f1,0x0001,ucode1080_countdown_2e,byte
+0x9704,0x0001,ucode6080_test_fire_state_f3_77,byte
 # object 0x4d is radar_or_icbm
-# 549a = microcode1080_animate_shape + 0x4d * 2
+# 549a = ucode1080_animate_shape + 0x4d * 2
 # controls the headquarters, icbm or radar shape as follows
 #              -> implied start of section 0xf0
 #      .db     0x72 headquarters shape
@@ -977,164 +977,164 @@ items
 #   loc_0ddc a = table index where start sentinel was found (or end sentinel)
 #     update object1080_animate_shape_index with this index (causes the
 #     wrapping to restart the animation sequence) ... resume at loc_0da6
-# note: the microcode_pair routine seems implicated in launching this:
+# note: the ucode_pair routine seems implicated in launching this:
 # 0$:  ldy     object1080_start_sentinel - 0x10,x
 #      bpl     2$
 #      and     #0x03
 #      ora     #0xf0
 #      jmp     [vec_calculate_object_shape]
-0x9707,0x0001,microcode1080_animate_shape_4d,byte
-0x9711,0x0001,microcode1080_animate_shape_72,byte
-0x971d,0x0001,microcode1080_collision_test_62,byte
-0x972d,0x0001,microcode6080_fire_state_f3_7b,byte
-0x9746,0x0001,microcode1080_collision_68,byte
-0x974f,0x0001,microcode4080_y_outside_68,byte
-0x9758,0x0001,microcode1080_collision_69,byte
-0x9761,0x0001,microcode4080_y_outside_69,byte
-0x976a,0x0001,microcode1080_collision_6a,byte
-0x9773,0x0001,microcode4080_y_outside_6a,byte
-0x977c,0x0001,microcode1080_collision_test_6b,byte
-0x9782,0x0001,microcode1080_collision_test_6c,byte
-0x9788,0x0001,microcode1080_collision_test_6d,byte
-0x978e,0x0001,microcode1080_collision_test_6e,byte
-0x9794,0x0001,microcode1080_collision_test_6f,byte
-0x979a,0x0001,microcode1080_collision_test_70,byte
-0x97a3,0x0001,microcode1080_collision_70,byte
-0x97aa,0x0001,microcode1080_countdown_10,byte
-0x97cb,0x0001,microcode1080_collision_test_58,byte
-0x97e0,0x0001,microcode1080_collision_test_59,byte
-0x97f5,0x0001,microcode1080_collision_test_5a,byte
-0x980a,0x0001,microcode1080_collision_test_5b,byte
-0x981f,0x0001,microcode1080_collision_test_5c,byte
-0x9834,0x0001,microcode1080_collision_test_5d,byte
-0x9849,0x0001,microcode1080_collision_test_5e,byte
-0x985e,0x0001,microcode1080_collision_test_5f,byte
-0x9873,0x0001,microcode1080_collision_test_72,byte
-0x9884,0x0001,microcode4080_y_outside_66,byte
-0x988b,0x0001,microcode1080_collision_test_66,byte
-0x989d,0x0001,microcode1080_collision_test_67,byte
-0x98a0,0x0001,microcode1080_collision_67,byte
-0x98a7,0x0001,microcode1080_countdown_2a,byte
-0x98aa,0x0001,microcode1080_collision_71,byte
-0x98b1,0x0001,microcode1080_collision_test_2a,byte
-0x98b4,0x0001,microcode1080_collision_2a,byte
-0x98bb,0x0001,microcode1080_animate_shape_2a,byte
-0x98c5,0x0001,microcode1080_animate_shape_71,byte
-0x98d2,0x0001,microcode6080_test_fire_state_f3_71,byte
-0x98d5,0x0001,microcode6080_fire_state_f2_76,byte
-0x98da,0x0001,microcode6080_test_fire_state_f3_76,byte
-0x98dd,0x0001,microcode6080_fire_state_f3_76,byte
-0x98e0,0x0001,microcode6080_homing_67,byte
-0x98e3,0x0001,microcode1080_animate_shape_13,byte
-0x98e5,0x0001,microcode1080_countdown_13,byte
-0x98ea,0x0001,microcode1080_collision_66,byte
-0x9901,0x0001,microcode4080_x_outside_66,byte
-0x9908,0x0001,microcode0010_init_or_zero_07,byte
-0x9917,0x0001,microcode6080_fire_state_f2_65,byte
-0x9926,0x0001,microcode1080_countdown_12,byte
-0x9939,0x0001,microcode0010_init_or_zero_04,byte
-0x994e,0x0001,microcode0010_init_or_zero_05,byte
-0x9961,0x0001,microcode0010_init_or_zero_0a,byte
-0x9966,0x0001,microcode6080_fire_state_f0_76,byte
-0x997b,0x0001,microcode6080_fire_state_f0_61,byte
-0x9994,0x0001,microcode6080_fire_state_f2_61,byte
-0x99ad,0x0001,microcode6080_fire_state_f1_76,byte
-0x99cc,0x0001,microcode1080_animate_shape_67,byte
-0x99ce,0x0001,microcode4080_x_outside_67,byte
-0x99d9,0x0001,microcode4080_y_outside_67,byte
-0x99e4,0x0001,microcode1080_animate_shape_40,byte
-0x99ea,0x0001,microcode6080_fire_state_f0_67,byte
-0x99ed,0x0001,microcode6080_fire_state_f1_67,byte
-0x99f4,0x0001,microcode1080_countdown_70,byte
-0x99f7,0x0001,microcode1080_animate_shape_63,byte
-0x99f9,0x0001,microcode1080_collision_78,byte
-0x9a0e,0x0001,microcode1080_collision_79,byte
-0x9a1d,0x0001,microcode1080_collision_7a,byte
-0x9a32,0x0001,microcode1080_collision_7b,byte
-0x9a41,0x0001,microcode1080_animate_shape_29,byte
-0x9a43,0x0001,microcode1080_countdown_29,byte
-0x9a46,0x0001,microcode6080_homing_6a,byte
-0x9a4f,0x0001,microcode1080_collision_test_53,byte
-0x9a5a,0x0001,microcode1080_collision_test_54,byte
-0x9a65,0x0001,microcode1080_collision_test_55,byte
-0x9a70,0x0001,microcode1080_collision_test_56,byte
-0x9a7b,0x0001,microcode1080_collision_test_57,byte
-0x9a86,0x0001,microcode1080_collision_test_50,byte
-0x9a8f,0x0001,microcode1080_collision_test_51,byte
-0x9a98,0x0001,microcode1080_collision_test_52,byte
-0x9aa1,0x0001,microcode1080_countdown_2c,byte
-0x9aa6,0x0001,microcode6080_homing_68,byte
-0x9aaf,0x0001,microcode6080_homing_69,byte
-0x9ab8,0x0001,microcode6080_test_fire_state_f2_76,byte
-0x9abc,0x0001,microcode6080_test_fire_state_f1_7e,byte
-0x9abf,0x0001,microcode6080_test_fire_state_f3_7e,byte
-0x9ac2,0x0001,microcode4080_x_outside_7e,byte
-0x9acf,0x0001,microcode4080_x_outside_62,byte
-0x9ad6,0x0001,microcode1080_collision_29,byte
-0x9aeb,0x0001,microcode1080_collision_61,byte
-0x9b00,0x0001,microcode1080_countdown_7e,byte
-0x9b09,0x0001,microcode1080_animate_shape_7e,byte
-0x9b0b,0x0001,microcode6080_fire_state_f3_60,byte
-0x9b26,0x0001,microcode1080_animate_shape_3d,byte
-0x9b28,0x0001,microcode1080_countdown_3d,byte
-0x9b3b,0x0001,microcode0010_init_or_zero_0f,byte
-0x9b48,0x0001,microcode0010_init_or_zero_06,byte
-0x9b51,0x0001,microcode1080_animate_shape_3c,byte
-0x9b53,0x0001,microcode1080_collision_test_3c,byte
-0x9b55,0x0001,microcode1080_collision_3c,byte
-0x9b58,0x0001,microcode1080_countdown_3c,byte
-0x9b63,0x0001,microcode1080_countdown_65,byte
-0x9b68,0x0001,microcode4080_x_outside_65,byte
-0x9b6d,0x0001,microcode1080_collision_test_73,byte
-0x9b72,0x0001,microcode1080_collision_test_74,byte
-0x9b77,0x0001,microcode1080_collision_test_75,byte
-0x9b7c,0x0001,microcode1080_collision_test_71,byte
-0x9b8c,0x0001,microcode1080_collision_test_11,byte
-0x9b91,0x0001,microcode1080_collision_11,byte
-0x9b9e,0x0001,microcode1080_countdown_11,byte
-0x9bbb,0x0001,microcode6080_test_fire_state_f2_68,byte
-0x9bbe,0x0001,microcode6080_fire_state_f2_68,byte
-0x9bc1,0x0001,microcode6080_test_fire_state_f3_63,byte
-0x9bc4,0x0001,microcode6080_fire_state_f3_63,byte
-0x9bc9,0x0001,microcode1080_countdown_78,byte
-0x9bd2,0x0001,microcode1080_countdown_79,byte
-0x9bdb,0x0001,microcode6080_fire_state_f3_7a,byte
-0x9be4,0x0001,microcode1080_countdown_7b,byte
-0x9bed,0x0001,microcode4080_y_outside_76,byte
-0x9bf2,0x0001,microcode1080_collision_4d,byte
-0x9c09,0x0001,microcode4080_x_outside_76,byte
-0x9c0c,0x0001,microcode1080_animate_shape_49,byte
-0x9c14,0x0001,microcode4080_x_outside_49,byte
-0x9c2d,0x0001,microcode1080_animate_shape_4a,byte
-0x9c35,0x0001,microcode4080_x_outside_4a,byte
-0x9c4e,0x0001,microcode1080_animate_shape_4b,byte
-0x9c56,0x0001,microcode4080_x_outside_4b,byte
-0x9c6f,0x0001,microcode1080_animate_shape_4c,byte
-0x9c77,0x0001,microcode4080_x_outside_4c,byte
-0x9c90,0x0001,microcode1080_collision_49,byte
-0x9cad,0x0001,microcode1080_collision_4a,byte
-0x9cca,0x0001,microcode1080_collision_4b,byte
-0x9ce7,0x0001,microcode1080_collision_4c,byte
-0x9d04,0x0001,microcode6080_fire_state_f1_7e,byte
-0x9d1d,0x0001,microcode6080_fire_state_f3_7e,byte
-0x9d26,0x0001,microcode0010_init_or_zero_02,byte
-0x9d3b,0x0001,microcode0010_init_or_zero_03,byte
-0x9d50,0x0001,microcode1080_countdown_62,byte
-0x9d55,0x0001,microcode0010_init_or_zero_0c,byte
-0x9d64,0x0001,microcode4080_x_outside_64,byte
-0x9d6d,0x0001,microcode6080_test_fire_state_f2_63,byte
-0x9d70,0x0001,microcode6080_fire_state_f1_7a,byte
-0x9d77,0x0001,microcode6080_fire_state_f1_7c,byte
-0x9d7e,0x0001,microcode6080_fire_state_f3_7c,byte
-0x9d87,0x0001,microcode6080_fire_state_f2_63,byte
-0x9da0,0x0001,microcode6080_fire_state_f2_7c,byte
-0x9da9,0x0001,microcode1080_collision_7c,byte
-0x9dbc,0x0001,microcode4080_y_outside_7c,byte
-0x9dc1,0x0001,microcode4080_x_outside_7c,byte
-0x9dc4,0x0001,microcode0010_init_or_zero_01,byte
-0x9dd9,0x0001,microcode1080_countdown_63,byte
-0x9dde,0x0001,microcode1080_collision_test_2c,byte
-0x9de0,0x0001,microcode1080_collision_2c,byte
+0x9707,0x0001,ucode1080_animate_shape_4d,byte
+0x9711,0x0001,ucode1080_animate_shape_72,byte
+0x971d,0x0001,ucode1080_collision_test_62,byte
+0x972d,0x0001,ucode6080_fire_state_f3_7b,byte
+0x9746,0x0001,ucode1080_collision_68,byte
+0x974f,0x0001,ucode4080_y_outside_68,byte
+0x9758,0x0001,ucode1080_collision_69,byte
+0x9761,0x0001,ucode4080_y_outside_69,byte
+0x976a,0x0001,ucode1080_collision_6a,byte
+0x9773,0x0001,ucode4080_y_outside_6a,byte
+0x977c,0x0001,ucode1080_collision_test_6b,byte
+0x9782,0x0001,ucode1080_collision_test_6c,byte
+0x9788,0x0001,ucode1080_collision_test_6d,byte
+0x978e,0x0001,ucode1080_collision_test_6e,byte
+0x9794,0x0001,ucode1080_collision_test_6f,byte
+0x979a,0x0001,ucode1080_collision_test_70,byte
+0x97a3,0x0001,ucode1080_collision_70,byte
+0x97aa,0x0001,ucode1080_countdown_10,byte
+0x97cb,0x0001,ucode1080_collision_test_58,byte
+0x97e0,0x0001,ucode1080_collision_test_59,byte
+0x97f5,0x0001,ucode1080_collision_test_5a,byte
+0x980a,0x0001,ucode1080_collision_test_5b,byte
+0x981f,0x0001,ucode1080_collision_test_5c,byte
+0x9834,0x0001,ucode1080_collision_test_5d,byte
+0x9849,0x0001,ucode1080_collision_test_5e,byte
+0x985e,0x0001,ucode1080_collision_test_5f,byte
+0x9873,0x0001,ucode1080_collision_test_72,byte
+0x9884,0x0001,ucode4080_y_outside_66,byte
+0x988b,0x0001,ucode1080_collision_test_66,byte
+0x989d,0x0001,ucode1080_collision_test_67,byte
+0x98a0,0x0001,ucode1080_collision_67,byte
+0x98a7,0x0001,ucode1080_countdown_2a,byte
+0x98aa,0x0001,ucode1080_collision_71,byte
+0x98b1,0x0001,ucode1080_collision_test_2a,byte
+0x98b4,0x0001,ucode1080_collision_2a,byte
+0x98bb,0x0001,ucode1080_animate_shape_2a,byte
+0x98c5,0x0001,ucode1080_animate_shape_71,byte
+0x98d2,0x0001,ucode6080_test_fire_state_f3_71,byte
+0x98d5,0x0001,ucode6080_fire_state_f2_76,byte
+0x98da,0x0001,ucode6080_test_fire_state_f3_76,byte
+0x98dd,0x0001,ucode6080_fire_state_f3_76,byte
+0x98e0,0x0001,ucode6080_homing_67,byte
+0x98e3,0x0001,ucode1080_animate_shape_13,byte
+0x98e5,0x0001,ucode1080_countdown_13,byte
+0x98ea,0x0001,ucode1080_collision_66,byte
+0x9901,0x0001,ucode4080_x_outside_66,byte
+0x9908,0x0001,ucode0010_init_or_zero_07,byte
+0x9917,0x0001,ucode6080_fire_state_f2_65,byte
+0x9926,0x0001,ucode1080_countdown_12,byte
+0x9939,0x0001,ucode0010_init_or_zero_04,byte
+0x994e,0x0001,ucode0010_init_or_zero_05,byte
+0x9961,0x0001,ucode0010_init_or_zero_0a,byte
+0x9966,0x0001,ucode6080_fire_state_f0_76,byte
+0x997b,0x0001,ucode6080_fire_state_f0_61,byte
+0x9994,0x0001,ucode6080_fire_state_f2_61,byte
+0x99ad,0x0001,ucode6080_fire_state_f1_76,byte
+0x99cc,0x0001,ucode1080_animate_shape_67,byte
+0x99ce,0x0001,ucode4080_x_outside_67,byte
+0x99d9,0x0001,ucode4080_y_outside_67,byte
+0x99e4,0x0001,ucode1080_animate_shape_40,byte
+0x99ea,0x0001,ucode6080_fire_state_f0_67,byte
+0x99ed,0x0001,ucode6080_fire_state_f1_67,byte
+0x99f4,0x0001,ucode1080_countdown_70,byte
+0x99f7,0x0001,ucode1080_animate_shape_63,byte
+0x99f9,0x0001,ucode1080_collision_78,byte
+0x9a0e,0x0001,ucode1080_collision_79,byte
+0x9a1d,0x0001,ucode1080_collision_7a,byte
+0x9a32,0x0001,ucode1080_collision_7b,byte
+0x9a41,0x0001,ucode1080_animate_shape_29,byte
+0x9a43,0x0001,ucode1080_countdown_29,byte
+0x9a46,0x0001,ucode6080_homing_6a,byte
+0x9a4f,0x0001,ucode1080_collision_test_53,byte
+0x9a5a,0x0001,ucode1080_collision_test_54,byte
+0x9a65,0x0001,ucode1080_collision_test_55,byte
+0x9a70,0x0001,ucode1080_collision_test_56,byte
+0x9a7b,0x0001,ucode1080_collision_test_57,byte
+0x9a86,0x0001,ucode1080_collision_test_50,byte
+0x9a8f,0x0001,ucode1080_collision_test_51,byte
+0x9a98,0x0001,ucode1080_collision_test_52,byte
+0x9aa1,0x0001,ucode1080_countdown_2c,byte
+0x9aa6,0x0001,ucode6080_homing_68,byte
+0x9aaf,0x0001,ucode6080_homing_69,byte
+0x9ab8,0x0001,ucode6080_test_fire_state_f2_76,byte
+0x9abc,0x0001,ucode6080_test_fire_state_f1_7e,byte
+0x9abf,0x0001,ucode6080_test_fire_state_f3_7e,byte
+0x9ac2,0x0001,ucode4080_x_outside_7e,byte
+0x9acf,0x0001,ucode4080_x_outside_62,byte
+0x9ad6,0x0001,ucode1080_collision_29,byte
+0x9aeb,0x0001,ucode1080_collision_61,byte
+0x9b00,0x0001,ucode1080_countdown_7e,byte
+0x9b09,0x0001,ucode1080_animate_shape_7e,byte
+0x9b0b,0x0001,ucode6080_fire_state_f3_60,byte
+0x9b26,0x0001,ucode1080_animate_shape_3d,byte
+0x9b28,0x0001,ucode1080_countdown_3d,byte
+0x9b3b,0x0001,ucode0010_init_or_zero_0f,byte
+0x9b48,0x0001,ucode0010_init_or_zero_06,byte
+0x9b51,0x0001,ucode1080_animate_shape_3c,byte
+0x9b53,0x0001,ucode1080_collision_test_3c,byte
+0x9b55,0x0001,ucode1080_collision_3c,byte
+0x9b58,0x0001,ucode1080_countdown_3c,byte
+0x9b63,0x0001,ucode1080_countdown_65,byte
+0x9b68,0x0001,ucode4080_x_outside_65,byte
+0x9b6d,0x0001,ucode1080_collision_test_73,byte
+0x9b72,0x0001,ucode1080_collision_test_74,byte
+0x9b77,0x0001,ucode1080_collision_test_75,byte
+0x9b7c,0x0001,ucode1080_collision_test_71,byte
+0x9b8c,0x0001,ucode1080_collision_test_11,byte
+0x9b91,0x0001,ucode1080_collision_11,byte
+0x9b9e,0x0001,ucode1080_countdown_11,byte
+0x9bbb,0x0001,ucode6080_test_fire_state_f2_68,byte
+0x9bbe,0x0001,ucode6080_fire_state_f2_68,byte
+0x9bc1,0x0001,ucode6080_test_fire_state_f3_63,byte
+0x9bc4,0x0001,ucode6080_fire_state_f3_63,byte
+0x9bc9,0x0001,ucode1080_countdown_78,byte
+0x9bd2,0x0001,ucode1080_countdown_79,byte
+0x9bdb,0x0001,ucode6080_fire_state_f3_7a,byte
+0x9be4,0x0001,ucode1080_countdown_7b,byte
+0x9bed,0x0001,ucode4080_y_outside_76,byte
+0x9bf2,0x0001,ucode1080_collision_4d,byte
+0x9c09,0x0001,ucode4080_x_outside_76,byte
+0x9c0c,0x0001,ucode1080_animate_shape_49,byte
+0x9c14,0x0001,ucode4080_x_outside_49,byte
+0x9c2d,0x0001,ucode1080_animate_shape_4a,byte
+0x9c35,0x0001,ucode4080_x_outside_4a,byte
+0x9c4e,0x0001,ucode1080_animate_shape_4b,byte
+0x9c56,0x0001,ucode4080_x_outside_4b,byte
+0x9c6f,0x0001,ucode1080_animate_shape_4c,byte
+0x9c77,0x0001,ucode4080_x_outside_4c,byte
+0x9c90,0x0001,ucode1080_collision_49,byte
+0x9cad,0x0001,ucode1080_collision_4a,byte
+0x9cca,0x0001,ucode1080_collision_4b,byte
+0x9ce7,0x0001,ucode1080_collision_4c,byte
+0x9d04,0x0001,ucode6080_fire_state_f1_7e,byte
+0x9d1d,0x0001,ucode6080_fire_state_f3_7e,byte
+0x9d26,0x0001,ucode0010_init_or_zero_02,byte
+0x9d3b,0x0001,ucode0010_init_or_zero_03,byte
+0x9d50,0x0001,ucode1080_countdown_62,byte
+0x9d55,0x0001,ucode0010_init_or_zero_0c,byte
+0x9d64,0x0001,ucode4080_x_outside_64,byte
+0x9d6d,0x0001,ucode6080_test_fire_state_f2_63,byte
+0x9d70,0x0001,ucode6080_fire_state_f1_7a,byte
+0x9d77,0x0001,ucode6080_fire_state_f1_7c,byte
+0x9d7e,0x0001,ucode6080_fire_state_f3_7c,byte
+0x9d87,0x0001,ucode6080_fire_state_f2_63,byte
+0x9da0,0x0001,ucode6080_fire_state_f2_7c,byte
+0x9da9,0x0001,ucode1080_collision_7c,byte
+0x9dbc,0x0001,ucode4080_y_outside_7c,byte
+0x9dc1,0x0001,ucode4080_x_outside_7c,byte
+0x9dc4,0x0001,ucode0010_init_or_zero_01,byte
+0x9dd9,0x0001,ucode1080_countdown_63,byte
+0x9dde,0x0001,ucode1080_collision_test_2c,byte
+0x9de0,0x0001,ucode1080_collision_2c,byte
 0x9ded,0x0001,recrack_loader,byte
 0xa800,0x0001,x_table_times2_div7_plus_5b,byte
 0xa900,0x0001,x_table_times2_mod7_minus_03,byte
@@ -1154,7 +1154,7 @@ items
 0xae10,0x0070,object1080_y0,byte
 0xae80,0x0070,object1080_y1,byte
 # current state of object
-# often a value 0xf0..0xf3 to identify relevant section in microcode table,
+# often a value 0xf0..0xf3 to identify relevant section in ucode table,
 # but I think it has other purposes too (bit 7 may mean object is active?)
 0xaef0,0x0070,object1080_start_sentinel,byte
 0xaf60,0x0070,object1080_velocity_x_hi,byte
@@ -1174,23 +1174,23 @@ items
 0xb480,0x0030,object5080_abs_difference_b480,byte
 0xb4b0,0x0030,object5080_abs_difference_b4b0,byte
 0xb4e0,0x0020,object6080_fire_count,byte
-# used from execute_microcode6080_fire_state_f0
+# used from execute_ucode6080_fire_state_f0
 0xb500,0x0020,object6080_b500,byte
-# used from execute_microcode6080_fire_state_f1
+# used from execute_ucode6080_fire_state_f1
 0xb520,0x0020,object6080_b520,byte
-# used from execute_microcode6080_fire_state_f2
+# used from execute_ucode6080_fire_state_f2
 0xb540,0x0020,object6080_b540,byte
-# used from execute_microcode6080_fire_state_f3
+# used from execute_ucode6080_fire_state_f3
 0xb560,0x0020,object6080_b560,byte
-0xc000,0x0001,hw_kbd,byte
-0xc010,0x0001,hw_kbdstrb,byte
-0xc030,0x0001,hw_spkr,byte
-0xc050,0x0001,hw_txtclr,byte
-0xc052,0x0001,hw_mixclr,byte
-0xc054,0x0001,hw_page1,byte
-0xc057,0x0001,hw_hires,byte
-0xc061,0x0001,hw_pb0,byte
-0xc062,0x0001,hw_pb1,byte
-0xc065,0x0001,hw_paddl1,byte
-0xc070,0x0001,hw_ptrig,byte
-0xfb1e,0x0001,rom_pread,code
+0xc000,0x0001,HW_KBD,byte
+0xc010,0x0001,HW_KBDSTRB,byte
+0xc030,0x0001,HW_SPKR,byte
+0xc050,0x0001,HW_TXTCLR,byte
+0xc052,0x0001,HW_MIXCLR,byte
+0xc054,0x0001,HW_PAGE1,byte
+0xc057,0x0001,HW_HIRES,byte
+0xc061,0x0001,HW_PB0,byte
+0xc062,0x0001,HW_PB1,byte
+0xc065,0x0001,HW_PADDL1,byte
+0xc070,0x0001,HW_PTRIG,byte
+0xfb1e,0x0001,ROM_PREAD,code
index af0efe4..cb52164 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# process the microcode tables, numbering the entries
+# process the ucode tables, numbering the entries
 
 import sys
 
@@ -10,8 +10,8 @@ for line in sys.stdin:
     label = fields[0]
     assert label[-1:] == ':'
     label = label[:-1]
-    assert label[:9] == 'microcode'
-    count = int(label[9:11], 16)
+    assert label[:5] == 'ucode'
+    count = int(label[5:7], 16)
   else:
     assert fields[0] == '.dw'
     target = fields[1]
index 5b86e65..c4d6d4a 100755 (executable)
@@ -2,7 +2,7 @@
 
 import sys
 
-# process the microcode data, extracting possible shapes for each object
+# process the ucode data, extracting possible shapes for each object
 
 shapes = {
   0x00: 'pixel0',
@@ -156,7 +156,7 @@ for line in sys.stdin:
     assert fields[0] == '.db'
     assert fields[1][:2] == '0x'
     value = int(fields[1][2:], 16)
-    if label[:-2] == 'microcode1080_animate_shape_':
+    if label[:-2] == 'ucode1080_animate_shape_':
       object = int(label[-2:], 16)
       if object not in objects:
         objects[object] = set()
index 63764be..8c5839c 100644 (file)
 #define INSTRS_PER_UPDATE 1500
 
 #define IO_PAGE 0xc000
-#define IO_KBD 0xc000 // R last key pressed + 128
-#define IO_CLR80COL 0xc000 // W use $C002-C005 for aux mem (80STOREOFF)
-#define IO_SET80COL 0xc001 // W use PAGE2 for aux mem (80STOREON)
-#define IO_RDMAINRAM 0xc002 // W if 80STORE off: read main mem $0200-BFFF
-#define IO_RDCARDRAM 0xc003 // W if 80STORE off: read aux mem $0200-BFFF
-#define IO_WRMAINRAM 0xc004 // W if 80STORE off: write main mem $0200-BFFF
-#define IO_WRCARDRAM 0xc005 // W if 80STORE off: write aux mem $0200-BFFF
-#define IO_SETSLOTCXROM 0xc006 // W use peripheral ROM ($C100-CFFF)
-#define IO_SETINTCXROM 0xc007 // W use internal ROM ($C100-CFFF)
-#define IO_SETSTDZP 0xc008 // W use main stack and zero page
-#define IO_SETALTZP 0xc009 // W use aux stack and zero page
-#define IO_SETINTC3ROM 0xc00a // W use internal slot 3 ROM
-#define IO_SETSLOTC3ROM 0xc00b // W use external slot 3 ROM
-#define IO_CLR80VID 0xc00c // W disable 80-column display mode
-#define IO_SET80VID 0xc00d // W enable 80-column display mode
-#define IO_CLRALTCHAR 0xc00e // W use primary char set
-#define IO_SETALTCHAR 0xc00f // W use alternate char set
-#define IO_KBDSTRB 0xc010 // RW keyboard strobe
-#define IO_RDLCBNK2 0xc011 // R bit 7: reading from LC bank 2 ($Dx)?
-#define IO_RDLCRAM 0xc012 // R bit 7: reading from LC RAM?
-#define IO_RDRAMRD 0xc013 // R bit 7: reading from aux/alt 48K?
-#define IO_RDRAMWRT 0xc014 // R bit 7: writing to aux/alt 48K?
-#define IO_RD80COL 0xc018 // R bit 7: 80STORE is on?
-#define IO_RDTEXT 0xc01a // R bit 7: using text mode?
-#define IO_RDPAGE2 0xc01c // R bit 7: using page 2?
-#define IO_RD80VID 0xc01f // R bit 7: using 80 columns?
-#define IO_SPKR 0xc030 // RW toggle speaker
-#define IO_TXTCLR 0xc050 // RW
-#define IO_TXTSET 0xc051 // RW
-#define IO_MIXCLR 0xc052 // RW
-#define IO_MIXSET 0xc053 // RW
-#define IO_PAGE1 0xc054 // RW display page 1
-#define IO_PAGE2 0xc055 // RW display page 2 (or read/write aux mem)
-#define IO_LORES 0xc056 // RW
-#define IO_HIRES 0xc057 // RW
-#define IO_SETAN0 0xc058 // RW annunciator 0 off
-#define IO_CLRAN0 0xc059 // RW annunciator 0 on
-#define IO_SETAN1 0xc05a // RW annunciator 1 off
-#define IO_CLRAN1 0xc05b // RW annunciator 1 on
-#define IO_SETAN2 0xc05c // RW annunciator 2 off
-#define IO_CLRAN2 0xc05d // RW annunciator 2 on
-#define IO_SETAN3 0xc05e // RW annunciator 2 off
-#define IO_CLRAN3 0xc05f // RW annunciator 3 on
-#define IO_PB0 0xc061 // R switch input 0 / open-apple (orig: BUTN0)
-#define IO_PB1 0xc062 // R switch input 1 / closed-apple (orig: BUTN1)
-#define IO_PADDL0 0xc064
-#define IO_PADDL1 0xc065
-#define IO_PTRIG 0xc070
-#define IO_LC_BANK2_RAM_WP 0xc080 // RW
-#define IO_LC_BANK2_ROM_WE 0xc081 // RWx2
-#define IO_LC_BANK2_ROM_WP 0xc082 // RW
-#define IO_LC_BANK2_RAM_WE 0xc083 // RWx2
-#define IO_LC_BANK1_RAM_WP 0xc084 // RW
-#define IO_LC_BANK1_ROM_WE 0xc085 // RWx2
-#define IO_LC_BANK1_ROM_WP 0xc086 // RW
-#define IO_LC_BANK1_RAM_WE 0xc087 // RWx2
-#define IO_CLRROM 0xcfff // disable slot C8 ROM
+#define HW_KBD 0xc000 // R last key pressed + 128
+#define HW_CLR80COL 0xc000 // W use $C002-C005 for aux mem (80STOREOFF)
+#define HW_SET80COL 0xc001 // W use PAGE2 for aux mem (80STOREON)
+#define HW_RDMAINRAM 0xc002 // W if 80STORE off: read main mem $0200-BFFF
+#define HW_RDCARDRAM 0xc003 // W if 80STORE off: read aux mem $0200-BFFF
+#define HW_WRMAINRAM 0xc004 // W if 80STORE off: write main mem $0200-BFFF
+#define HW_WRCARDRAM 0xc005 // W if 80STORE off: write aux mem $0200-BFFF
+#define HW_SETSLOTCXROM 0xc006 // W use peripheral ROM ($C100-CFFF)
+#define HW_SETINTCXROM 0xc007 // W use internal ROM ($C100-CFFF)
+#define HW_SETSTDZP 0xc008 // W use main stack and zero page
+#define HW_SETALTZP 0xc009 // W use aux stack and zero page
+#define HW_SETINTC3ROM 0xc00a // W use internal slot 3 ROM
+#define HW_SETSLOTC3ROM 0xc00b // W use external slot 3 ROM
+#define HW_CLR80VID 0xc00c // W disable 80-column display mode
+#define HW_SET80VID 0xc00d // W enable 80-column display mode
+#define HW_CLRALTCHAR 0xc00e // W use primary char set
+#define HW_SETALTCHAR 0xc00f // W use alternate char set
+#define HW_KBDSTRB 0xc010 // RW keyboard strobe
+#define HW_RDLCBNK2 0xc011 // R bit 7: reading from LC bank 2 ($Dx)?
+#define HW_RDLCRAM 0xc012 // R bit 7: reading from LC RAM?
+#define HW_RDRAMRD 0xc013 // R bit 7: reading from aux/alt 48K?
+#define HW_RDRAMWRT 0xc014 // R bit 7: writing to aux/alt 48K?
+#define HW_RD80COL 0xc018 // R bit 7: 80STORE is on?
+#define HW_RDTEXT 0xc01a // R bit 7: using text mode?
+#define HW_RDPAGE2 0xc01c // R bit 7: using page 2?
+#define HW_RD80VID 0xc01f // R bit 7: using 80 columns?
+#define HW_SPKR 0xc030 // RW toggle speaker
+#define HW_TXTCLR 0xc050 // RW
+#define HW_TXTSET 0xc051 // RW
+#define HW_MIXCLR 0xc052 // RW
+#define HW_MIXSET 0xc053 // RW
+#define HW_PAGE1 0xc054 // RW display page 1
+#define HW_PAGE2 0xc055 // RW display page 2 (or read/write aux mem)
+#define HW_LORES 0xc056 // RW
+#define HW_HIRES 0xc057 // RW
+#define HW_SETAN0 0xc058 // RW annunciator 0 off
+#define HW_CLRAN0 0xc059 // RW annunciator 0 on
+#define HW_SETAN1 0xc05a // RW annunciator 1 off
+#define HW_CLRAN1 0xc05b // RW annunciator 1 on
+#define HW_SETAN2 0xc05c // RW annunciator 2 off
+#define HW_CLRAN2 0xc05d // RW annunciator 2 on
+#define HW_SETAN3 0xc05e // RW annunciator 2 off
+#define HW_CLRAN3 0xc05f // RW annunciator 3 on
+#define HW_PB0 0xc061 // R switch input 0 / open-apple (orig: BUTN0)
+#define HW_PB1 0xc062 // R switch input 1 / closed-apple (orig: BUTN1)
+#define HW_PADDL0 0xc064
+#define HW_PADDL1 0xc065
+#define HW_PTRIG 0xc070
+#define HW_LC_BANK2_RAM_WP 0xc080 // RW
+#define HW_LC_BANK2_ROM_WE 0xc081 // RWx2
+#define HW_LC_BANK2_ROM_WP 0xc082 // RW
+#define HW_LC_BANK2_RAM_WE 0xc083 // RWx2
+#define HW_LC_BANK1_RAM_WP 0xc084 // RW
+#define HW_LC_BANK1_ROM_WE 0xc085 // RWx2
+#define HW_LC_BANK1_ROM_WP 0xc086 // RW
+#define HW_LC_BANK1_RAM_WE 0xc087 // RWx2
+#define HW_CLRROM 0xcfff // disable slot C8 ROM
 
 #define STDIN_DATA 0xc0f0
 #define STDOUT_DATA 0xc0f1
@@ -764,66 +764,66 @@ uint8_t mem_read(uint16_t addr0, bool isDbg) {
   }
 
   switch (addr) {
-  case IO_KBD:
+  case HW_KBD:
     return key_waiting;
-  case IO_KBDSTRB:
+  case HW_KBDSTRB:
     key_waiting &= 0x7f;
     break;
 #if APPLE_IIE
-  case IO_RDLCBNK2:
+  case HW_RDLCBNK2:
     return ((lc_state & LC_BANK) != LC_BANK1) << 7;
-  case IO_RDLCRAM:
+  case HW_RDLCRAM:
     return (
       (lc_state & LC_SELECT) != LC_SELECT_ROM_WE &&
         (lc_state & LC_SELECT) != LC_SELECT_ROM_WP
     ) << 7;
-  case IO_RDRAMRD:
+  case HW_RDRAMRD:
     return ((c00x_soft_switches & C00X_SOFT_SWITCH_RDCARDRAM) != 0) << 7;
-  case IO_RDRAMWRT:
+  case HW_RDRAMWRT:
     return ((c00x_soft_switches & C00X_SOFT_SWITCH_WRCARDRAM) != 0) << 7;
-  case IO_RD80COL:
+  case HW_RD80COL:
     return ((c00x_soft_switches & C00X_SOFT_SWITCH_80COL) != 0) << 7;
-  case IO_RDTEXT:
+  case HW_RDTEXT:
     return ((c05x_soft_switches & C05X_SOFT_SWITCH_TEXT) != 0) << 7;
-  case IO_RDPAGE2:
+  case HW_RDPAGE2:
     return (
       (c05x_soft_switches & C05X_SOFT_SWITCH_PAGE2) &&
         (c00x_soft_switches & C00X_SOFT_SWITCH_80COL) == 0
     ) << 7;
-  case IO_RD80VID:
+  case HW_RD80VID:
     return ((c00x_soft_switches & C00X_SOFT_SWITCH_80VID) != 0) << 7;
 #endif
-  case IO_TXTCLR: // 0xc050
-  case IO_MIXCLR: // 0xc052
-  case IO_PAGE1: // 0xc054
-  case IO_LORES: // 0xc056
-  case IO_SETAN0: // 0xc058
-  case IO_SETAN1: // 0xc05a
-  case IO_SETAN2: // 0xc05c
-  case IO_SETAN3: // 0xc05e
+  case HW_TXTCLR: // 0xc050
+  case HW_MIXCLR: // 0xc052
+  case HW_PAGE1: // 0xc054
+  case HW_LORES: // 0xc056
+  case HW_SETAN0: // 0xc058
+  case HW_SETAN1: // 0xc05a
+  case HW_SETAN2: // 0xc05c
+  case HW_SETAN3: // 0xc05e
     c05x_soft_switches &= ~(1 << ((addr >> 1) & 7));
     break;
-  case IO_TXTSET : // 0xc051
-  case IO_MIXSET : // 0xc053
-  case IO_PAGE2 : // 0xc055
-  case IO_HIRES : // 0xc057
-  case IO_CLRAN0 : // 0xc059
-  case IO_CLRAN1 : // 0xc05b
-  case IO_CLRAN2 : // 0xc05d
-  case IO_CLRAN3 : // 0xc05f
+  case HW_TXTSET : // 0xc051
+  case HW_MIXSET : // 0xc053
+  case HW_PAGE2 : // 0xc055
+  case HW_HIRES : // 0xc057
+  case HW_CLRAN0 : // 0xc059
+  case HW_CLRAN1 : // 0xc05b
+  case HW_CLRAN2 : // 0xc05d
+  case HW_CLRAN3 : // 0xc05f
     c05x_soft_switches |= 1 << ((addr >> 1) & 7);
     break;
-  case IO_PB0:
-  case IO_PB1:
+  case HW_PB0:
+  case HW_PB1:
     return 0; // needed for proper boot with IIe ROM
-  case IO_LC_BANK2_RAM_WP: // 0xc080
-  case IO_LC_BANK2_ROM_WE: // 0xc081
-  case IO_LC_BANK2_ROM_WP: // 0xc082
-  case IO_LC_BANK2_RAM_WE: // 0xc083
-  case IO_LC_BANK1_RAM_WP: // 0xc084
-  case IO_LC_BANK1_ROM_WE: // 0xc085
-  case IO_LC_BANK1_ROM_WP: // 0xc086
-  case IO_LC_BANK1_RAM_WE: // 0xc087
+  case HW_LC_BANK2_RAM_WP: // 0xc080
+  case HW_LC_BANK2_ROM_WE: // 0xc081
+  case HW_LC_BANK2_ROM_WP: // 0xc082
+  case HW_LC_BANK2_RAM_WE: // 0xc083
+  case HW_LC_BANK1_RAM_WP: // 0xc084
+  case HW_LC_BANK1_ROM_WE: // 0xc085
+  case HW_LC_BANK1_ROM_WP: // 0xc086
+  case HW_LC_BANK1_RAM_WE: // 0xc087
     lc_state = addr & 7; // should check RWx2 for write enable
     break;
   case STDIN_DATA:
@@ -986,63 +986,63 @@ void mem_write(uint16_t addr0, uint8_t val) {
   }
 
   switch (addr) {
-  case IO_KBDSTRB:
+  case HW_KBDSTRB:
     key_waiting &= 0x7f;
     break;
 #if APPLE_IIE
-  case IO_CLR80COL: // 0xc000
+  case HW_CLR80COL: // 0xc000
     c05x_soft_switches &= ~C05X_SOFT_SWITCH_PAGE2;
     // fallthru
-  case IO_RDMAINRAM: // 0xc002
-  case IO_WRMAINRAM: // 0xc004
-  case IO_SETSLOTCXROM: // 0xc006
-  case IO_SETSTDZP: // 0xc008
-  case IO_SETINTC3ROM: // 0xc00a
-  case IO_CLR80VID: // 0xc00c
-  case IO_CLRALTCHAR: // 0xc00e
+  case HW_RDMAINRAM: // 0xc002
+  case HW_WRMAINRAM: // 0xc004
+  case HW_SETSLOTCXROM: // 0xc006
+  case HW_SETSTDZP: // 0xc008
+  case HW_SETINTC3ROM: // 0xc00a
+  case HW_CLR80VID: // 0xc00c
+  case HW_CLRALTCHAR: // 0xc00e
     c00x_soft_switches &= ~(1 << ((addr >> 1) & 7));
     break;
-  case IO_SET80COL: // 0xc001
+  case HW_SET80COL: // 0xc001
     c05x_soft_switches &= ~C05X_SOFT_SWITCH_PAGE2;
     // fallthru
-  case IO_RDCARDRAM: // 0xc003
-  case IO_WRCARDRAM: // 0xc005
-  case IO_SETINTCXROM: // 0xc007
-  case IO_SETALTZP: // 0xc009
-  case IO_SETSLOTC3ROM: // 0xc00b
-  case IO_SET80VID: // 0xc00d
-  case IO_SETALTCHAR: // 0xc00f
+  case HW_RDCARDRAM: // 0xc003
+  case HW_WRCARDRAM: // 0xc005
+  case HW_SETINTCXROM: // 0xc007
+  case HW_SETALTZP: // 0xc009
+  case HW_SETSLOTC3ROM: // 0xc00b
+  case HW_SET80VID: // 0xc00d
+  case HW_SETALTCHAR: // 0xc00f
     c00x_soft_switches |= 1 << ((addr >> 1) & 7);
     break;
 #endif
-  case IO_TXTCLR: // 0xc050
-  case IO_MIXCLR: // 0xc052
-  case IO_PAGE1: // 0xc054
-  case IO_LORES: // 0xc056
-  case IO_SETAN0: // 0xc058
-  case IO_SETAN1: // 0xc05a
-  case IO_SETAN2: // 0xc05c
-  case IO_SETAN3: // 0xc05e
+  case HW_TXTCLR: // 0xc050
+  case HW_MIXCLR: // 0xc052
+  case HW_PAGE1: // 0xc054
+  case HW_LORES: // 0xc056
+  case HW_SETAN0: // 0xc058
+  case HW_SETAN1: // 0xc05a
+  case HW_SETAN2: // 0xc05c
+  case HW_SETAN3: // 0xc05e
     c05x_soft_switches &= ~(1 << ((addr >> 1) & 7));
     break;
-  case IO_TXTSET : // 0xc051
-  case IO_MIXSET : // 0xc053
-  case IO_PAGE2 : // 0xc055
-  case IO_HIRES : // 0xc057
-  case IO_CLRAN0 : // 0xc059
-  case IO_CLRAN1 : // 0xc05b
-  case IO_CLRAN2 : // 0xc05d
-  case IO_CLRAN3 : // 0xc05f
+  case HW_TXTSET : // 0xc051
+  case HW_MIXSET : // 0xc053
+  case HW_PAGE2 : // 0xc055
+  case HW_HIRES : // 0xc057
+  case HW_CLRAN0 : // 0xc059
+  case HW_CLRAN1 : // 0xc05b
+  case HW_CLRAN2 : // 0xc05d
+  case HW_CLRAN3 : // 0xc05f
     c05x_soft_switches |= 1 << ((addr >> 1) & 7);
     break;
-  case IO_LC_BANK2_RAM_WP: // 0xc080
-  case IO_LC_BANK2_ROM_WE: // 0xc081
-  case IO_LC_BANK2_ROM_WP: // 0xc082
-  case IO_LC_BANK2_RAM_WE: // 0xc083
-  case IO_LC_BANK1_RAM_WP: // 0xc084
-  case IO_LC_BANK1_ROM_WE: // 0xc085
-  case IO_LC_BANK1_ROM_WP: // 0xc086
-  case IO_LC_BANK1_RAM_WE: // 0xc087
+  case HW_LC_BANK2_RAM_WP: // 0xc080
+  case HW_LC_BANK2_ROM_WE: // 0xc081
+  case HW_LC_BANK2_ROM_WP: // 0xc082
+  case HW_LC_BANK2_RAM_WE: // 0xc083
+  case HW_LC_BANK1_RAM_WP: // 0xc084
+  case HW_LC_BANK1_ROM_WE: // 0xc085
+  case HW_LC_BANK1_ROM_WP: // 0xc086
+  case HW_LC_BANK1_RAM_WE: // 0xc087
     lc_state = addr & 7; // should check RWx2 for write enable
     break;
   case STDOUT_DATA:
index 20b3c76..6db2373 100644 (file)
@@ -1,14 +1,14 @@
 ; with AUX_MEM set we can decompress into aux memory, but we need
-; some help from caller: caller must "sta hw_wrcardram" before the
-; call, and also patch the first "sta hw_rdmainram" in the below
-; code to "sta hw_rdcardram" (needed for copying previous output)
+; some help from caller: caller must "sta HW_WRCARDRAM" before the
+; call, and also patch the first "sta HW_RDMAINRAM" in the below
+; code to "sta HW_RDCARDRAM" (needed for copying previous output)
 AUX_MEM = 0
 
 ; write
-hw_rdmainram = 0xc002
-hw_rdcardram = 0xc003
-hw_wrmainram = 0xc004
-hw_wrcardram = 0xc005
+HW_RDMAINRAM = 0xc002
+HW_RDCARDRAM = 0xc003
+HW_WRMAINRAM = 0xc004
+HW_WRCARDRAM = 0xc005
 
        .r65c02
 
@@ -177,7 +177,7 @@ pointer: ; dist 0 based, a + cf = len 0 based, source needs increment
        tay
 
 .if AUX_MEM
-       sta     hw_rdmainram ; patch this to wrcardram as required
+       sta     HW_RDMAINRAM ; patch this to wrcardram as required
 .endif
 
        ; copy previous data
@@ -188,7 +188,7 @@ pointer: ; dist 0 based, a + cf = len 0 based, source needs increment
 
        ; dest += 0x100, src += 1, process LZSS item
 .if AUX_MEM
-       sta     hw_rdmainram
+       sta     HW_RDMAINRAM
        jmp     loop0 ; beq will not reach in this case
 .else
        beq     loop0
index 770621e..72b53c7 100644 (file)
@@ -1,14 +1,14 @@
 ; with AUX_MEM set we can decompress into aux memory, but we need
-; some help from caller: caller must "sta hw_wrcardram" before the
-; call, and also patch the first "sta hw_rdmainram" in the below
-; code to "sta hw_rdcardram" (needed for copying previous output)
+; some help from caller: caller must "sta HW_WRCARDRAM" before the
+; call, and also patch the first "sta HW_RDMAINRAM" in the below
+; code to "sta HW_RDCARDRAM" (needed for copying previous output)
 AUX_MEM = 0
 
 ; write
-hw_rdmainram = 0xc002
-hw_rdcardram = 0xc003
-hw_wrmainram = 0xc004
-hw_wrcardram = 0xc005
+HW_RDMAINRAM = 0xc002
+HW_RDCARDRAM = 0xc003
+HW_WRMAINRAM = 0xc004
+HW_WRCARDRAM = 0xc005
 
        .r65c02
 
@@ -172,7 +172,7 @@ pointer: ; dist 0 based, a + cf = len 0 based, source needs decrement
        sta     dist + 1
 
 .if AUX_MEM
-       sta     hw_rdcardram ; patch this to wrmainram as required
+       sta     HW_RDCARDRAM ; patch this to wrmainram as required
 .endif
 
        ; copy previous data
@@ -183,7 +183,7 @@ pointer: ; dist 0 based, a + cf = len 0 based, source needs decrement
 
        ; src += 1, process LZSS item
 .if AUX_MEM
-       sta     hw_rdmainram
+       sta     HW_RDMAINRAM
        jmp     loop0 ; beq will not reach in this case
 .else
        beq     loop0
index 5cdf536..3d82a41 100644 (file)
@@ -1,69 +1,69 @@
 ; display DHGR image by copying hires screen 0 to aux of hires screen 1
 
-hires_screen0 = 0x2000
-hires_screen1 = 0x4000
-hires_screen_size = 0x2000
+HIRES_SCREEN0 = 0x2000
+HIRES_SCREEN1 = 0x4000
+HIRES_SCREEN_SIZE = 0x2000
 
-rom_a1 = 0x3c ; source addr
-rom_a2 = 0x3e ; source end (inclusive)
-rom_a4 = 0x42 ; dest addr
-rom_auxmove = 0xc311 ; cf=0 aux->main, cf=1 main->aux
+ROM_A1 = 0x3c ; source addr
+ROM_A2 = 0x3e ; source end (inclusive)
+ROM_A4 = 0x42 ; dest addr
+ROM_AUXMOVE = 0xc311 ; cf=0 aux->main, cf=1 main->aux
 
 ; read these
-hw_kbd = 0xc000
-hw_clrtext = 0xc050
-hw_settext = 0xc051
-hw_clrmixed = 0xc052
-hw_setmixed = 0xc053
-hw_page1 = 0xc054
-hw_page2 = 0xc055
-hw_clrhires = 0xc056
-hw_sethires = 0xc057
-hw_setdhires = 0xc05e
-hw_setioudis = 0xc07e
-hw_clrioudis = 0xc07f
+HW_KBD = 0xc000
+HW_CLRTEXT = 0xc050
+HW_SETTEXT = 0xc051
+HW_CLRMIXED = 0xc052
+HW_SETMIXED = 0xc053
+HW_PAGE1 = 0xc054
+HW_PAGE2 = 0xc055
+HW_CLRHIRES = 0xc056
+HW_SETHIRES = 0xc057
+HW_SETDHIRES = 0xc05e
+HW_SETIOUDIS = 0xc07e
+HW_CLRIOUDIS = 0xc07f
 
 ; write these
-hw_clr80store = 0xc000
-hw_set80store = 0xc001
-hw_clr80vid = 0xc00c
-hw_set80vid = 0xc00d
-hw_kbdstrb = 0xc010
+HW_CLR80STORE = 0xc000
+HW_SET80STORE = 0xc001
+HW_CLR80VID = 0xc00c
+HW_SET80VID = 0xc00d
+HW_KBDSTRB = 0xc010
 
        .area   text
 
-       lda     #<hires_screen0
-       sta     rom_a1
-       sta     rom_a4
-       lda     #>hires_screen0
-       sta     rom_a1 + 1
-       lda     #>hires_screen1
-       sta     rom_a4 + 1
-       lda     #<(hires_screen0 + hires_screen_size - 1)
-       sta     rom_a2
-       lda     #>(hires_screen0 + hires_screen_size - 1)
-       sta     rom_a2 + 1
+       lda     #<HIRES_SCREEN0
+       sta     ROM_A1
+       sta     ROM_A4
+       lda     #>HIRES_SCREEN0
+       sta     ROM_A1 + 1
+       lda     #>HIRES_SCREEN1
+       sta     ROM_A4 + 1
+       lda     #<(HIRES_SCREEN0 + HIRES_SCREEN_SIZE - 1)
+       sta     ROM_A2
+       lda     #>(HIRES_SCREEN0 + HIRES_SCREEN_SIZE - 1)
+       sta     ROM_A2 + 1
        sec
-       jsr     rom_auxmove
+       jsr     ROM_AUXMOVE
 
-       sta     hw_clr80store
-       lda     hw_clrioudis
+       sta     HW_CLR80STORE
+       lda     HW_CLRIOUDIS
 
-       lda     hw_sethires
-       lda     hw_clrtext
-       lda     hw_setdhires
-       lda     hw_clrmixed
-       lda     hw_page2
-       sta     hw_set80vid
+       lda     HW_SETHIRES
+       lda     HW_CLRTEXT
+       lda     HW_SETDHIRES
+       lda     HW_CLRMIXED
+       lda     HW_PAGE2
+       sta     HW_SET80VID
 
-1$:    lda     hw_kbd
+1$:    lda     HW_KBD
        bpl     1$
-       sta     hw_kbdstrb
+       sta     HW_KBDSTRB
 
-       sta     hw_clr80vid
-       lda     hw_page1
-       lda     hw_settext
-       lda     hw_clrhires
+       sta     HW_CLR80VID
+       lda     HW_PAGE1
+       lda     HW_SETTEXT
+       lda     HW_CLRHIRES
 
-       lda     hw_setioudis
+       lda     HW_SETIOUDIS
        rts
index e352d5a..9da4a62 100644 (file)
@@ -1,36 +1,36 @@
 ; read
-hw_kbd = 0xc000
+HW_KBD = 0xc000
 
 ; write
-hw_clr80col = 0xc000
-hw_set80col = 0xc001
-hw_clr80vid = 0xc00c
-hw_set80vid = 0xc00d
-hw_kbdstrb = 0xc010
+HW_CLR80COL = 0xc000
+HW_SET80COL = 0xc001
+HW_CLR80VID = 0xc00c
+HW_SET80VID = 0xc00d
+HW_KBDSTRB = 0xc010
 
 ; read/write
-hw_clrtext = 0xc050
-hw_settext = 0xc051
-hw_clrmixed = 0xc052
-hw_setmixed = 0xc053
-hw_page1 = 0xc054
-hw_page2 = 0xc055
-hw_clrhires = 0xc056
-hw_sethires = 0xc057
-hw_setdhires = 0xc05e
-hw_setioudis = 0xc07e
-hw_clrioudis = 0xc07f
+HW_CLRTEXT = 0xc050
+HW_SETTEXT = 0xc051
+HW_CLRMIXED = 0xc052
+HW_SETMIXED = 0xc053
+HW_PAGE1 = 0xc054
+HW_PAGE2 = 0xc055
+HW_CLRHIRES = 0xc056
+HW_SETHIRES = 0xc057
+HW_SETDHIRES = 0xc05e
+HW_SETIOUDIS = 0xc07e
+HW_CLRIOUDIS = 0xc07f
 
        .area   text
 
-       sta     hw_clr80col
-       lda     hw_clrioudis
+       sta     HW_CLR80COL
+       lda     HW_CLRIOUDIS
 
-       lda     hw_sethires
-       lda     hw_clrtext
-       lda     hw_setdhires
-       lda     hw_clrmixed
-       lda     hw_page1
-       sta     hw_set80vid
+       lda     HW_SETHIRES
+       lda     HW_CLRTEXT
+       lda     HW_SETDHIRES
+       lda     HW_CLRMIXED
+       lda     HW_PAGE1
+       sta     HW_SET80VID
 
        jmp     .