diff --git a/compiler/res/prog8lib/shared_cbm_textio_functions.p8 b/compiler/res/prog8lib/shared_cbm_textio_functions.p8 index f3d5c6bc2..8dd2cdbe6 100644 --- a/compiler/res/prog8lib/shared_cbm_textio_functions.p8 +++ b/compiler/res/prog8lib/shared_cbm_textio_functions.p8 @@ -23,6 +23,14 @@ txt { chrout(' ') } + sub rvs_on() { + txt.chrout(18) + } + + sub rvs_off() { + txt.chrout(146) + } + asmsub print (str text @ AY) clobbers(A,Y) { ; ---- print zero terminated string, in PETSCII encoding, from A/Y diff --git a/compiler/res/prog8lib/virtual/textio.p8 b/compiler/res/prog8lib/virtual/textio.p8 index 28fa37f63..d2f2ab309 100644 --- a/compiler/res/prog8lib/virtual/textio.p8 +++ b/compiler/res/prog8lib/virtual/textio.p8 @@ -53,6 +53,21 @@ sub uppercase() { ; not supported } +sub rvs_on() { + print("\x1b[7m") +} + +sub rvs_off() { + print("\x1b[0m") +} + +sub color (ubyte txtcol) { + print("\x1b[3") + chrout('0' + txtcol) + chrout('m') +} + + sub chrout(ubyte char) { %ir {{ loadm.b r99100,txt.chrout.char diff --git a/docs/source/_static/symboldumps/skeletons-c128.txt b/docs/source/_static/symboldumps/skeletons-c128.txt index 8f4ebf8ea..eb8d05edf 100644 --- a/docs/source/_static/symboldumps/skeletons-c128.txt +++ b/docs/source/_static/symboldumps/skeletons-c128.txt @@ -1,6 +1,6 @@ Prog8 compiler v12.0-SNAPSHOT by Irmen de Jong (irmen@razorvine.net) -Prerelease version from git commit 06e16789 in branch master +Prerelease version from git commit 8a717c74 in branch master This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html Compiling program import-all-c128.p8 @@ -785,6 +785,8 @@ txt { print_uwhex (uword value @AY, bool prefix @Pc) -> clobbers (A,X,Y) print_w (word value @AY) -> clobbers (A,X,Y) row (ubyte rownum @A) -> clobbers (A,X,Y) + rvs_off () + rvs_on () scroll_down (bool alsocolors @Pc) -> clobbers (A,X) scroll_left (bool alsocolors @Pc) -> clobbers (A,X,Y) scroll_right (bool alsocolors @Pc) -> clobbers (A,X) diff --git a/docs/source/_static/symboldumps/skeletons-c64.txt b/docs/source/_static/symboldumps/skeletons-c64.txt index 86f12b135..673ab9602 100644 --- a/docs/source/_static/symboldumps/skeletons-c64.txt +++ b/docs/source/_static/symboldumps/skeletons-c64.txt @@ -1,6 +1,6 @@ Prog8 compiler v12.0-SNAPSHOT by Irmen de Jong (irmen@razorvine.net) -Prerelease version from git commit 06e16789 in branch master +Prerelease version from git commit 8a717c74 in branch master This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html Compiling program import-all-c64.p8 @@ -898,6 +898,8 @@ txt { print_uwhex (uword value @AY, bool prefix @Pc) -> clobbers (A,X,Y) print_w (word value @AY) -> clobbers (A,X,Y) row (ubyte rownum @A) -> clobbers (A,X,Y) + rvs_off () + rvs_on () scroll_down (bool alsocolors @Pc) -> clobbers (A,X) scroll_left (bool alsocolors @Pc) -> clobbers (A,X,Y) scroll_right (bool alsocolors @Pc) -> clobbers (A,X) diff --git a/docs/source/_static/symboldumps/skeletons-cx16.txt b/docs/source/_static/symboldumps/skeletons-cx16.txt index 3b3f06033..de5358170 100644 --- a/docs/source/_static/symboldumps/skeletons-cx16.txt +++ b/docs/source/_static/symboldumps/skeletons-cx16.txt @@ -1,6 +1,6 @@ Prog8 compiler v12.0-SNAPSHOT by Irmen de Jong (irmen@razorvine.net) -Prerelease version from git commit 06e16789 in branch master +Prerelease version from git commit 8a717c74 in branch master This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html Compiling program import-all-cx16.p8 @@ -1382,6 +1382,8 @@ txt { print_uwhex (uword value @AY, bool prefix @Pc) -> clobbers (A,X,Y) print_w (word value @AY) -> clobbers (A,X,Y) row (ubyte rownum @A) -> clobbers (A,X,Y) + rvs_off () + rvs_on () scroll_down () -> clobbers (A,X,Y) scroll_left () -> clobbers (A,X,Y) scroll_right () -> clobbers (A,X,Y) diff --git a/docs/source/_static/symboldumps/skeletons-pet32.txt b/docs/source/_static/symboldumps/skeletons-pet32.txt index 659f42ef2..41d996a09 100644 --- a/docs/source/_static/symboldumps/skeletons-pet32.txt +++ b/docs/source/_static/symboldumps/skeletons-pet32.txt @@ -1,6 +1,6 @@ Prog8 compiler v12.0-SNAPSHOT by Irmen de Jong (irmen@razorvine.net) -Prerelease version from git commit 06e16789 in branch master +Prerelease version from git commit 8a717c74 in branch master This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html Compiling program import-all-pet32.p8 @@ -503,6 +503,8 @@ txt { print_uwbin (uword value @AY, bool prefix @Pc) -> clobbers (A,X,Y) print_uwhex (uword value @AY, bool prefix @Pc) -> clobbers (A,X,Y) print_w (word value @AY) -> clobbers (A,X,Y) + rvs_off () + rvs_on () scroll_down () -> clobbers (A,X) scroll_left () -> clobbers (A,X,Y) scroll_right () -> clobbers (A,X) diff --git a/docs/source/_static/symboldumps/skeletons-virtual.txt b/docs/source/_static/symboldumps/skeletons-virtual.txt index 43b387f73..5804e16d6 100644 --- a/docs/source/_static/symboldumps/skeletons-virtual.txt +++ b/docs/source/_static/symboldumps/skeletons-virtual.txt @@ -1,6 +1,6 @@ Prog8 compiler v12.0-SNAPSHOT by Irmen de Jong (irmen@razorvine.net) -Prerelease version from git commit 06e16789 in branch master +Prerelease version from git commit 8a717c74 in branch master This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html Compiling program import-all-virtual.p8 @@ -526,6 +526,7 @@ txt { chrout (ubyte char) clear_screen () cls () + color (ubyte txtcol) column (ubyte col) height () -> ubyte home () @@ -548,6 +549,8 @@ txt { print_uwbin (uword value, bool prefix) print_uwhex (uword value, bool prefix) print_w (word value) + rvs_off () + rvs_on () setchr (ubyte col, ubyte row, ubyte char) spc () uppercase ()