mirror of
https://github.com/irmen/prog8.git
synced 2024-11-26 11:49:22 +00:00
test
This commit is contained in:
parent
15695a304e
commit
d23c2eed86
@ -20,7 +20,7 @@ import prog8.compiler.target.c64.C64MachineDefinition.FLOAT_MAX_NEGATIVE
|
|||||||
import prog8.compiler.target.c64.C64MachineDefinition.FLOAT_MAX_POSITIVE
|
import prog8.compiler.target.c64.C64MachineDefinition.FLOAT_MAX_POSITIVE
|
||||||
import prog8.compiler.target.c64.C64MachineDefinition.Mflpt5
|
import prog8.compiler.target.c64.C64MachineDefinition.Mflpt5
|
||||||
import prog8.compiler.target.c64.Petscii
|
import prog8.compiler.target.c64.Petscii
|
||||||
import prog8.compiler.target.cx16.CX16MachineDefinition
|
import prog8.compiler.target.cx16.CX16MachineDefinition.CX16Zeropage
|
||||||
import java.io.CharConversionException
|
import java.io.CharConversionException
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
@ -304,11 +304,30 @@ class TestC64Zeropage {
|
|||||||
class TestCx16Zeropage {
|
class TestCx16Zeropage {
|
||||||
@Test
|
@Test
|
||||||
fun testReservedLocations() {
|
fun testReservedLocations() {
|
||||||
val zp = CX16MachineDefinition.CX16Zeropage(CompilationOptions(OutputType.RAW, LauncherType.NONE, ZeropageType.BASICSAFE, emptyList(), false, false, Cx16Target))
|
val zp = CX16Zeropage(CompilationOptions(OutputType.RAW, LauncherType.NONE, ZeropageType.BASICSAFE, emptyList(), false, false, Cx16Target))
|
||||||
assertEquals(zp.SCRATCH_REG, zp.SCRATCH_B1+1, "zp _B1 and _REG must be next to each other to create a word")
|
assertEquals(zp.SCRATCH_REG, zp.SCRATCH_B1+1, "zp _B1 and _REG must be next to each other to create a word")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO way more tests for the Cx16 zeropage?
|
@Test
|
||||||
|
fun testFreeSpaces() {
|
||||||
|
val zp1 = CX16Zeropage(CompilationOptions(OutputType.RAW, LauncherType.NONE, ZeropageType.BASICSAFE, emptyList(), true, false, Cx16Target))
|
||||||
|
assertEquals(88, zp1.available())
|
||||||
|
val zp3 = CX16Zeropage(CompilationOptions(OutputType.RAW, LauncherType.NONE, ZeropageType.KERNALSAFE, emptyList(), false, false, Cx16Target))
|
||||||
|
assertEquals(175, zp3.available())
|
||||||
|
val zp4 = CX16Zeropage(CompilationOptions(OutputType.RAW, LauncherType.NONE, ZeropageType.FULL, emptyList(), false, false, Cx16Target))
|
||||||
|
assertEquals(216, zp4.available())
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testReservedSpace() {
|
||||||
|
val zp1 = CX16Zeropage(CompilationOptions(OutputType.RAW, LauncherType.NONE, ZeropageType.FULL, emptyList(), false, false, Cx16Target))
|
||||||
|
assertEquals(216, zp1.available())
|
||||||
|
assertTrue(0x22 in zp1.free)
|
||||||
|
assertTrue(0x80 in zp1.free)
|
||||||
|
assertTrue(0xff in zp1.free)
|
||||||
|
assertFalse(0x02 in zp1.free)
|
||||||
|
assertFalse(0x21 in zp1.free)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ TODO
|
|||||||
- optimize several inner loops in gfx2 (highres 4 color mode)
|
- optimize several inner loops in gfx2 (highres 4 color mode)
|
||||||
- use the 65c02 bit clear/set/test instructions for single-bit operations
|
- use the 65c02 bit clear/set/test instructions for single-bit operations
|
||||||
- try to fix the bresenham line routines in graphics and gfx2 (sometimes they're a pixel 'off')
|
- try to fix the bresenham line routines in graphics and gfx2 (sometimes they're a pixel 'off')
|
||||||
|
- add modes 2 and 3 to gfx2 (lowres 4 color and 16 color)
|
||||||
- add a flood fill routine to gfx2?
|
- add a flood fill routine to gfx2?
|
||||||
- add a f_seek() routine for the Cx16 that uses its seek dos api?
|
- add a f_seek() routine for the Cx16 that uses its seek dos api?
|
||||||
- optimizer: detect variables that are written but never read - mark those as unused too and remove them, such as uword unused = memory("unused222", 20) - also remove the memory slab allocation
|
- optimizer: detect variables that are written but never read - mark those as unused too and remove them, such as uword unused = memory("unused222", 20) - also remove the memory slab allocation
|
||||||
|
@ -33,7 +33,7 @@ main {
|
|||||||
|
|
||||||
|
|
||||||
sub start() {
|
sub start() {
|
||||||
cx16.screen_set_mode(0) ; low res
|
void cx16.screen_set_mode(0) ; low res
|
||||||
sound.init()
|
sound.init()
|
||||||
newGame()
|
newGame()
|
||||||
drawBoard()
|
drawBoard()
|
||||||
|
Loading…
Reference in New Issue
Block a user