C64 ROM | Routines |
Prev: E043 | Up: Map | Next: E08D |
Used by the routine at E000.
|
||||
E059 | 85 71 | STA $71 | save count pointer low byte | |
E05B | 84 72 | STY $72 | save count pointer high byte | |
This entry point is used by the routine at E043.
|
||||
E05D | 20 C7 BB | JSR $BBC7 | pack FAC1 into $5C | |
E060 | B1 71 | LDA ($71),Y | get constants count | |
E062 | 85 67 | STA $67 | save constants count | |
E064 | A4 71 | LDY $71 | get count pointer low byte | |
E066 | C8 | INY | increment it (now constants pointer) | |
E067 | 98 | TYA | copy it | |
E068 | D0 02 | BNE $E06C | skip next if no overflow | |
E06A | E6 72 | INC $72 | else increment high byte | |
E06C | 85 71 | STA $71 | save low byte | |
E06E | A4 72 | LDY $72 | get high byte | |
E070 | 20 28 BA | JSR $BA28 | do convert AY, FCA1*(AY) | |
E073 | A5 71 | LDA $71 | get constants pointer low byte | |
E075 | A4 72 | LDY $72 | get constants pointer high byte | |
E077 | 18 | CLC | clear carry for add | |
E078 | 69 05 | ADC #$05 | +5 to low pointer (5 bytes per constant) | |
E07A | 90 01 | BCC $E07D | skip next if no overflow | |
E07C | C8 | INY | increment high byte | |
E07D | 85 71 | STA $71 | save pointer low byte | |
E07F | 84 72 | STY $72 | save pointer high byte | |
E081 | 20 67 B8 | JSR $B867 | add (AY) to FAC1 | |
E084 | A9 5C | LDA #$5C | set pointer low byte to partial | |
E086 | A0 00 | LDY #$00 | set pointer high byte to partial | |
E088 | C6 67 | DEC $67 | decrement constants count | |
E08A | D0 E4 | BNE $E070 | loop until all done | |
E08C | 60 | RTS |
Prev: E043 | Up: Map | Next: E08D |