home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compy Shop Magazin 1990 February
/
Compy_Shop_Magazin_1990_02___de_Side_A.atr
/
buffer.src
< prev
next >
Wrap
Text File
|
2023-02-26
|
3KB
|
232 lines
*******************************
* TASTATUR-BUFFER V2.0 *
* IM CASETTENBUFFER *
* BIBO-DOS-MODIFIER *
* (C)1989 BY FRANK HECKENBACH *
*******************************
ORG$6000
*Konstanten
KREPEAT EQU 2
DOSMAX EQU$24
*Eigene Variablen
TIMER EQU 7
OFF EQU$3FD
COUNTER EQU$3FE
BUFFER EQU$400 ($80 BYTES)
*Systemvariablen
ZPTR EQU 21
ATTRACT EQU 77
VBIVEC EQU 546
KBDIS EQU 621
DELAY EQU 729
REPEAT EQU 730
HELPFLAG EQU 732
CODE EQU 754
KCODE EQU 764
STOPFLAG EQU 767
*Systemaufrufe
CIOMAIN EQU$E456
SYSVBI EQU$E45F
*Hardwareadressen
KBCODE EQU$D209
SKSTAT EQU$D20F
NMIEN EQU$D40E
*Installationsprogramm
LDX#0
LDA#9
STA$342,X
LDA#MSG1:L
STA$344,X
LDA#MSG1:H
STA$345,X
STA$349,X
JSR CIOMAIN
JSR READKEY
BMI RET
CMP#'J
BEQ JA
RET RTS
JA LDA VBIVEC
STA ZPTR
LDA VBIVEC+1
STA ZPTR+1
CMP#DOSMAX
BCS ERROR
LDA#0
STA NMIEN
STA COUNTER
STA OFF
*Programm kopieren
LDY#ENDE-VBI
COPY DEY
LDA VBI,Y
STA(ZPTR),Y
TYA
BNE COPY
*Schnelle Tastenwiederhloung einbauen
LDA#0
STA ZPTR
LDA#7
STA ZPTR+1
COMP1 LDY#ERROR-REPLACE-1
COMP2 LDA(ZPTR),Y
CMP REPLACE,Y
BEQ COMP3
INC ZPTR
BNE COMP1
INC ZPTR+1
LDA ZPTR+1
CMP#DOSMAX
BCC COMP1
BCS COMP4
COMP3 DEY
BPL COMP2
LDY#ERROR-REPLACE-1
SETREP LDA INITREP,Y
STA(ZPTR),Y
DEY
BPL SETREP
COMP4 LDA$740
AND#$BF
ORA#$80
STA$740
LDA#$40
STA NMIEN
LDA KBCODE
STA CODE
LDA DELAY
STA TIMER
INITREP LDA#KREPEAT
STA REPEAT
LDX#0
LDA#MSG2:L
STA$344,X
LDA#MSG2:H
STA$345,X
JMP CIOMAIN
REPLACE LDA#0
STA 258
ERROR LDX#0
LDA#MSGERR:L
STA$344,X
LDA#MSGERR:H
STA$345,X
JSR CIOMAIN
READKEY LDA$E425
PHA
LDA$E424
PHA
RTS
MSG1 DFB$7D,$1D
ASC"Tastaturbuffer von BIBO-DOS ersetzen?
DFB$1D,$9B
MSG2 ASC"Tastaturbuffer veraendert!
DFB$1D,$9B
MSGERR ASC"Falsche Version oder Buffer inaktiv!
DFB$1D,$9B
*Neuer VBI
VBI LDX#0
LDA SKSTAT
AND#4
BEQ PRESSED
DEX
STX CODE
BNE CONTROL
PRESSED STX ATTRACT
LDY DELAY
LDA KBDIS
BNE E
LDA KBCODE
CMP CODE
STA CODE
BNE NEWKEY
LDY TIMER
BEQ NOTPR
DEY
BNE NOTPR
LDY REPEAT
NEWKEY CMP#$9F
BNE NC1
LDA STOPFLAG CTRL-1
EOR#$FF
STA STOPFLAG
BCS CONTROL
NC1 CMP#$B0
BNE NC9
STX OFF CTRL-9
STX COUNTER
DEX
STX KCODE
BCS CONTROL
NC9 CMP#$B2
BNE NC0
DEX CTRL-0
STX OFF
BCS CONTROL
NC0 TAX
AND#$3F
CMP#$11
BNE NORMAL
STX HELPFLAG HELP
CONTROL LDY#0
BEQ NOTPR
NORMAL LDA OFF
BEQ PUTBUF
STX KCODE
E STY TIMER
BNE ENDINT
PUTBUF TXA
LDX COUNTER
BMI NOTPR
STA BUFFER,X
INC COUNTER
NOTPR STY TIMER
LDA KCODE
EOR#$FF
ORA STOPFLAG
ORA OFF
BNE ENDINT
LDX COUNTER
BEQ ENDINT
DEX
STX COUNTER
LOOP LDY BUFFER,X
STA BUFFER,X
TYA
DEX
BPL LOOP
STA KCODE
ENDINT JMP SYSVBI
ENDE DFB 0
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯