prepare osic1p cpeekc/cpeekcolor/cpeekrevers, replaces #532
This commit is contained in:
17
libsrc/osic1p/cpeekc.s
Normal file
17
libsrc/osic1p/cpeekc.s
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
;
|
||||||
|
; 2017-06-21, Greg King
|
||||||
|
;
|
||||||
|
; char cpeekc (void);
|
||||||
|
;
|
||||||
|
; Get a character from OSI C1P screen RAM.
|
||||||
|
;
|
||||||
|
.export _cpeekc
|
||||||
|
|
||||||
|
.include "extzp.inc"
|
||||||
|
|
||||||
|
|
||||||
|
_cpeekc:
|
||||||
|
ldy CURS_X
|
||||||
|
lda (SCREEN_PTR),y
|
||||||
|
ldx #>$0000
|
||||||
|
rts
|
||||||
8
libsrc/osic1p/cpeekcolor.s
Normal file
8
libsrc/osic1p/cpeekcolor.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; 2017-06-03, Greg King
|
||||||
|
;
|
||||||
|
; unsigned char cpeekcolor (void);
|
||||||
|
;
|
||||||
|
|
||||||
|
.import return1
|
||||||
|
.export _cpeekcolor := return1 ; always COLOR_WHITE
|
||||||
9
libsrc/osic1p/cpeekrevers.s
Normal file
9
libsrc/osic1p/cpeekrevers.s
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
;
|
||||||
|
; 2017-06-15, Greg King
|
||||||
|
;
|
||||||
|
; unsigned char cpeekrevers (void);
|
||||||
|
;
|
||||||
|
; Get a reverse attribute from screen RAM
|
||||||
|
;
|
||||||
|
.import return0
|
||||||
|
.export _cpeekrevers := return0 ; No attribute
|
||||||
@@ -624,6 +624,7 @@ EXELIST_pce = \
|
|||||||
# stroserror-test strqtok-test uname-test
|
# stroserror-test strqtok-test uname-test
|
||||||
EXELIST_osic1p = \
|
EXELIST_osic1p = \
|
||||||
minimal \
|
minimal \
|
||||||
|
conio \
|
||||||
cursor \
|
cursor \
|
||||||
mul-test
|
mul-test
|
||||||
|
|
||||||
|
|||||||
@@ -15,12 +15,16 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <joystick.h>
|
#include <joystick.h>
|
||||||
|
|
||||||
#if defined(__GAMATE__)
|
#if defined(__GAMATE__) || defined(__OSIC1P__)
|
||||||
/* there is not enough screen space to show all 256 characters at the bottom */
|
/* there is not enough screen space to show all 256 characters at the bottom */
|
||||||
#define NUMCHARS 128
|
#define NUMCHARS 128
|
||||||
#define NUMCOLS 4
|
|
||||||
#else
|
#else
|
||||||
#define NUMCHARS 256
|
#define NUMCHARS 256
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__GAMATE__)
|
||||||
|
#define NUMCOLS 4
|
||||||
|
#else
|
||||||
#define NUMCOLS 16
|
#define NUMCOLS 16
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -79,6 +83,7 @@ void peektest(void)
|
|||||||
revers(rbuf[j]);
|
revers(rbuf[j]);
|
||||||
cputc(buf[j]);
|
cputc(buf[j]);
|
||||||
}
|
}
|
||||||
|
#if !defined (__OSIC1P__)
|
||||||
gotoxy(0, LINE_PEEKTEST);
|
gotoxy(0, LINE_PEEKTEST);
|
||||||
cpeeks(buf, NUMCOLS);
|
cpeeks(buf, NUMCOLS);
|
||||||
(void)textcolor(1);
|
(void)textcolor(1);
|
||||||
@@ -87,6 +92,7 @@ void peektest(void)
|
|||||||
for (j = 0; j < NUMCOLS; ++j) {
|
for (j = 0; j < NUMCOLS; ++j) {
|
||||||
cputc(buf[j]);
|
cputc(buf[j]);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void main(void)
|
void main(void)
|
||||||
@@ -134,7 +140,8 @@ void main(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gotoxy(0, ysize - 2 - ((NUMCHARS + xsize) / xsize));
|
gotoxy(0, ysize - 3 - ((NUMCHARS + xsize) / xsize));
|
||||||
|
// one line with 0123..pattern
|
||||||
revers(1);
|
revers(1);
|
||||||
for (i = 0; i < xsize; ++i) {
|
for (i = 0; i < xsize; ++i) {
|
||||||
cputc('0' + i % 10);
|
cputc('0' + i % 10);
|
||||||
@@ -147,9 +154,11 @@ void main(void)
|
|||||||
cputc(' ');
|
cputc(' ');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// fill last line of the block with '#'
|
||||||
while(wherex() > 0) {
|
while(wherex() > 0) {
|
||||||
cputc('#');
|
cputc('#');
|
||||||
}
|
}
|
||||||
|
// one more line with 0123..pattern
|
||||||
revers(1);
|
revers(1);
|
||||||
for (i = 0; i < xsize; ++i) {
|
for (i = 0; i < xsize; ++i) {
|
||||||
cputc('0' + i % 10);
|
cputc('0' + i % 10);
|
||||||
|
|||||||
Reference in New Issue
Block a user