C64 ROM | Routines |
Prev: E264 | Up: Map | Next: E2B4 |
Used by the routine at E2B4.
|
||||
E26B | 20 0C BC | JSR $BC0C | round and copy FAC1 to FAC2 | |
E26E | A9 E5 | LDA #$E5 | set 2*pi pointer low byte | |
E270 | A0 E2 | LDY #$E2 | set 2*pi pointer high byte | |
E272 | A6 6E | LDX $6E | get FAC2 sign (b7) | |
E274 | 20 07 BB | JSR $BB07 | divide by (AY) (X=sign) | |
E277 | 20 0C BC | JSR $BC0C | round and copy FAC1 to FAC2 | |
E27A | 20 CC BC | JSR $BCCC | perform INT() | |
E27D | A9 00 | LDA #$00 | clear byte | |
E27F | 85 6F | STA $6F | clear sign compare (FAC1 EOR FAC2) | |
E281 | 20 53 B8 | JSR $B853 | perform subtraction, FAC2 from FAC1 | |
E284 | A9 EA | LDA #$EA | set 0.25 pointer low byte | |
E286 | A0 E2 | LDY #$E2 | set 0.25 pointer high byte | |
E288 | 20 50 B8 | JSR $B850 | perform subtraction, FAC1 from (AY) | |
E28B | A5 66 | LDA $66 | get FAC1 sign (b7) | |
E28D | 48 | PHA | save FAC1 sign | |
E28E | 10 0D | BPL $E29D | branch if +ve | |
FAC1 sign was -ve
|
||||
E290 | 20 49 B8 | JSR $B849 | add 0.5 to FAC1 (round FAC1) | |
E293 | A5 66 | LDA $66 | get FAC1 sign (b7) | |
E295 | 30 09 | BMI $E2A0 | branch if -ve | |
E297 | A5 12 | LDA $12 | get the comparison evaluation flag | |
E299 | 49 FF | EOR #$FF | toggle flag | |
E29B | 85 12 | STA $12 | save the comparison evaluation flag | |
This entry point is used by the routine at E2DC.
|
||||
E29D | 20 B4 BF | JSR $BFB4 | do - FAC1 | |
E2A0 | A9 EA | LDA #$EA | set 0.25 pointer low byte | |
E2A2 | A0 E2 | LDY #$E2 | set 0.25 pointer high byte | |
E2A4 | 20 67 B8 | JSR $B867 | add (AY) to FAC1 | |
E2A7 | 68 | PLA | restore FAC1 sign | |
E2A8 | 10 03 | BPL $E2AD | branch if was +ve | |
else correct FAC1
|
||||
E2AA | 20 B4 BF | JSR $BFB4 | do - FAC1 | |
E2AD | A9 EF | LDA #$EF | set pointer low byte to counter | |
E2AF | A0 E2 | LDY #$E2 | set pointer high byte to counter | |
E2B1 | 4C 43 E0 | JMP $E043 | ^2 then series evaluation and return |
Prev: E264 | Up: Map | Next: E2B4 |