102 lines
1.6 KiB
ArmAsm
102 lines
1.6 KiB
ArmAsm
*
|
|
* Amper Manager - Ultraterm 2 driver
|
|
*
|
|
* (c) 1987, Paul Smith & Rick Sutcliffe
|
|
* (s) 2020, Antoine Vignau
|
|
*
|
|
|
|
xc
|
|
xc
|
|
mx %11
|
|
lst off
|
|
|
|
*-------------------------------
|
|
|
|
* *
|
|
* SPREADSHEET 2 *
|
|
* ULTRATERM DRIVER *
|
|
* *
|
|
* BY PAUL SMITH *
|
|
* *
|
|
* AND *
|
|
* RICK SUTCLIFFE *
|
|
* *
|
|
HOMEC EQU $8C
|
|
CNTRLV EQU $96
|
|
ULFORMAT DFB $B1
|
|
*
|
|
*
|
|
*ULTRATERM FORMATS
|
|
USTR ASC 'HERE ARE YOUR ULTRATERM FORMATS:'
|
|
DFB $0D,$0D
|
|
ASC '0) 40 X 24'
|
|
DFB $0D
|
|
ASC '1) 80 X 24'
|
|
DFB $0D
|
|
ASC '2) 96 X 24'
|
|
DFB $0D
|
|
ASC '3) 160 X 24'
|
|
DFB $0D
|
|
ASC '4) 80 X 24 I'
|
|
DFB $0D
|
|
ASC '5) 80 X 32 I'
|
|
DFB $0D
|
|
ASC '6) 80 X 48 I'
|
|
DFB $0D
|
|
ASC '7) 132 X 24 I'
|
|
DFB $0D
|
|
ASC '8) 128 X 32 I'
|
|
DFB $0D,$0D
|
|
DCI 'PICK FORMAT (1-8) DEFAULT = '
|
|
*
|
|
*ACTUAL DRIVER
|
|
*
|
|
ULTRAO BIT $C061 ;CHECK BUTTONS
|
|
BMI ULTRA
|
|
BIT $C062
|
|
BPL ULTRAFIN ;NO BUTTON SO FORGET IT
|
|
ULTRA JSR ISULTRA
|
|
BCC ULTRA2 ;GOT ONE
|
|
ULTRAFIN RTS ;NO ULTRATERM
|
|
ULTRA2 LDA $BF98 ;80 COL
|
|
ORA #$02
|
|
STA $BF98
|
|
ULTRA3 LDA #HOMEC
|
|
JSR $C300 ;START UP ULTRATERM
|
|
JSR PUTWWDTH
|
|
LDA #<USTR ;READY TO PRINT MESSAGE
|
|
LDX #>USTR
|
|
JSR PRINTERC
|
|
JSR FMTOUT
|
|
GETFMT LDA KBD
|
|
BPL GETFMT
|
|
BIT KBDSTRB
|
|
CMP #$8D ;IS RETURN
|
|
BEQ TODEFAULT
|
|
CMP #$B0 ;LESS THAN 1
|
|
BCC GETFMT ;TRY AGAIN
|
|
CMP #$B9 ;OR>8
|
|
BGE GETFMT
|
|
STA ULFORMAT ;SAVE IT
|
|
EOR #$B0 ;CHANGE TO INDEX
|
|
BNE GETFMT1 ;IF NOT 0 GO ON
|
|
LDA #$18
|
|
STA WNDBTM
|
|
LDA #$28
|
|
STA WNDWDTH
|
|
BNE TODEFAULT
|
|
GETFMT1 TAX
|
|
LDA PWDTBL-1,X ;GET WIDTH
|
|
SEC
|
|
SBC #$01
|
|
STA WNDWDTH
|
|
LDA HGTBL-1,X
|
|
STA WNDBTM
|
|
TODEFAULT JSR DEFAULT
|
|
JSR HOME
|
|
JMP CSSWON
|
|
DEFAULT LDA #CNTRLV
|
|
JSR COUT
|
|
FMTOUT LDA ULFORMAT
|
|
JMP COUT
|