sd:writing_games_in_assembly_language
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| sd:writing_games_in_assembly_language [2026/05/10 15:39] – appledog | sd:writing_games_in_assembly_language [2026/05/10 16:36] (current) – appledog | ||
|---|---|---|---|
| Line 3286: | Line 3286: | ||
| PUSH B | PUSH B | ||
| - | ; --- Default: | + | ; map tile glyph |
| LDK [@map1_dim] | LDK [@map1_dim] | ||
| MOV Z, Y | MOV Z, Y | ||
| Line 3295: | Line 3295: | ||
| LDAL [ELM] ; AL = map glyph (default return) | LDAL [ELM] ; AL = map glyph (default return) | ||
| - | ; --- Override if any object sits at (X, Y) --- | + | ; Override if any object sits at (X, Y) |
| LDFLD @OBJS_BASE | LDFLD @OBJS_BASE | ||
| get_glyph_obj_loop: | get_glyph_obj_loop: | ||
| LDFLD [FLD] | LDFLD [FLD] | ||
| CMP FLD, @OBJS_BASE | CMP FLD, @OBJS_BASE | ||
| - | JZ @get_glyph_done | + | JZ @get_glyph_done |
| LDI @OBJ_ID | LDI @OBJ_ID | ||
| Line 3316: | Line 3316: | ||
| JNZ @get_glyph_obj_loop | JNZ @get_glyph_obj_loop | ||
| - | ; Match — override AL with the object' | + | ; Match will override AL with the object' |
| LDI @OBJ_VIS | LDI @OBJ_VIS | ||
| LDAL [FLD+I] | LDAL [FLD+I] | ||
| Line 3435: | Line 3435: | ||
| JNZ @move_mon_loop | JNZ @move_mon_loop | ||
| - | ; --- (mx, my) --- | ||
| LDI @OBJ_X | LDI @OBJ_X | ||
| LDXL [ELM+I] | LDXL [ELM+I] | ||
| Line 3469: | Line 3468: | ||
| mm_dy_done: | mm_dy_done: | ||
| - | ; --- Pick axis --- | + | ; Pick axis |
| CMP CL, #0 | CMP CL, #0 | ||
| JNZ @mm_dx_nz | JNZ @mm_dx_nz | ||
| Line 3480: | Line 3479: | ||
| JZ @mm_use_x | JZ @mm_use_x | ||
| - | ; Both non-zero | + | ; Both non-zero |
| LDAH $00 | LDAH $00 | ||
| INT 0x13 | INT 0x13 | ||
sd/writing_games_in_assembly_language.1778427565.txt.gz · Last modified: by appledog
