mirror of
https://github.com/callapple/Ampermanager.git
synced 2025-03-14 01:30:06 +00:00
v2.1 from Merlin source code
This commit is contained in:
parent
e7ecc6d4eb
commit
673d3aee45
3523
source/ampermanager.s
Normal file
3523
source/ampermanager.s
Normal file
File diff suppressed because it is too large
Load Diff
65
source/amperstart.s
Normal file
65
source/amperstart.s
Normal file
@ -0,0 +1,65 @@
|
||||
*
|
||||
* Amper Manager - Amperstart
|
||||
*
|
||||
* (c) 1987, Rick Sutcliffe
|
||||
* (s) 2020, Antoine Vignau
|
||||
*
|
||||
|
||||
xc
|
||||
xc
|
||||
mx %11
|
||||
org $300
|
||||
lst off
|
||||
|
||||
*-------------------------------
|
||||
|
||||
YSAV EQU $34
|
||||
XSAV EQU $46
|
||||
FORPNT EQU $85
|
||||
IN EQU $200
|
||||
DOSCMD EQU $BE03
|
||||
|
||||
*-------------------------------
|
||||
|
||||
LDA #17
|
||||
STA YSAV ;AND PUT IT WHERE MOVER CAN GET IT
|
||||
LDA #<AMPSTR ;LOW BYTE
|
||||
LDY #>AMPSTR ;HIGH BYTE
|
||||
JSR MOVAYBUF0
|
||||
JSR DOSCMD ;AND MAKE ProDOS DO IT
|
||||
JSR $80C
|
||||
LDA #13
|
||||
STA YSAV
|
||||
LDA #<PROGSTR
|
||||
LDY #>PROGSTR
|
||||
JSR MOVAYBUF0
|
||||
JMP DOSCMD
|
||||
|
||||
*
|
||||
* MOVE COMMAND POINTED TO BY (A,Y) TO BUFFER AT $200
|
||||
* LEN IN YSAV
|
||||
|
||||
MOVAYBUF0 LDX #$00
|
||||
MOVAYBUF STY FORPNT+1 ;SET UP ON ZERO PAGE
|
||||
STA FORPNT
|
||||
TXA
|
||||
CLC
|
||||
ADC YSAV
|
||||
TAX
|
||||
STX XSAV
|
||||
DEX
|
||||
LDY YSAV ;COUNTER FOR LEN
|
||||
MOVFOR1 DEY
|
||||
BMI MOVCRBUF ;WHEN FINISHED
|
||||
LDA (FORPNT),Y
|
||||
ORA #$80 ;HI BIT SET
|
||||
STA IN,X
|
||||
DEX
|
||||
BPL MOVFOR1 ;ALWAYS
|
||||
MOVCRBUF LDA #$8D
|
||||
LDX XSAV
|
||||
STA IN,X
|
||||
FIXEDRTS RTS
|
||||
|
||||
AMPSTR ASC 'BLOADAMPERMANAGER'
|
||||
PROGSTR ASC '-RECEPTIONIST'
|
536
source/formatter.s
Normal file
536
source/formatter.s
Normal file
@ -0,0 +1,536 @@
|
||||
s* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * * *
|
||||
* * M U S T B E O N P A G E B O U N D A R Y * *
|
||||
* * * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* ORG $7800
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* *
|
||||
* ProDOS DISK ][ Formatter Device Driver *
|
||||
* *
|
||||
* Copyright Apple Computer, Inc., 1982, 1983 *
|
||||
* *
|
||||
* Enter with ProDOS device number in A-register: *
|
||||
* Zero = bits 1, 2, 3, 4 *
|
||||
* Slot No.= bits 4, 5, 6 *
|
||||
* Drive 1 = bit 7 off *
|
||||
* Drive 2 = bit 7 on *
|
||||
* *
|
||||
* Error codes returned in A-register: *
|
||||
* $00 : Good completion *
|
||||
* $27 : Unable to format *
|
||||
* $2B : Write-Protected *
|
||||
* $33 : Drive too SLOW *
|
||||
* $34 : Drive too FAST *
|
||||
* NOTE: Carry flag is set if error occured. *
|
||||
* *
|
||||
* Uses zero page locations $D0 thru $DD *
|
||||
* *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
JSR *+$3A
|
||||
CMP #$00
|
||||
BNE *+$04
|
||||
CLC
|
||||
RTS
|
||||
CMP #$02
|
||||
BNE *+$07
|
||||
LDA #$2B
|
||||
JMP *+$12
|
||||
CMP #$01
|
||||
BNE *+$07
|
||||
LDA #$27
|
||||
JMP *+$09
|
||||
CLC
|
||||
ADC #$30
|
||||
JMP *+$03
|
||||
SEC
|
||||
RTS
|
||||
ASL A
|
||||
ASL *+$400
|
||||
STA *+$40F
|
||||
TXA
|
||||
LSR A
|
||||
LSR A
|
||||
LSR A
|
||||
LSR A
|
||||
TAY
|
||||
LDA *+$406
|
||||
JSR *+$193
|
||||
LSR *+$3EE
|
||||
RTS
|
||||
TAX
|
||||
AND #$70
|
||||
STA *+$3E6
|
||||
TXA
|
||||
LDX *+$3E2
|
||||
ROL A
|
||||
LDA #$00
|
||||
ROL A
|
||||
BNE *+$08
|
||||
LDA $C08A,X
|
||||
JMP *+$06
|
||||
LDA $C08B,X
|
||||
LDA $C089,X
|
||||
LDA #$D7
|
||||
STA $DA
|
||||
LDA #$50
|
||||
STA *+$3C8
|
||||
LDA #$00
|
||||
JSR *-$3E
|
||||
LDA $DA
|
||||
BEQ *+$08
|
||||
JSR *+$2D2
|
||||
JMP *-$07
|
||||
LDA #$01
|
||||
STA $D3
|
||||
LDA #$AA
|
||||
STA $D0
|
||||
LDA *+$3AA
|
||||
CLC
|
||||
ADC #$02
|
||||
STA $D4
|
||||
LDA #$00
|
||||
STA $D1
|
||||
LDA $D1
|
||||
LDX *+$39F
|
||||
JSR *-$64
|
||||
LDX *+$399
|
||||
LDA $C08D,X
|
||||
LDA $C08E,X
|
||||
TAY
|
||||
LDA $C08E,X
|
||||
LDA $C08C,X
|
||||
TYA
|
||||
BPL *+$07
|
||||
LDA #$02
|
||||
JMP *+$5A
|
||||
JSR *+$2C1
|
||||
BCC *+$10
|
||||
LDA #$01
|
||||
LDY $D4
|
||||
CPY *+$374
|
||||
BCS *+$04
|
||||
LDA #$04
|
||||
JMP *+$47
|
||||
LDY $D4
|
||||
CPY *+$368
|
||||
BCS *+$07
|
||||
LDA #$04
|
||||
JMP *+$3B
|
||||
CPY *+$35F
|
||||
BCC *+$07
|
||||
LDA #$03
|
||||
JMP *+$31
|
||||
LDA *+$357
|
||||
STA *+$357
|
||||
DEC *+$354
|
||||
BNE *+$07
|
||||
LDA #$01
|
||||
JMP *+$21
|
||||
LDX *+$348
|
||||
JSR *+$8C
|
||||
BCS *-$10
|
||||
LDA $D8
|
||||
BNE *-$14
|
||||
LDX *+$33C
|
||||
JSR *+$1D
|
||||
BCS *-$1C
|
||||
INC $D1
|
||||
LDA $D1
|
||||
CMP #$23
|
||||
BCC *-$73
|
||||
LDA #$00
|
||||
PHA
|
||||
LDX *+$329
|
||||
LDA $C088,X
|
||||
LDA #$00
|
||||
JSR *-$DF
|
||||
PLA
|
||||
RTS
|
||||
LDY #$20
|
||||
DEY
|
||||
BEQ *+$5E
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
EOR #$D5
|
||||
BNE *-$0A
|
||||
NOP
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$AA
|
||||
BNE *-$0C
|
||||
LDY #$56
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$AD
|
||||
BNE *-$17
|
||||
LDA #$00
|
||||
DEY
|
||||
STY $D5
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$96
|
||||
BNE *+$32
|
||||
LDY $D5
|
||||
BNE *-$0E
|
||||
STY $D5
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$96
|
||||
BNE *+$23
|
||||
LDY $D5
|
||||
INY
|
||||
BNE *-$0E
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$96
|
||||
BNE *+$15
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$DE
|
||||
BNE *+$0C
|
||||
NOP
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$AA
|
||||
BEQ *+$5E
|
||||
SEC
|
||||
RTS
|
||||
LDY #$FC
|
||||
STY $DC
|
||||
INY
|
||||
BNE *+$06
|
||||
INC $DC
|
||||
BEQ *-$0B
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$D5
|
||||
BNE *-$0E
|
||||
NOP
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$AA
|
||||
BNE *-$0C
|
||||
LDY #$03
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$96
|
||||
BNE *-$17
|
||||
LDA #$00
|
||||
STA $DB
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
ROL A
|
||||
STA $DD
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
AND $DD
|
||||
STA $D7,Y
|
||||
EOR $DB
|
||||
DEY
|
||||
BPL *-$17
|
||||
TAY
|
||||
BNE *-$47
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$DE
|
||||
BNE *-$50
|
||||
NOP
|
||||
LDA $C08C,X
|
||||
BPL *-$03
|
||||
CMP #$AA
|
||||
BNE *-$5A
|
||||
CLC
|
||||
RTS
|
||||
STX *+$271
|
||||
STA *+$26D
|
||||
CMP *+$258
|
||||
BEQ *+$5E
|
||||
LDA #$00
|
||||
STA *+$265
|
||||
LDA *+$24E
|
||||
STA *+$260
|
||||
SEC
|
||||
SBC *+$259
|
||||
BEQ *+$39
|
||||
BCS *+$09
|
||||
EOR #$FF
|
||||
INC *+$23E
|
||||
BCC *+$07
|
||||
ADC #$FE
|
||||
DEC *+$237
|
||||
CMP *+$248
|
||||
BCC *+$05
|
||||
LDA *+$243
|
||||
CMP #$0C
|
||||
BCS *+$03
|
||||
TAY
|
||||
SEC
|
||||
JSR *+$1F
|
||||
LDA *+$14A,Y
|
||||
JSR *+$136
|
||||
LDA *+$232
|
||||
CLC
|
||||
JSR *+$15
|
||||
LDA *+$149,Y
|
||||
JSR *+$129
|
||||
INC *+$224
|
||||
BNE *-$41
|
||||
JSR *+$121
|
||||
CLC
|
||||
LDA *+$207
|
||||
AND #$03
|
||||
ROL A
|
||||
ORA *+$214
|
||||
TAX
|
||||
LDA $C080,X
|
||||
LDX *+$20D
|
||||
RTS
|
||||
JSR *+$1E0
|
||||
LDA $C08D,X
|
||||
LDA $C08E,X
|
||||
LDA #$FF
|
||||
STA $C08F,X
|
||||
CMP $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
NOP
|
||||
LDY #$04
|
||||
PHA
|
||||
PLA
|
||||
JSR *+$5F
|
||||
DEY
|
||||
BNE *-$06
|
||||
LDA #$D5
|
||||
JSR *+$56
|
||||
LDA #$AA
|
||||
JSR *+$51
|
||||
LDA #$AD
|
||||
JSR *+$4C
|
||||
LDY #$56
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
BNE *+$05
|
||||
JSR *+$1AC
|
||||
NOP
|
||||
NOP
|
||||
LDA #$96
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
DEY
|
||||
BNE *-$0E
|
||||
BIT $00
|
||||
NOP
|
||||
JSR *+$199
|
||||
LDA #$96
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
LDA #$96
|
||||
NOP
|
||||
INY
|
||||
BNE *-$0F
|
||||
JSR *+$1E
|
||||
LDA #$DE
|
||||
JSR *+$19
|
||||
LDA #$AA
|
||||
JSR *+$14
|
||||
LDA #$EB
|
||||
JSR *+$0F
|
||||
LDA #$FF
|
||||
JSR *+$0A
|
||||
LDA $C08E,X
|
||||
LDA $C08C,X
|
||||
RTS
|
||||
NOP
|
||||
PHA
|
||||
PLA
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
RTS
|
||||
SEC
|
||||
LDA $C08D,X
|
||||
LDA $C08E,X
|
||||
BMI *+$60
|
||||
LDA #$FF
|
||||
STA $C08F,X
|
||||
CMP $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
JSR *+$5A
|
||||
JSR *+$57
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
NOP
|
||||
DEY
|
||||
BNE *-$0E
|
||||
LDA #$D5
|
||||
JSR *+$5A
|
||||
LDA #$AA
|
||||
JSR *+$55
|
||||
LDA #$96
|
||||
JSR *+$50
|
||||
LDA $D3
|
||||
JSR *+$3A
|
||||
LDA $D1
|
||||
JSR *+$35
|
||||
LDA $D2
|
||||
JSR *+$30
|
||||
LDA $D3
|
||||
EOR $D1
|
||||
EOR $D2
|
||||
PHA
|
||||
LSR A
|
||||
ORA $D0
|
||||
STA $C08D,X
|
||||
LDA $C08C,X
|
||||
PLA
|
||||
ORA #$AA
|
||||
JSR *+$2A
|
||||
LDA #$DE
|
||||
JSR *+$26
|
||||
LDA #$AA
|
||||
JSR *+$21
|
||||
LDA #$EB
|
||||
JSR *+$1C
|
||||
CLC
|
||||
LDA $C08E,X
|
||||
LDA $C08C,X
|
||||
RTS
|
||||
PHA
|
||||
LSR A
|
||||
ORA $D0
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
PLA
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
ORA #$AA
|
||||
NOP
|
||||
NOP
|
||||
PHA
|
||||
PLA
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
RTS
|
||||
BRK
|
||||
BRK
|
||||
BRK
|
||||
LDX #$11
|
||||
DEX
|
||||
BNE *-$01
|
||||
INC $D9
|
||||
BNE *+$04
|
||||
INC $DA
|
||||
SEC
|
||||
SBC #$01
|
||||
BNE *-$0E
|
||||
RTS
|
||||
DFB $01,$30,$28
|
||||
DFB $24,$20,$1E
|
||||
DFB $1D,$1C,$1C
|
||||
DFB $1C,$1C,$1C
|
||||
DFB $70,$2C,$26
|
||||
DFB $22,$1F,$1E
|
||||
DFB $1D,$1C,$1C
|
||||
DFB $1C,$1C,$1C
|
||||
LDA *+$BE
|
||||
STA $D6
|
||||
LDY #$80
|
||||
LDA #$00
|
||||
STA $D2
|
||||
JMP *+$05
|
||||
LDY $D4
|
||||
LDX *+$B0
|
||||
JSR *-$C8
|
||||
BCC *+$05
|
||||
JMP *+$93
|
||||
LDX *+$A5
|
||||
JSR *-$153
|
||||
INC $D2
|
||||
LDA $D2
|
||||
CMP #$10
|
||||
BCC *-$19
|
||||
LDY #$0F
|
||||
STY $D2
|
||||
LDA *+$92
|
||||
STA *+$92
|
||||
STA *+$90,Y
|
||||
DEY
|
||||
BPL *-$04
|
||||
LDA $D4
|
||||
SEC
|
||||
SBC #$05
|
||||
TAY
|
||||
JSR *+$6C
|
||||
JSR *+$69
|
||||
PHA
|
||||
PLA
|
||||
NOP
|
||||
NOP
|
||||
DEY
|
||||
BNE *-$0B
|
||||
LDX *+$74
|
||||
JSR *-$248
|
||||
BCS *+$3E
|
||||
LDA $D8
|
||||
BEQ *+$15
|
||||
DEC $D4
|
||||
LDA $D4
|
||||
CMP *+$60
|
||||
BCS *+$31
|
||||
SEC
|
||||
RTS
|
||||
LDX *+$5D
|
||||
JSR *-$25F
|
||||
BCS *+$1C
|
||||
LDX *+$55
|
||||
JSR *-$2CA
|
||||
BCS *+$14
|
||||
LDY $D8
|
||||
LDA *+$4E,Y
|
||||
BMI *+$0D
|
||||
LDA #$FF
|
||||
STA *+$47,Y
|
||||
DEC $D2
|
||||
BPL *-$1E
|
||||
CLC
|
||||
RTS
|
||||
DEC *+$3D
|
||||
BNE *-$25
|
||||
DEC $D6
|
||||
BNE *+$04
|
||||
SEC
|
||||
RTS
|
||||
LDA *+$2F
|
||||
ASL A
|
||||
STA *+$2E
|
||||
LDX *+$29
|
||||
JSR *-$293
|
||||
BCS *+$08
|
||||
LDA $D8
|
||||
CMP #$0F
|
||||
BEQ *+$09
|
||||
DEC *+$1D
|
||||
BNE *-$11
|
||||
SEC
|
||||
RTS
|
||||
LDX #$D6
|
||||
JSR *-$03
|
||||
JSR *-$06
|
||||
BIT $00
|
||||
DEX
|
||||
BNE *-$09
|
||||
JMP *-$B4
|
||||
DFB $13,$19,$03
|
||||
DFB $10,$00,$00
|
||||
DFB $00,$00,$00
|
||||
DFB $00,$00,$00
|
||||
DFB $00,$00,$00
|
||||
DFB $00,$00,$00
|
||||
DFB $00,$00,$00
|
||||
DFB $00,$00,$00
|
||||
DFB $00,$00,$00
|
101
source/t.ultra.s
Normal file
101
source/t.ultra.s
Normal file
@ -0,0 +1,101 @@
|
||||
*
|
||||
* 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
|
Loading…
x
Reference in New Issue
Block a user