From 56a1431db813bf97833c493ed97f08783e916ab7 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Thu, 27 Feb 2020 21:00:35 +0100 Subject: [PATCH] increased floating point multiplication precision --- c64/basic/math/mul_FAC2_FAC1_shift.s | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/c64/basic/math/mul_FAC2_FAC1_shift.s b/c64/basic/math/mul_FAC2_FAC1_shift.s index 2f3c8acf..6aed5169 100644 --- a/c64/basic/math/mul_FAC2_FAC1_shift.s +++ b/c64/basic/math/mul_FAC2_FAC1_shift.s @@ -8,6 +8,16 @@ mul_FAC2_FAC1_shift: + // Check if rounding is needed + + php + clc + lda RESHO+4 + bpl !+ + sec +!: + // Copy bytes + lda RESHO+3 sta RESHO+4 lda RESHO+2 @@ -18,5 +28,19 @@ mul_FAC2_FAC1_shift: sta RESHO+1 lda #$00 sta RESHO+0 + bcc !+ + // Perform rounding + + inc RESHO+4 + bne !+ + inc RESHO+3 + bne !+ + inc RESHO+2 + bne !+ + inc RESHO+1 + bne !+ + inc RESHO+0 +!: + plp rts