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

View File

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

View File

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

View File

@ -92,6 +92,7 @@ SCRN.UpdateTopBar.1
>SYSCALL GetMemPtr
>PUSHYA
>LDA.G FileType
asl
tax
>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.FILETYPES .DA MSG.TXTCR
.DA MSG.TXTCRLF
.DA MSG.TXTASM
.DA MSG.ASM
L.MSG.STATUSBAR .DA MSG.STATUSBAR
L.MSG.STATUSBAR.H .DA MSG.STATUSBAR.H
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
>SYSCALL GetMem
bcs CS.INIT.RTS
>STYA.G LineBufBase
txa
>STA.G hLineBuf
@ -170,12 +171,6 @@ CS.RUN >PUSHW L.MSG.TERMCAP
>SYSCALL ArgV
bcs .2 No arg, new file....
>PUSHYA
>PUSHWI 0 Allocate
>SYSCALL RealPath
bcs CS.INIT.RTS
txa
>STA.G hFileName
jsr FILE.Load
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
bcs CS.RUN.RTS
>LDYAI 65
>SYSCALL GetMem
jsr CS.RUN.GetBuf64
bcs CS.RUN.RTS
>STYA ZPPTR1
txa
>STA.G hFind
lda #0
sta (ZPPTR1)
>LDYAI 65
>SYSCALL GetMem
jsr CS.RUN.GetBuf64
bcs CS.RUN.RTS
>STYA ZPPTR1
txa
>STA.G hReplace
lda #0
sta (ZPPTR1)
>STA.G hReplace
*--------------------------------------
CS.RUN.LOOP jsr GetCh
bcs CS.RUN.RTS I/O error
@ -227,6 +212,19 @@ CS.RUN.LOOP jsr GetCh
sec
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)
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.TXTCR .AZ "TXT/CR"
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.H .AZ "Press any key to exit this screen "
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
.DA #12 Ctrl-L
.DA #FileType
.DA #2
.DA #1
.AZ "TXT/CRLF"
DLG.SAVE.6 .DA #S.DLG.Ctrl.OL,#26,#6
.DA #1 Ctrl-A
.DA #FileType
.DA #4
.AZ "S-C/ASM"
.DA #2
.AZ "ASM"
DLG.SAVE.7 .DA #S.DLG.Ctrl.BUT,#40,#8
.DA #C.CR
@ -621,13 +619,13 @@ DLG.FIND.1 .DA #S.DLG.Ctrl.LBL,#2,#2
.AZ "Find :"
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
.AZ "Replace :"
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
.DA #C.CR

View File

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