1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-27 04:49:27 +00:00

Added some reserved addresses for the BASIC sinus generation.

This commit is contained in:
jespergravgaard 2019-07-31 16:04:21 +02:00
parent f8dfe3743b
commit 832a104c0a
2 changed files with 6 additions and 3 deletions

View File

@ -11,10 +11,10 @@ import java.util.*;
/** /**
* Use the call graph to coalesce zero page registers. * Use the call graph to coalesce zero page registers.
* For all variables: * For each live range equivalence class:
* - Look up through the call graph and avoid all variables declared in the scopes there * - Look up through the call graph and avoid all variables declared in the scopes there
* - Go through the zero pages from low to high and try to coalesce with the lowest possible one. * - Go through already handled live range equivalence classes and if any exist with no scope overlap with the call graph - try to coalesce
* * - Add to the list of already handled live range equivalence classes
*/ */
public class Pass4ZeroPageCoalesceCallGraph extends Pass2Base { public class Pass4ZeroPageCoalesceCallGraph extends Pass2Base {

View File

@ -172,6 +172,9 @@ void gen_chargen_sprite(byte ch, byte* sprite) {
asm { cli } asm { cli }
} }
// Reserve zeropage addresses used by the BASIC FP operations
#reserve(0x07, 0x0d, 0x0e, 0x12)
// Generate a sinus table using BASIC floats // Generate a sinus table using BASIC floats
// - sintab is a pointer to the table to fill // - sintab is a pointer to the table to fill
// - length is the length of the sine table // - length is the length of the sine table