home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
SOURCE
/
DISPNOTE.BAK.txt
< prev
next >
Wrap
Text File
|
2020-08-13
|
7KB
|
230 lines
;
; DISPNOTE.SRC
;
;
ORG $1000
;
ORIGIN JMP ENTER
;
DISPMODE DFB $00 ; 00=UCS, NON ZERO = LCF
;
DURL DFB $00
DURH DFB $00
NOTE DFB $00
VEL DFB $00
;
; ENTRY POINT FOR CLEANUP =$1008
;
JMP CLEANUP
;
NOTEMODE DFB $00
;
DASH ASC "-"
SPACE ASC " "
VBAR ASC "|"
;
SHIFT DFB $17
;
PDURL DFB $00
PDURH DFB $00
;
; DUR/NOTE/VEL ARE POPULATED UPON ENTRY
;
ENTER LDA DURL
BNE NONZERO
LDA DURH
BEQ DURZERO
NONZERO JSR FILLDUR
DURZERO LDA NOTEMODE
BEQ NOTE0
LDA VEL
BNE CONTINUE
LDA #$00
STA NOTEMODE
LDA DURL
BNE DONEWLN
LDA DURH
BNE CONTINUE
;
CLV
BVC DONEWLN
;
CONTINUE LDA DASH
LDX NOTEMODE
CPX #$00
BEQ STORLINE
LDX NOTE
LDA DISPMODE
BNE DISPLCF
LDA UCS,X
CLV
BVC STORLINE
DISPLCF LDA LCF,X
STORLINE LDX NOTE
STA LINE,X
RTS
;
NOTE0 LDA VEL
BEQ CONTINUE
INC NOTEMODE
JSR NEWLINE
JMP CONTINUE
;
DONEWLN JSR NEWLINE
JMP NOTE0
;
NEWLINE LDX SHIFT
LDY #$48
PRNTLOOP LDA LINE,X
JSR $FDED
INX
DEY
BNE PRNTLOOP
JSR PRNTADRS
;
LDX #$7F
LOOPLINE LDA LINE,X
CMP DASH
BEQ DASHFND
LDA VBAR ;IF NOT A DASH, STORE A VBAR
STA LINE,X
CLV
BVC NEXTX
;
DASHFND LDA SPACE ;IF DASH, SPACE IT OUT
STA LINE,X
;
NEXTX DEX
BPL LOOPLINE
LDA #$00
STA PDURL
STA PDURH
RTS
;
FILLDUR LDA DURL
STA PDURL
LDA DURH
STA PDURH
JSR NEWLINE
RTS
;
CLEANUP LDX #$7F
LDA #$A0
SPACEALL STA LINE,X
DEX
BNE SPACEALL
BEQ CR
;
PRNTADRS LDA $07
JSR $FDDA
LDA $06
JSR $FDDA
LDA PDURL
BNE PDUR
LDA PDURH
BNE PDUR
;
CR LDA #$8D
JMP $FDED
;
PDUR LDA PDURL
STA $51
LDA PDURH
STA $50
JSR HEXDEC
JSR PRNTDEC
RTS
;
HEXDEC LDA #$0A
STA $53
LDY #$04
;
HEXDEC0 LDX #$10
LDA #$00
STA $52
CLC
;
HEXDEC1 ROL $50
ROL $51
ROL $52
DEX
BMI HEXDEC2
LDA $52
SEC
SBC $53
BCC HEXDEC1
STA $52
BCS HEXDEC1
;
HEXDEC2 CLC
ROR $52
LDA $52
ORA #$B0
STA DEC1,Y
DEY
BPL HEXDEC0
RTS
;
PRNTDEC LDA DEC2
CMP #$B0
BNE OVER1000
LDA #$A0
;
OVER1000 JSR $FDED
LDA DEC3
JSR $FDED
LDA DEC4
JSR $FDED
LDA DEC5
JSR $FDED
RTS
;
DEC1 DFB $B0
DEC2 DFB $B0
DEC3 DFB $B0
DEC4 DFB $B0
DEC5 DFB $B0
;
LINE DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
;
UCS ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFgGaAb"
ASC "cCdDefFg"
;
LCF ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgGaAbB"
ASC "CdDeEFgG"
;
EOF BRK