mirror of
https://github.com/irmen/prog8.git
synced 2024-09-10 09:54:32 +00:00
add verafx.transparency()
This commit is contained in:
parent
e505bf9ccf
commit
a8507b437d
@ -98,4 +98,13 @@ verafx {
|
|||||||
; sta $0403
|
; sta $0403
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub transparency(bool enable) {
|
||||||
|
cx16.VERA_CTRL = 2<<1 ; dcsel = 2
|
||||||
|
if enable
|
||||||
|
cx16.VERA_FX_CTRL |= %10000000
|
||||||
|
else
|
||||||
|
cx16.VERA_FX_CTRL &= %01111111
|
||||||
|
cx16.VERA_CTRL = 0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -514,5 +514,8 @@ the emulators already support it).
|
|||||||
There's also a ``clear`` routine here to very quickly clear a piece of vram to a given byte value (it writes 4 bytes at a time).
|
There's also a ``clear`` routine here to very quickly clear a piece of vram to a given byte value (it writes 4 bytes at a time).
|
||||||
The routine is around 3 times faster as a regular unrolled loop to clear vram.
|
The routine is around 3 times faster as a regular unrolled loop to clear vram.
|
||||||
|
|
||||||
|
``transparency``
|
||||||
|
Enable or disable transparent writes (color 0 will be transparent if enabled).
|
||||||
|
|
||||||
Read the `source code <https://github.com/irmen/prog8/tree/master/compiler/res/prog8lib/cx16/verafx.p8>`_
|
Read the `source code <https://github.com/irmen/prog8/tree/master/compiler/res/prog8lib/cx16/verafx.p8>`_
|
||||||
to see what's in there.
|
to see what's in there.
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
TODO
|
TODO
|
||||||
====
|
====
|
||||||
|
|
||||||
- add verafx transparent writes enable/disable routines
|
|
||||||
- add %option verafxmuls in block to enable transparent verafx muls use for that block only + add warning message to docs to not use it it in prg AND irq code
|
- add %option verafxmuls in block to enable transparent verafx muls use for that block only + add warning message to docs to not use it it in prg AND irq code
|
||||||
- '>>=' can be used as an operator in an expression?? should only be augmented assignment!
|
|
||||||
|
|
||||||
- [on branch: shortcircuit] investigate McCarthy evaluation again? this may also reduce code size perhaps for things like if a>4 or a<2 ....
|
- [on branch: shortcircuit] investigate McCarthy evaluation again? this may also reduce code size perhaps for things like if a>4 or a<2 ....
|
||||||
- [on branch: ir-less-branch-opcodes] IR: reduce the number of branch instructions such as BEQ, BEQR, etc (gradually), replace with CMP(I) + status branch instruction
|
- [on branch: ir-less-branch-opcodes] IR: reduce the number of branch instructions such as BEQ, BEQR, etc (gradually), replace with CMP(I) + status branch instruction
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
%import textio
|
%import textio
|
||||||
%import emudbg
|
%import gfx2
|
||||||
|
%import verafx
|
||||||
%zeropage basicsafe
|
%zeropage basicsafe
|
||||||
%option no_sysinit
|
|
||||||
|
|
||||||
main {
|
main {
|
||||||
sub start() {
|
sub start() {
|
||||||
|
gfx2.screen_mode(4)
|
||||||
txt.print_ub(emudbg.is_emulator())
|
gfx2.disc(160, 120, 100, 2)
|
||||||
txt.nl()
|
; verafx.transparency(true)
|
||||||
emudbg.console_value1(123)
|
gfx2.position(0, 70)
|
||||||
emudbg.console_value2(222)
|
repeat 3000 {
|
||||||
for cx16.r0L in iso:"Hello debug console!\n"
|
gfx2.next_pixel(7)
|
||||||
emudbg.console_chrout(cx16.r0L)
|
repeat 10
|
||||||
|
gfx2.next_pixel(0) ; transparent!
|
||||||
emudbg.console_write(iso:"Hello another message!\n")
|
}
|
||||||
|
verafx.transparency(false)
|
||||||
emudbg.EMU_DBG_HOTKEY_ENABLED=false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user