A2osX/FSE/FSE.S.txt
2024-02-16 20:30:56 +01:00

136 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
.LIST OFF
.OR $6480
.TF fse
*--------------------------------
* S-C MACRO ASSEMBLER SCREEN EDITOR
*
* BY MIKE LAUMER
* LAUMER RESEARCH
* 1832 SCHOOL RD.
* CARROLLTON, TEXAS 75006
*
* (214) 245-3927
*
* modified 7/10/85 by:
* David C. Johnson of
* Applied Engineering
* 3216 Beltline Rd, Suite 610
* Dallas, TX 75234
* (214) 241-6060
*
* changes include:
* operates under SCASM 2.0 - ProDOS
* fixing blank lines entered w/^L (see INS.TBL),
* changing E.SHIFT to test SKMOD.FLG,
* allowing lowercase escape mode characters,
* eliminating MouseText characters, and
* speeding up the //e driver some.
* many small changes too...
*--------------------------------
* DRIVER SELECTION PARAMETER
*
* DRVR = 0 .... STANDARD 40 COLUMN
* = 1 .... VIDEX 80-COLUMN
* = 2 .... STB80 80-COLUMN
* = 3 .... //e or //c 80-COLUMN
DRVR .EQ 3
.DO DRVR
SCR.SIZE .EQ 80 SCREEN WIDTH
.EL
SCR.SIZE .EQ 40 make screen width 40 automatically
.FI
*--------------------------------
FSE.VECTOR .EQ $8028
ESC.U.VECTOR .EQ $800C
INSTALLER
LDA #$4C JMP opcode
STA FSE.VECTOR
STA ESC.U.VECTOR
LDA #HARD
STA FSE.VECTOR+1
LDA /HARD
STA FSE.VECTOR+2
STA $BEFB Global Page HIMEM
LDA #REMOVER
STA ESC.U.VECTOR+1
LDA /REMOVER
STA ESC.U.VECTOR+2
JMP $8000 coldstart assembler
.BS $6500-*
*--------------------------------
.INB usr/src/fse/fse.s.1
.INB usr/src/fse/fse.s.2
.INB usr/src/fse/fse.s.3
.INB usr/src/fse/fse.s.line
.INB usr/src/fse/fse.s.submit
*--------------------------------
* EACH DRIVER MODULE LOADS HERE.
* DRIVER LINKAGE IS VIA A JUMP TABLE
* TO STANDARDIZE THEIR ENTRY POINTS.
*--------------------------------
*
OVERLAY.AREA
*
MY.RD.KBD .EQ OVERLAY.AREA KEYBOARD READ
MY.HTAB .EQ OVERLAY.AREA+3 HOTIZONTAL TAB
MY.VTAB .EQ OVERLAY.AREA+6 VERTICAL TAB
MY.CLREOL .EQ OVERLAY.AREA+9 CLEAR TO END OF LINE
MY.CLREOP .EQ OVERLAY.AREA+12 CLEAR TO END OF SCREEN
MY.COUT .EQ OVERLAY.AREA+15 CHARACTER OUTPUT
.DO DRVR=0
*--------------------------------
* STANDARD 40 COLUMN APPLE VIDEO DRIVER
*--------------------------------
.INB usr/src/fse/fse.s.a2
.FIN
.DO DRVR=1
*--------------------------------
* VIDEX 80 COLUMN VIDEO DRIVER
*--------------------------------
.INB usr/src/fse/fse.s.videx
.FIN
.DO DRVR=2
*--------------------------------
* STB80 80 COLUMN VIDEO DRIVER
*--------------------------------
.INB usr/src/fse/fse.s.stb80
.FIN
.DO DRVR=3
*--------------------------------
* APPLE IIE 80 COLUMN VIDEO DRIVER
*--------------------------------
.INB usr/src/fse/fse.s.a2e
.FIN
REMOVER
LDA #$60 RTS opcode
STA FSE.VECTOR
LDA #M.BELL
STA ESC.U.VECTOR+1
LDA /M.BELL
STA ESC.U.VECTOR+2
LDA /$7400
STA $BEFB Global Page HIMEM
JMP $8000 coldstart assembler
*--------------------------------
ZZ.END .DO *>$73FF OR EDITOR WILL BE TOO LARGE
!!! EXCEEDS $73FF
.FIN
*--------------------------------
MAN
SAVE usr/src/fse/fse.s
ASM