EDIT:Several bugs fixed, mainly memleak & DLG

This commit is contained in:
burniouf 2021-07-11 10:56:44 +02:00
parent e73519e529
commit 422da82da1
7 changed files with 122 additions and 122 deletions

Binary file not shown.

View File

@ -497,17 +497,16 @@ Ctrl.S >LDYA L.DLG.SAVE
jsr FILE.Save jsr FILE.Save
bcc .1 bcc .1
>PUSHA ERROR CODE pha
jsr SCRN.ResetStatusBar jsr SCRN.ResetStatusBar
>PUSHBI 1
>PUSHW L.MSG.STATUSBAR.E >PUSHW L.MSG.STATUSBAR.E
pla
>PUSHA ERROR CODE
>PUSHBI 1
bra .2 bra .2
.1 jsr SCRN.UpdateTopBar .1 jsr SCRN.ResetStatusBar
jsr SCRN.ResetStatusBar
>PUSHW LineBufPtr >PUSHW LineBufPtr
>PUSHW L.MSG.STATUSBAR.S >PUSHW L.MSG.STATUSBAR.S
@ -522,7 +521,9 @@ Ctrl.S >LDYA L.DLG.SAVE
jsr SCRN.LineBufOut jsr SCRN.LineBufOut
bcs .9 bcs .9
.8 jmp SCRN.GotoCurXCurY .8 jsr SCRN.UpdateTopBar
jmp SCRN.GotoCurXCurY
.9 rts .9 rts
*-------------------------------------- *--------------------------------------

View File

@ -300,35 +300,45 @@ DLG.CTRL.Draw.OL
ldy TmpByte ldy TmpByte
lda (ZPPTR1),y lda (ZPPTR1),y
tay S.DLG.Ctrl.OL
iny X
iny Y
iny shortcut
iny varptr
lda (ZPPTR1),y
phy
tay tay
lda (pData),y
ply
iny iny value
iny
iny
iny eor (ZPPTR1),y
iny tax
lda (ZPPTR1),y value iny label
sta TmpCount
iny lda #"("
.1 lda #"("
jsr SCRN.ToLineBuf jsr SCRN.ToLineBuf
lda #"o" lda #"o"
cpx TmpCount cpx #0
beq .2 beq .2
lda #C.SPACE lda #C.SPACE
.2 jsr SCRN.ToLineBuf .2 jsr SCRN.ToLineBuf
lda #")" lda #")"
jsr SCRN.ToLineBuf jsr SCRN.ToLineBuf
lda #C.SPACE lda #C.SPACE
jsr SCRN.ToLineBuf jsr SCRN.ToLineBuf
.3 lda (ZPPTR1),y .3 lda (ZPPTR1),y
beq .4 beq .4
jsr SCRN.ToLineBuf jsr SCRN.ToLineBuf
iny iny
bra .3 bra .3
@ -772,15 +782,20 @@ DLG.CTRL.CharIn.OL
phy phy
iny iny X
iny iny Y
iny iny shortcut
iny
iny
lda (ZPPTR1),y VALUE iny varptr
dey
sta (pData),y VAR lda (ZPPTR1),y
pha
iny value
lda (ZPPTR1),y
ply
sta (pData),y
pla pla
jsr DLG.CTRL.Draw jsr DLG.CTRL.Draw

View File

@ -6,7 +6,7 @@ FILE.New jsr FILE.Reset
>LDYA L.MSG.NEWFILE >LDYA L.MSG.NEWFILE
FILE.New.1 >PUSHYA FILE.RealPath >PUSHYA
>PUSHWI 0 Allocate >PUSHWI 0 Allocate
>SYSCALL RealPath >SYSCALL RealPath
bcs .9 bcs .9
@ -16,10 +16,13 @@ FILE.New.1 >PUSHYA
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
FILE.Load jsr FILE.Reset FILE.Load jsr FILE.RealPath
bcs .9
jsr FILE.GetTmpBuf jsr FILE.Reset
bcs FILE.Load.RTS
>LDYA.G LineBufBase
>STYA LineBufPtr
ldx #S.FI.T.TXT ldx #S.FI.T.TXT
lda #O.RDONLY lda #O.RDONLY
@ -29,17 +32,17 @@ FILE.Load jsr FILE.Reset
jsr FILE.Load.TXT jsr FILE.Load.TXT
jmp FILE.Close jmp FILE.Close
.1 ldx #$FA .1 ldx #S.FI.T.ASM
lda #O.RDONLY lda #O.RDONLY
jsr FILE.OpenAX jsr FILE.OpenAX
bcs .9 bcs .8
jsr FILE.Load.ASM jsr FILE.Load.ASM
jmp FILE.Close jmp FILE.Close
.9 >LDA.G hFileName .8 clc
>SYSCALL GetMemPtr
bra FILE.New.1 .9 rts
*-------------------------------------- *--------------------------------------
FILE.Load.TXT FILE.Load.TXT
.1 ldy #0 .1 ldy #0
@ -50,14 +53,14 @@ FILE.Load.TXT
ldy #0 ldy #0
.2 lda (ZPPTR1),y .2 lda (LineBufPtr),y
cmp #C.LF cmp #C.LF
bne .3 bne .3
phy phy
lda #2 lda #1
>STA.G FileType >STA.G FileType
ply ply
@ -85,14 +88,14 @@ FILE.Load.TXT
FILE.Load.RTS rts FILE.Load.RTS rts
*-------------------------------------- *--------------------------------------
FILE.Load.ASM lda #4 FILE.Load.ASM lda #2
>STA.G FileType >STA.G FileType
.1 ldy #3 .1 ldy #3
jsr FILE.ReadY jsr FILE.ReadY
bcs .7 bcs .7
lda (ZPPTR1) lda (LineBufPtr)
dec dec
dec dec
dec dec
@ -119,7 +122,7 @@ FILE.Load.ASM lda #4
FILE.Load.ASM.Decode FILE.Load.ASM.Decode
ldy #0 ldy #0
.1 lda (ZPPTR1),y .1 lda (LineBufPtr),y
beq .8 beq .8
iny iny
@ -134,11 +137,11 @@ FILE.Load.ASM.Decode
.2 cmp #$C0 REPEAT char? .2 cmp #$C0 REPEAT char?
bne .5 bne .5
lda (ZPPTR1),y Get Repeat Count lda (LineBufPtr),y Get Repeat Count
iny iny
tax tax
.4 lda (ZPPTR1),y Get Repeat Char .4 lda (LineBufPtr),y Get Repeat Char
jsr FILE.Load.2Buf jsr FILE.Load.2Buf
bcs .9 bcs .9
@ -200,12 +203,12 @@ FILE.Load.2Buf phy
ply ply
FILE.Save.9 rts FILE.Save.9 rts
*-------------------------------------- *--------------------------------------
FILE.Save jsr FILE.GetTmpBuf FILE.Save >LDYA.G LineBufBase
bcs FILE.Save.9 >STYA LineBufPtr
>LDA.G FileType >LDA.G FileType
asl
tax tax
jmp (J.SAVE,x) jmp (J.SAVE,x)
*-------------------------------------- *--------------------------------------
FILE.Save.CR clc FILE.Save.CR clc
@ -229,7 +232,7 @@ FILE.Save.CRLF sec
.2 iny .2 iny
lda (BufPtr),y lda (BufPtr),y
sta (ZPPTR1),y sta (LineBufPtr),y
beq .3 beq .3
cmp #C.CR cmp #C.CR
@ -243,7 +246,7 @@ FILE.Save.CRLF sec
iny iny
lda #C.LF lda #C.LF
sta (ZPPTR1),y sta (LineBufPtr),y
.3 tya .3 tya
beq .8 beq .8
@ -281,11 +284,11 @@ FILE.Save.ASM stz TmpLen
ldy #1 ldy #1
lda TmpLen lda TmpLen
sta (ZPPTR1),y sta (LineBufPtr),y
iny iny
lda TmpLen+1 lda TmpLen+1
sta (ZPPTR1),y sta (LineBufPtr),y
ldy #0 ldy #0
@ -327,7 +330,7 @@ FILE.Save.ASM stz TmpLen
cpx #3 cpx #3
bcs .62 bcs .62
.63 sta (ZPPTR1),y .63 sta (LineBufPtr),y
iny iny
dex dex
bpl .63 bpl .63
@ -336,33 +339,33 @@ FILE.Save.ASM stz TmpLen
.62 pha .62 pha
lda #$C0 lda #$C0
sta (ZPPTR1),y sta (LineBufPtr),y
iny iny
txa txa
sta (ZPPTR1),y sta (LineBufPtr),y
iny iny
pla pla
sta (ZPPTR1),y sta (LineBufPtr),y
iny iny
bra .4 bra .4
.61 txa .61 txa
ora #$C0 ora #$C0
.60 sta (ZPPTR1),y .60 sta (LineBufPtr),y
iny iny
bra .4 bra .4
.7 lda #0 .7 lda #0
sta (ZPPTR1),y sta (LineBufPtr),y
iny iny
tya tya
sta (ZPPTR1) sta (LineBufPtr)
jsr FILE.WriteY jsr FILE.WriteY
bcs FILE.Close bcs FILE.Close
@ -377,12 +380,8 @@ FILE.Save.ASM stz TmpLen
*-------------------------------------- *--------------------------------------
FILE.Close php FILE.Close php
pha pha
lda TmpByte
beq .1
>SYSCALL FreeMem lda TmpIndex hFile
.1 lda TmpIndex hFile
beq .2 beq .2
>SYSCALL FClose >SYSCALL FClose
@ -413,7 +412,7 @@ FILE.OpenAX stz TmpIndex hFile
FILE.ReadY phy FILE.ReadY phy
>PUSHB TmpIndex hFile >PUSHB TmpIndex hFile
>PUSHW ZPPTR1 >PUSHW LineBufPtr
lda #0 lda #0
ply ply
@ -428,13 +427,13 @@ FILE.ReadY phy
FILE.WriteY phy FILE.WriteY phy
>PUSHB TmpIndex hFile >PUSHB TmpIndex hFile
>PUSHW ZPPTR1 >PUSHW LineBufPtr
ply ply
lda #0 lda #0
>PUSHYA >PUSHYA
>SYSCALL FWrite >SYSCALL FWrite
rts FILE.WriteY.RTS rts
*-------------------------------------- *--------------------------------------
FILE.Reset >LDA.G hBuf FILE.Reset >LDA.G hBuf
beq .1 beq .1
@ -442,7 +441,7 @@ FILE.Reset >LDA.G hBuf
>SYSCALL FreeMem >SYSCALL FreeMem
.1 >STZ.G hBuf .1 >STZ.G hBuf
>STA.G FileType >STA.G FileType TXT/CR
stz FileLen stz FileLen
stz FileLen+1 stz FileLen+1
@ -451,7 +450,7 @@ FILE.Reset >LDA.G hBuf
>LDYAI FILEBUF.SIZE >LDYAI FILEBUF.SIZE
>STYA BufLen >STYA BufLen
>SYSCALL GetMem >SYSCALL GetMem
bcs FILE.GetTmpBuf.RTS bcs FILE.WriteY.RTS
>STYA BufPtr >STYA BufPtr
>STYA.G BufBase >STYA.G BufBase
@ -463,17 +462,6 @@ FILE.Reset >LDA.G hBuf
jmp SCRN.UpdateStatusBar jmp SCRN.UpdateStatusBar
*-------------------------------------- *--------------------------------------
FILE.GetTmpBuf >LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA ZPPTR1
stx TmpByte
.9
FILE.GetTmpBuf.RTS
rts
*--------------------------------------
MAN MAN
SAVE usr/src/bin/edit.s.file SAVE usr/src/bin/edit.s.file
LOAD usr/src/bin/edit.s LOAD usr/src/bin/edit.s

View File

@ -92,6 +92,7 @@ SCRN.UpdateTopBar.1
>SYSCALL GetMemPtr >SYSCALL GetMemPtr
>PUSHYA >PUSHYA
>LDA.G FileType >LDA.G FileType
asl
tax tax
>PUSHW L.MSG.FILETYPES,x >PUSHW L.MSG.FILETYPES,x

View File

@ -74,7 +74,7 @@ L.MSG.TERMCAP .DA MSG.TERMCAP
L.MSG.TOPBAR .DA MSG.TOPBAR L.MSG.TOPBAR .DA MSG.TOPBAR
L.MSG.FILETYPES .DA MSG.TXTCR L.MSG.FILETYPES .DA MSG.TXTCR
.DA MSG.TXTCRLF .DA MSG.TXTCRLF
.DA MSG.TXTASM .DA MSG.ASM
L.MSG.STATUSBAR .DA MSG.STATUSBAR L.MSG.STATUSBAR .DA MSG.STATUSBAR
L.MSG.STATUSBAR.H .DA MSG.STATUSBAR.H L.MSG.STATUSBAR.H .DA MSG.STATUSBAR.H
L.MSG.STATUSBAR.U .DA MSG.STATUSBAR.U L.MSG.STATUSBAR.U .DA MSG.STATUSBAR.U
@ -162,6 +162,7 @@ CS.RUN >PUSHW L.MSG.TERMCAP
>LDYAI 510+5+5+4+1 potentially 255*\\ NORM,INV,CEOL & \0 >LDYAI 510+5+5+4+1 potentially 255*\\ NORM,INV,CEOL & \0
>SYSCALL GetMem >SYSCALL GetMem
bcs CS.INIT.RTS bcs CS.INIT.RTS
>STYA.G LineBufBase >STYA.G LineBufBase
txa txa
>STA.G hLineBuf >STA.G hLineBuf
@ -170,12 +171,6 @@ CS.RUN >PUSHW L.MSG.TERMCAP
>SYSCALL ArgV >SYSCALL ArgV
bcs .2 No arg, new file.... bcs .2 No arg, new file....
>PUSHYA
>PUSHWI 0 Allocate
>SYSCALL RealPath
bcs CS.INIT.RTS
txa
>STA.G hFileName
jsr FILE.Load jsr FILE.Load
bcc .3 if CS, Failed to load file, keep name, but new file.... bcc .3 if CS, Failed to load file, keep name, but new file....
@ -188,25 +183,15 @@ CS.RUN >PUSHW L.MSG.TERMCAP
.3 jsr SCRN.Repaint .3 jsr SCRN.Repaint
bcs CS.RUN.RTS bcs CS.RUN.RTS
>LDYAI 65 jsr CS.RUN.GetBuf64
>SYSCALL GetMem
bcs CS.RUN.RTS bcs CS.RUN.RTS
>STYA ZPPTR1
txa
>STA.G hFind >STA.G hFind
lda #0 jsr CS.RUN.GetBuf64
sta (ZPPTR1)
>LDYAI 65
>SYSCALL GetMem
bcs CS.RUN.RTS bcs CS.RUN.RTS
>STYA ZPPTR1
txa
>STA.G hReplace
lda #0 >STA.G hReplace
sta (ZPPTR1)
*-------------------------------------- *--------------------------------------
CS.RUN.LOOP jsr GetCh CS.RUN.LOOP jsr GetCh
bcs CS.RUN.RTS I/O error bcs CS.RUN.RTS I/O error
@ -227,6 +212,19 @@ CS.RUN.LOOP jsr GetCh
sec sec
CS.RUN.RTS rts CS.RUN.RTS rts
*-------------------------------------- *--------------------------------------
CS.RUN.GetBuf64 >LDYAI 64
>SYSCALL GetMem
bcs .9
>STYA ZPPTR1
lda #0
sta (ZPPTR1)
txa
.9 rts
*--------------------------------------
CS.DOEVENT lda (pEvent) CS.DOEVENT lda (pEvent)
bpl .9 is it a TIMER event? bpl .9 is it a TIMER event?
@ -490,7 +488,7 @@ MSG.TERMCAP .AZ "\e[999;999H\e[6n"
MSG.TOPBAR .AZ "A2osX Edit %d.%d:%s (%s)" MSG.TOPBAR .AZ "A2osX Edit %d.%d:%s (%s)"
MSG.TXTCR .AZ "TXT/CR" MSG.TXTCR .AZ "TXT/CR"
MSG.TXTCRLF .AZ "TXT/CRLF" MSG.TXTCRLF .AZ "TXT/CRLF"
MSG.TXTASM .AZ "S-C/ASM" MSG.ASM .AZ "ASM"
MSG.STATUSBAR .AZ "Press Ctrl-A For Help Len:%5D Pos:%5D Col:%3d Line:%5D" MSG.STATUSBAR .AZ "Press Ctrl-A For Help Len:%5D Pos:%5D Col:%3d Line:%5D"
MSG.STATUSBAR.H .AZ "Press any key to exit this screen " MSG.STATUSBAR.H .AZ "Press any key to exit this screen "
MSG.STATUSBAR.U .AZ "Quit without Saving [Y/N] ? " MSG.STATUSBAR.U .AZ "Quit without Saving [Y/N] ? "
@ -579,14 +577,14 @@ DLG.SAVE.4 .DA #S.DLG.Ctrl.OL,#2,#6
DLG.SAVE.5 .DA #S.DLG.Ctrl.OL,#13,#6 DLG.SAVE.5 .DA #S.DLG.Ctrl.OL,#13,#6
.DA #12 Ctrl-L .DA #12 Ctrl-L
.DA #FileType .DA #FileType
.DA #2 .DA #1
.AZ "TXT/CRLF" .AZ "TXT/CRLF"
DLG.SAVE.6 .DA #S.DLG.Ctrl.OL,#26,#6 DLG.SAVE.6 .DA #S.DLG.Ctrl.OL,#26,#6
.DA #1 Ctrl-A .DA #1 Ctrl-A
.DA #FileType .DA #FileType
.DA #4 .DA #2
.AZ "S-C/ASM" .AZ "ASM"
DLG.SAVE.7 .DA #S.DLG.Ctrl.BUT,#40,#8 DLG.SAVE.7 .DA #S.DLG.Ctrl.BUT,#40,#8
.DA #C.CR .DA #C.CR
@ -621,13 +619,13 @@ DLG.FIND.1 .DA #S.DLG.Ctrl.LBL,#2,#2
.AZ "Find :" .AZ "Find :"
DLG.FIND.2 .DA #S.DLG.Ctrl.TB,#2,#3 DLG.FIND.2 .DA #S.DLG.Ctrl.TB,#2,#3
.DA #0,#64,#hFind .DA #0,#63,#hFind
DLG.FIND.3 .DA #S.DLG.Ctrl.LBL,#2,#5 DLG.FIND.3 .DA #S.DLG.Ctrl.LBL,#2,#5
.AZ "Replace :" .AZ "Replace :"
DLG.FIND.4 .DA #S.DLG.Ctrl.TB,#2,#6 DLG.FIND.4 .DA #S.DLG.Ctrl.TB,#2,#6
.DA #0,#64,#hReplace .DA #0,#63,#hReplace
DLG.FIND.5 .DA #S.DLG.Ctrl.BUT,#40,#8 DLG.FIND.5 .DA #S.DLG.Ctrl.BUT,#40,#8
.DA #C.CR .DA #C.CR

View File

@ -807,6 +807,12 @@ Sleep2 stz CIFS.Retries
sec sec
rts rts
*-------------------------------------- *--------------------------------------
Exit.KO pha
jsr Exit.OK
pla
clc
rts
*--------------------------------------
Exit.OK lda hResp Exit.OK lda hResp
>SYSCALL2 FreeMem >SYSCALL2 FreeMem
@ -814,15 +820,6 @@ Exit.OK lda hResp
* clc * clc
rts rts
*-------------------------------------- *--------------------------------------
Exit.KO php
pha
lda hResp
>SYSCALL2 FreeMem
pla
plp
stz CIFS.Status
rts
*--------------------------------------
Exit.NODATA cmp #E.NODATA Exit.NODATA cmp #E.NODATA
bne .99 bne .99
@ -1039,14 +1036,14 @@ AddA2Ptr2 adc ZPPtr2
.8 rts .8 rts
*-------------------------------------- *--------------------------------------
ClearSocket jsr ReadSocket *ClearSocket jsr ReadSocket
bcs .8 * bcs .8
>SYSCALL2 FreeMem * >SYSCALL2 FreeMem
bra ClearSocket * bra ClearSocket
.8 clc *.8 clc
rts * rts
*-------------------------------------- *--------------------------------------
WriteSocket lda MountTable+3 hSocket WriteSocket lda MountTable+3 hSocket