Skip to content

Commit e520921

Browse files
committed
todo
1 parent 9706422 commit e520921

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

compiler/res/prog8lib/cx16/gfx2.p8

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
; SCREEN MODE LIST:
1414
; mode 0 = reset back to default text mode
1515
; mode 1 = bitmap 320 x 240 monochrome
16-
; mode 2 = bitmap 320 x 240 x 4c (TODO not yet implemented)
17-
; mode 3 = bitmap 320 x 240 x 16c (TODO not yet implemented)
16+
; mode 2 = bitmap 320 x 240 x 4c (not yet implemented: just use 256c, there's enough vram for that)
17+
; mode 3 = bitmap 320 x 240 x 16c (not yet implemented: just use 256c, there's enough vram for that)
1818
; mode 4 = bitmap 320 x 240 x 256c (like SCREEN $80 but using this api instead of kernal)
1919
; mode 5 = bitmap 640 x 480 monochrome
2020
; mode 6 = bitmap 640 x 480 x 4c
@@ -47,7 +47,7 @@ gfx2 {
4747
height = 240
4848
bpp = 1
4949
}
50-
; TODO modes 2, 3 not yet implemented
50+
; TODO modes 2, 3
5151
4 -> {
5252
; lores 256c
5353
cx16.VERA_DC_VIDEO = (cx16.VERA_DC_VIDEO & %11001111) | %00100000 ; enable only layer 1
@@ -110,7 +110,7 @@ gfx2 {
110110
repeat 240/2/8
111111
cs_innerloop640()
112112
}
113-
; TODO mode 2, 3
113+
; TODO modes 2, 3
114114
4 -> {
115115
; lores 256c
116116
repeat 240/2
@@ -241,8 +241,7 @@ _done
241241
}}
242242
}
243243
6 -> {
244-
; highres 4c
245-
; TODO also mostly usable for lores 4c?
244+
; highres 4c ....also mostly usable for mode 2, lores 4c?
246245
color &= 3
247246
ubyte[4] colorbits
248247
ubyte ii
@@ -601,7 +600,7 @@ _done
601600
}}
602601
}
603602
}
604-
; TODO mode 2,3
603+
; TODO modes 2, 3
605604
4 -> {
606605
; lores 256c
607606
void addr_mul_24_for_lores_256c(y, x) ; 24 bits result is in r0 and r1L (highest byte)
@@ -653,8 +652,7 @@ _done
653652
}
654653
}
655654
6 -> {
656-
; highres 4c
657-
; TODO also mostly usable for lores 4c?
655+
; highres 4c ....also mostly usable for mode 2, lores 4c?
658656
void addr_mul_24_for_highres_4c(y, x) ; 24 bits result is in r0 and r1L (highest byte)
659657
cx16.r2L = lsb(x) & 3 ; xbits
660658
; color &= 3
@@ -708,7 +706,7 @@ _done
708706
+
709707
}}
710708
}
711-
; TODO mode 2 and 3
709+
; TODO modes 2, 3
712710
4 -> {
713711
; lores 256c
714712
void addr_mul_24_for_lores_256c(y, x) ; 24 bits result is in r0 and r1L (highest byte)
@@ -888,7 +886,7 @@ skip:
888886
cx16.r0 = y*(320/8) + x/8
889887
cx16.vaddr(0, cx16.r0, 0, 1)
890888
}
891-
; TODO modes 2,3
889+
; TODO modes 2, 3
892890
4 -> {
893891
; lores 256c
894892
void addr_mul_24_for_lores_256c(y, x) ; 24 bits result is in r0 and r1L (highest byte)

docs/source/todo.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ Compiler:
3333
- ir: the @split arrays are currently also split in _lsb/_msb arrays in the IR, and operations take multiple (byte) instructions that may lead to verbose and slow operation and machine code generation down the line.
3434
- ir: for expressions with array indexes that occur multiple times, can we avoid loading them into new virtualregs everytime and just reuse a single virtualreg as indexer? (simple form of common subexpression elimination)
3535
- PtAst/IR: more complex common subexpression eliminations
36-
- can we get rid of pieces of asmgen.AssignmentAsmGen by just reusing the AugmentableAssignment ? generated code should not suffer
3736
- [problematic due to using 64tass:] better support for building library programs, where unused .proc shouldn't be deleted from the assembly?
3837
Perhaps replace all uses of .proc/.pend/.endproc by .block/.bend will fix that with a compiler flag?
3938
But all library code written in asm uses .proc already..... (textual search/replace when writing the actual asm?)
@@ -47,10 +46,9 @@ Libraries:
4746
- fix the problems in atari target, and flesh out its libraries.
4847
- c128 target: make syslib more complete (missing kernal routines)?
4948
- c64: make the graphics.BITMAP_ADDRESS configurable (VIC banking)
50-
- actually implement modes 3 and perhaps even 2 to gfx2 (lores 16 color and 4 color)
5149

5250

53-
Expressions:
51+
Expressions: (see remove_evalstack branch):
5452

5553
- Once the evalstack-free expression codegen is in place, the Eval Stack can be removed from the compiler.
5654
Machinedefinition, .p8 and .asm library files, all routines operationg on estack, and everything saving/restoring the X register related to this stack.

0 commit comments

Comments
 (0)