2018-01-18 06:49:41 +00:00
|
|
|
|
NEW
|
2019-06-02 10:58:46 +02:00
|
|
|
|
AUTO 3,1
|
2021-04-29 13:56:34 +02:00
|
|
|
|
.LIST OFF
|
2015-10-19 22:35:00 +02:00
|
|
|
|
*--------------------------------------
|
2019-04-01 07:07:56 +01:00
|
|
|
|
HIS.Init >LDYAI HISTORY.MAX Get a buffer for History
|
2021-04-29 13:56:34 +02:00
|
|
|
|
|
|
|
|
|
>SYSCALL StrVNew
|
2015-10-19 22:35:00 +02:00
|
|
|
|
bcs .9
|
|
|
|
|
|
2017-09-08 16:49:23 +02:00
|
|
|
|
>STA.G HIS.hBuf
|
2020-02-02 19:24:40 +01:00
|
|
|
|
|
|
|
|
|
>STZ.G HIS.Count
|
2017-09-25 17:50:33 +02:00
|
|
|
|
>STA.G HIS.Index
|
2021-04-29 13:56:34 +02:00
|
|
|
|
>STA.G HIS.LRU
|
2015-10-19 22:35:00 +02:00
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
2017-09-08 16:49:23 +02:00
|
|
|
|
HIS.Add >LDA.G HIS.hBuf
|
2015-10-19 22:35:00 +02:00
|
|
|
|
beq .9
|
2020-01-28 17:42:51 +01:00
|
|
|
|
|
2021-04-29 13:56:34 +02:00
|
|
|
|
>LDA.G HIS.Count
|
|
|
|
|
cmp #HIS.MAX
|
|
|
|
|
bcc .2
|
|
|
|
|
|
|
|
|
|
>LDA.G HIS.LRU
|
|
|
|
|
tax
|
|
|
|
|
inc
|
|
|
|
|
cmp #HIS.MAX
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
|
|
|
|
|
|
.1 >STA.G HIS.LRU
|
|
|
|
|
bra .7
|
|
|
|
|
|
|
|
|
|
.2 tax
|
|
|
|
|
>INC.G HIS.Count
|
|
|
|
|
|
|
|
|
|
.7 >PUSHB.G HIS.hBuf
|
|
|
|
|
>PUSHBI 0
|
|
|
|
|
txa
|
2020-02-02 15:58:01 +01:00
|
|
|
|
>PUSHA
|
|
|
|
|
>PUSHW ZPCLBuf
|
2021-04-29 13:56:34 +02:00
|
|
|
|
>SYSCALL StrVSet
|
|
|
|
|
|
|
|
|
|
>STZ.G HIS.Index Reset Index
|
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
HIS.Select >LDA.G HIS.Count
|
|
|
|
|
beq .8
|
|
|
|
|
|
|
|
|
|
>STZ.G HIS.Index
|
|
|
|
|
|
|
|
|
|
.1 jsr HIS.GetIndex
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
>PUSHW L.MSG.HISTORY
|
|
|
|
|
>PUSHB.G HIS.Index
|
|
|
|
|
>PUSHW ZPCLBuf
|
|
|
|
|
>PUSHBI 3
|
|
|
|
|
>SYSCALL PrintF
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
>INC.G HIS.Index
|
|
|
|
|
>CMP.G HIS.Count
|
|
|
|
|
bne .1
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2021-04-29 13:56:34 +02:00
|
|
|
|
>PUSHW L.MSG.HISTORYPROMPT
|
|
|
|
|
>PUSHBI 0
|
|
|
|
|
>SYSCALL PrintF
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2021-04-29 13:56:34 +02:00
|
|
|
|
>SYSCALL GetChar
|
|
|
|
|
bcs HIS.Select.RTS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* >PUSHW L.MSG.ECHOCRLF
|
|
|
|
|
* >PUSHBI 0
|
|
|
|
|
* >SYSCALL PrintF
|
|
|
|
|
|
|
|
|
|
jsr CL.PrintPrompt
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
bra HIS.Reset
|
|
|
|
|
|
|
|
|
|
.8 clc
|
2020-02-07 13:53:46 +01:00
|
|
|
|
.9
|
2021-04-29 13:56:34 +02:00
|
|
|
|
|
|
|
|
|
HIS.Select.RTS rts
|
2015-10-19 22:35:00 +02:00
|
|
|
|
*--------------------------------------
|
2017-09-08 16:49:23 +02:00
|
|
|
|
HIS.GetPrev >LDA.G HIS.hBuf
|
2021-04-29 13:56:34 +02:00
|
|
|
|
beq HIS.Select.RTS
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2017-09-25 17:50:33 +02:00
|
|
|
|
>LDA.G HIS.Count
|
2021-04-29 13:56:34 +02:00
|
|
|
|
beq HIS.Select.RTS empty history,nothing to do
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2017-09-25 17:50:33 +02:00
|
|
|
|
>LDA.G HIS.Index
|
|
|
|
|
bne .1
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2017-09-25 17:50:33 +02:00
|
|
|
|
>LDA.G HIS.Count
|
2021-04-29 13:56:34 +02:00
|
|
|
|
|
2017-09-25 17:50:33 +02:00
|
|
|
|
.1 dec
|
2021-04-29 13:56:34 +02:00
|
|
|
|
bra HIS.GetToCL
|
2015-10-19 22:35:00 +02:00
|
|
|
|
*--------------------------------------
|
2017-09-08 16:49:23 +02:00
|
|
|
|
HIS.GetNext >LDA.G HIS.hBuf
|
2021-04-29 13:56:34 +02:00
|
|
|
|
beq HIS.Select.RTS
|
2015-10-19 22:35:00 +02:00
|
|
|
|
|
2017-09-25 17:50:33 +02:00
|
|
|
|
>LDA.G HIS.Count
|
2021-04-29 13:56:34 +02:00
|
|
|
|
beq HIS.Select.RTS empty history,nothing to do
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2017-09-25 17:50:33 +02:00
|
|
|
|
>LDA.G HIS.Index
|
|
|
|
|
inc
|
|
|
|
|
>CMP.G HIS.Count
|
2021-04-29 13:56:34 +02:00
|
|
|
|
bne HIS.GetToCL
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2021-04-29 13:56:34 +02:00
|
|
|
|
HIS.Reset >STZ.G HIS.Index
|
2017-11-08 17:09:52 +01:00
|
|
|
|
jmp CL.CLR
|
2017-09-26 17:55:25 +02:00
|
|
|
|
*--------------------------------------
|
2021-04-29 13:56:34 +02:00
|
|
|
|
HIS.GetToCL >STA.G HIS.Index
|
2017-09-26 17:55:25 +02:00
|
|
|
|
|
2019-07-31 17:10:59 +02:00
|
|
|
|
jsr CL.CLR
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2021-04-29 13:56:34 +02:00
|
|
|
|
jsr HIS.GetIndex
|
|
|
|
|
bcs .9
|
2020-02-02 15:58:01 +01:00
|
|
|
|
|
2020-02-02 16:56:46 +01:00
|
|
|
|
ldy #$ff
|
2021-04-29 13:56:34 +02:00
|
|
|
|
|
2020-02-02 16:56:46 +01:00
|
|
|
|
.1 iny
|
|
|
|
|
lda (ZPCLBuf),y
|
|
|
|
|
bne .1
|
2021-04-29 13:56:34 +02:00
|
|
|
|
|
2020-02-02 16:56:46 +01:00
|
|
|
|
tya
|
2021-04-29 13:56:34 +02:00
|
|
|
|
|
2020-02-02 16:56:46 +01:00
|
|
|
|
>STA.G CL.Ptr
|
2018-11-10 15:30:09 +01:00
|
|
|
|
>STA.G CL.Len
|
2019-01-26 21:46:39 +00:00
|
|
|
|
jmp CL.PrintCLBuf
|
2021-04-29 13:56:34 +02:00
|
|
|
|
|
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
HIS.GetIndex >PUSHB.G HIS.hBuf
|
|
|
|
|
>PUSHBI 0
|
|
|
|
|
>PUSHB.G HIS.Index
|
|
|
|
|
>PUSHW ZPCLBuf
|
|
|
|
|
>SYSCALL StrVGet
|
|
|
|
|
rts
|
2015-10-19 22:35:00 +02:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
2020-05-26 16:23:09 +02:00
|
|
|
|
SAVE usr/src/bin/sh.s.his
|
|
|
|
|
LOAD usr/src/bin/sh.s
|
2015-10-19 22:35:00 +02:00
|
|
|
|
ASM
|