mirror of
https://github.com/RevCurtisP/C02.git
synced 2024-11-22 01:31:33 +00:00
Imported keydef and screen modules from master
This commit is contained in:
parent
b83b345ca4
commit
665834bc74
37
include/x16/keydef.a02
Normal file
37
include/x16/keydef.a02
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
;PETSCII Key Code Definitions for Commander X16
|
||||||
|
|
||||||
|
;NAME Chr Description x16emu
|
||||||
|
KEYBCK EQU $00 ;Backspace [N/A]
|
||||||
|
KEYBRK EQU $03 ;Break (RUN/STOP) **missing**
|
||||||
|
KEYCLR EQU $93 ;Clear (Shift-CLR/HOME) Shift-Home
|
||||||
|
KEYCPY EQU $00 ;Copy [N/A]
|
||||||
|
KEYDEL EQU $14 ;Delete Backspace
|
||||||
|
KEYDN EQU $11 ;Cursor Down Cursor Down
|
||||||
|
KEYESC EQU $1B ;Escape [C128/C65] **missing**
|
||||||
|
KEYFN1 EQU $85 ;F1 (F1/F2) F1
|
||||||
|
KEYFN2 EQU $89 ;F2 (Shift-F1/F2) F2
|
||||||
|
KEYFN3 EQU $86 ;F3 (F3/F4) F3
|
||||||
|
KEYFN4 EQU $8A ;F4 (Shift-F3/F4) F4
|
||||||
|
KEYFN5 EQU $87 ;F5 (F5/F6) F5
|
||||||
|
KEYFN6 EQU $8B ;F6 (Shift-F5/F6) F6
|
||||||
|
KEYFN7 EQU $88 ;F7 (F7/F8) F7
|
||||||
|
KEYFN8 EQU $8C ;F8 (Shift-F7/F8) F8
|
||||||
|
KEYFN9 EQU $89 ;F9 [C65] F9
|
||||||
|
KEYFNA EQU $15 ;F10 [C65] F10
|
||||||
|
KEYFNB EQU $16 ;F11 [C65] F11
|
||||||
|
KEYFNC EQU $17 ;F12 [C65] F12
|
||||||
|
KEYHLP EQU $84 ;Help [C65]
|
||||||
|
KEYHOM EQU $13 ;Home (CLR/HOME) Home
|
||||||
|
KEYINS EQU $94 ;Insert (Shift-INS/DEL) Shift-Backspace
|
||||||
|
KEYLFT EQU $9D ;Cursor Left Cursor Left
|
||||||
|
KEYLNF EQU $00 ;Line Feed [C128]
|
||||||
|
KEYRGT EQU $1D ;Cursor Right Cursor Right
|
||||||
|
KEYRTN EQU $0D ;Return Enter
|
||||||
|
KEYRTS EQU $8D ;Shift-Return Shift-Enter
|
||||||
|
KEYRUN EQU $00 ;Run (Shift-RUN/STOP)
|
||||||
|
KEYRVF EQU $92 ;Reverse Off Ctrl-0
|
||||||
|
KEYRVS EQU $12 ;Reverse On Ctrl-9
|
||||||
|
KEYSPS EQU $A0 ;Shifted Space Shifted Space
|
||||||
|
KEYTAB EQU $09 ;Tab Tab
|
||||||
|
KEYTAS EQU $18 ;Shift-Tab **missing**
|
||||||
|
KEYUP EQU $91 ;Cursor Up Cursor Up
|
36
include/x16/keydef.h02
Normal file
36
include/x16/keydef.h02
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/* PETSCII Key Code Definitions for Commander X16 */
|
||||||
|
|
||||||
|
#define KEYBCK $00 //Backspace
|
||||||
|
#define KEYBRK $03 //Break (RUN/STOP)
|
||||||
|
#define KEYCLR $93 //Clear (Shift-CLR/HOME)
|
||||||
|
#define KEYCPY $00 //Copy
|
||||||
|
#define KEYDEL $14 //Delete
|
||||||
|
#define KEYDN $11 //Cursor Down
|
||||||
|
#define KEYESC $1B //Escape
|
||||||
|
#define KEYFN1 $85 //Function Key 1 (F1/F2)
|
||||||
|
#define KEYFN2 $89 //Function Key 2 (Shift-F1/F2)
|
||||||
|
#define KEYFN3 $86 //Function Key 3 (F3/F4)
|
||||||
|
#define KEYFN4 $8A //Function Key 4 (Shift-F3/F4)
|
||||||
|
#define KEYFN5 $87 //Function Key 5 (F5/F6)
|
||||||
|
#define KEYFN6 $8B //Function Key 6 (Shift-F5/F6)
|
||||||
|
#define KEYFN7 $88 //Function Key 7 (F7/F8)
|
||||||
|
#define KEYFN8 $8C //Function Key 8 (Shift-F7/F8) [HELP on C16]
|
||||||
|
#define KEYFN9 $89 //Function Key 9
|
||||||
|
#define KEYFNA $15 //Function Key 10
|
||||||
|
#define KEYFNB $16 //Function Key 11
|
||||||
|
#define KEYFNC $17 //Function Key 12
|
||||||
|
#define KEYHLP $84 //Help (C65)
|
||||||
|
#define KEYHOM $13 //Home (CLR/HOME)
|
||||||
|
#define KEYINS $94 //Insert (Shift-INS/DEL)
|
||||||
|
#define KEYLFT $9D //Cursor Left
|
||||||
|
#define KEYLNF $00 //Line Feed (N/A)
|
||||||
|
#define KEYRGT $1D //Cursor Right
|
||||||
|
#define KEYRTN $0D //Return
|
||||||
|
#define KEYRTS $8D //Shift-Return
|
||||||
|
#define KEYRUN $00 //Run (Shift-RUN/STOP)
|
||||||
|
#define KEYRVF $92 //Reverse Off
|
||||||
|
#define KEYRVS $12 //Reverse On
|
||||||
|
#define KEYSPS $A0 //Shifted Space
|
||||||
|
#define KEYTAB $09 //Tab
|
||||||
|
#define KEYTAS $18 //Shift-Tab [C65]
|
||||||
|
#define KEYUP $91 //Cursor Up
|
45
include/x16/screen.a02
Normal file
45
include/x16/screen.a02
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
;Screen Control Assembly Lanuage Routines for VIC-20
|
||||||
|
|
||||||
|
;SUBROUTINE
|
||||||
|
|
||||||
|
SMTEXT EQU $00 ;Default Text Screen
|
||||||
|
SMWIDE EQU $02 ;Wide Text Screen (Undefined)
|
||||||
|
|
||||||
|
;Set Screen Mode
|
||||||
|
SETSCR: SEC ;Set Carry
|
||||||
|
JSR $FF5F ;Call SCRMOD
|
||||||
|
LDA #0 ;Set Return Value to Zero
|
||||||
|
BCC .RETURN ;If Carry Set
|
||||||
|
DEC ; Return 255 (Error)
|
||||||
|
.RETURN RTS
|
||||||
|
|
||||||
|
;Get Screen Mode
|
||||||
|
GETSCR: CLC ;Clear Carry
|
||||||
|
JMP $FF5F ;Execute SCRMOD
|
||||||
|
RTS
|
||||||
|
|
||||||
|
;Clear the Screen
|
||||||
|
CLRSCR LDA #$93 ;Load CLR/HOME Character
|
||||||
|
JMP PUTCHR ;and Print to Screen
|
||||||
|
|
||||||
|
;Move Cursor To Home Position
|
||||||
|
CRSRHM LDA #$13 ;Load HOME Character
|
||||||
|
JMP PUTCHR ;and Print to Screen
|
||||||
|
|
||||||
|
;Move Cursor to Specified Coordinates
|
||||||
|
SETPOS: .DC $5A ;PHY Copy Row
|
||||||
|
.DC $FA ;PLX to X Register,
|
||||||
|
TAY ;Column to Y Register
|
||||||
|
CLC ;Set Carry
|
||||||
|
JMP $FFF0 ;and Execute Plot
|
||||||
|
|
||||||
|
;Get Cursor Position
|
||||||
|
GETPOS: LDY $D6 ;Load Cursor Row
|
||||||
|
LDA $D3 ;Load Cursor Column
|
||||||
|
RTS
|
||||||
|
|
||||||
|
;Get Screen Size
|
||||||
|
GETSIZ: JSR $FFED ;Call SCREEN Kernal Routine
|
||||||
|
TXA ;Transfer Width to Accumulator
|
||||||
|
RTS
|
||||||
|
|
38
include/x16/screen.h02
Normal file
38
include/x16/screen.h02
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*****************************************************
|
||||||
|
* Screen Control Functions and Constants for VIC-20 *
|
||||||
|
*****************************************************/
|
||||||
|
|
||||||
|
/* Screen Modes for getscr() and setscr() */
|
||||||
|
#define SMTEXT $00 //Default Text Mode (40x30)
|
||||||
|
#define SMWIDE $02 //Wide Screen Text Mode (80x60)
|
||||||
|
|
||||||
|
/* Clear the Screen */
|
||||||
|
void clrscn();
|
||||||
|
|
||||||
|
/* Move Cursor to Top Left of Screen */
|
||||||
|
void crsrhm();
|
||||||
|
|
||||||
|
/* Get Current Cursor Position *
|
||||||
|
* Returns: cursor column *
|
||||||
|
( cursor row */
|
||||||
|
char getpos();
|
||||||
|
|
||||||
|
/* Get Screen Size *
|
||||||
|
* Returns: width in columns *
|
||||||
|
* height in rows */
|
||||||
|
char getsiz();
|
||||||
|
|
||||||
|
/* Get Screen Mode *
|
||||||
|
* Returns: char mode - Current Screen Mode */
|
||||||
|
char getscr();
|
||||||
|
|
||||||
|
/* Move Cursor to Specified Position *
|
||||||
|
* Args: column - screen column (0 = left) *
|
||||||
|
* row - screen line (0 = top) */
|
||||||
|
void setpos();
|
||||||
|
|
||||||
|
/* Set Screen Mode *
|
||||||
|
* Args: char mode - screen mode *
|
||||||
|
* 0 = default text mode *
|
||||||
|
* Returns: $FF if Mode Invalid */
|
||||||
|
char setscr();
|
Loading…
Reference in New Issue
Block a user