.proc	_draw_weapon_submenu: near

.segment	"CODE"

;
; PPU_ADDRESS = HIGH_BYTE_MENU_ADDR;  
;
	lda     #$23
	sta     $2006
;
; PPU_ADDRESS = submenu_items_addr [0];
;
	lda     _submenu_items_addr
	sta     $2006
;
; p_text = weapons [p_selected_mech->r_arm_weapon_index_].name_;  
;
	lda     _p_selected_mech+1
	sta     ptr1+1
	lda     _p_selected_mech
	sta     ptr1
	ldy     #$06
	lda     (ptr1),y
	jsr     pusha0
	lda     #$0D
	jsr     tosmula0
	clc
	adc     #<(_weapons)
	sta     _p_text
	txa
	adc     #>(_weapons)
	sta     _p_text+1
;
; for (i = 0; i < PART_NAME_SIZE; ++i) {
;
	lda     #$00
	sta     _i
L000C:	lda     _i
	cmp     #$09
	bcs     L000D
;
; PPU_DATA = p_text [i];
;
	lda     _p_text
	ldx     _p_text+1
	ldy     _i
	sta     ptr1
	stx     ptr1+1
	lda     (ptr1),y
	sta     $2007
;
; for (i = 0; i < PART_NAME_SIZE; ++i) {
;
	inc     _i
	jmp     L000C
;
; PPU_ADDRESS = HIGH_BYTE_MENU_ADDR; 
;
L000D:	lda     #$23
	sta     $2006
;
; PPU_ADDRESS = submenu_items_addr [1];
;
	lda     _submenu_items_addr+1
	sta     $2006
;
; p_text = weapons [p_selected_mech->l_arm_weapon_index_].name_;
;
	lda     _p_selected_mech+1
	sta     ptr1+1
	lda     _p_selected_mech
	sta     ptr1
	ldy     #$07
	lda     (ptr1),y
	jsr     pusha0
	lda     #$0D
	jsr     tosmula0
	clc
	adc     #<(_weapons)
	sta     _p_text
	txa
	adc     #>(_weapons)
	sta     _p_text+1
;
; for (i = 0; i < PART_NAME_SIZE; ++i) {
;
	lda     #$00
	sta     _i
L000E:	lda     _i
	cmp     #$09
	bcs     L0007
;
; PPU_DATA = p_text [i];
;
	lda     _p_text
	ldx     _p_text+1
	ldy     _i
	sta     ptr1
	stx     ptr1+1
	lda     (ptr1),y
	sta     $2007
;
; for (i = 0; i < PART_NAME_SIZE; ++i) {
;
	inc     _i
	jmp     L000E
;
; }
;
L0007:	rts

.endproc