1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-03-20 18:31:13 +00:00

Begin 80 column text editor

This commit is contained in:
David Schmenk 2025-02-16 09:18:12 -08:00
parent 413284a09f
commit bb3730f943
5 changed files with 1909 additions and 4 deletions

View File

@ -75,6 +75,10 @@ word = $0850,$08D0,$0950,$09D0,$0A50,$0AD0,$0B50,$0BD0
//byte curshpos = 0
//byte cursvpos = 0
//
// Apple2 disable 80 column string
//
char disable80[] = 5, 21, 13, '1', 26, 13
//
// Apple 3 console codes.
//
byte textbwmode[] = 2, 16, 0
@ -237,6 +241,11 @@ def a2texttype(type)
end
def a2textmode(columns)
call($FB39, 0, 0, 0, 0) // textmode()
if columns > 40
call($C300, 0, 0, 0, 0)
else
puts(@disable80)
fin
return a2home
end
def a2grmode(mix)

View File

@ -15,6 +15,7 @@ CMDJIT = rel/apple/CMD.128\#061000
PLVMZP_C64 = vmsrc/c64/plvmzp.inc
PLVMC64 = rel/c64/PLASMA
ED = rel/ED\#FE1000
ED80 = rel/ED80\#FE1000
ZIPCHIP = rel/apple/ZIPCHIP\#FE1000
JIT = rel/apple/JIT\#FE1000
JIT16 = rel/apple/JIT16\#FE1000
@ -119,7 +120,7 @@ TXTTYPE = .TXT
#SYSTYPE = \#FF2000
#TXTTYPE = \#040000
apple: $(PLVMZP_APL) $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM802) $(PLVM03) $(PLVMJIT03) $(CMD) $(CMDJIT) $(JIT) $(JIT16) $(JITUNE) $(SOSCMD) $(SOSCMDJIT) $(PLASMAPLASM) $(CODEOPT) $(PLFORTH) $(HRFORTH) $(HR2FORTH) $(TX2FORTH) $(SEXPR) $(SMATH) $(DRAWL) $(ZIPCHIP) $(MATCHFILES) $(ARGS) $(MEMMGR) $(MEMTEST) $(FIBER) $(FIBERTEST) $(LONGJMP) $(ED) $(MON) $(COPY) $(DEL) $(REN) $(CAT) $(NEWDIR) $(TYPE) $(INITSLOT) $(SOS) $(ROD) $(SIEVE) $(PRIMEGAP) $(MOUSE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(TFTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(SFM) $(SFMSPRT) $(GRAFIX) $(GFXDEMO) $(LINES) $(HGRTILE) $(HGRFONT) $(HGRSPRITE) $(HGRLIB) $(TILETEST) $(HGRTEST) $(GRLIB) $(DGRLIB) $(VBLANK) $(GRTEST) $(DGRTEST) $(HGRTEST) $(FILEIO_APL) $(CONIO_APL) $(JOYBUZZ) $(PORTIO) $(SPIPORT) $(SDFAT) $(FATCAT) $(FATGET) $(FATPUT) $(FATWDSK) $(FATRDSK) $(INT32) $(INT32TEST) $(SANE) $(FPSTR) $(FPU) $(SANITY) $(LZ4) $(LZ4CAT) $(RPNCALC) $(SNDSEQ) $(PLAYSEQ) $(CONIOTEST)
apple: $(PLVMZP_APL) $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM802) $(PLVM03) $(PLVMJIT03) $(CMD) $(CMDJIT) $(JIT) $(JIT16) $(JITUNE) $(SOSCMD) $(SOSCMDJIT) $(PLASMAPLASM) $(CODEOPT) $(PLFORTH) $(HRFORTH) $(HR2FORTH) $(TX2FORTH) $(SEXPR) $(SMATH) $(DRAWL) $(ZIPCHIP) $(MATCHFILES) $(ARGS) $(MEMMGR) $(MEMTEST) $(FIBER) $(FIBERTEST) $(LONGJMP) $(ED) $(ED80) $(MON) $(COPY) $(DEL) $(REN) $(CAT) $(NEWDIR) $(TYPE) $(INITSLOT) $(SOS) $(ROD) $(SIEVE) $(PRIMEGAP) $(MOUSE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(TFTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(SFM) $(SFMSPRT) $(GRAFIX) $(GFXDEMO) $(LINES) $(HGRTILE) $(HGRFONT) $(HGRSPRITE) $(HGRLIB) $(TILETEST) $(HGRTEST) $(GRLIB) $(DGRLIB) $(VBLANK) $(GRTEST) $(DGRTEST) $(HGRTEST) $(FILEIO_APL) $(CONIO_APL) $(JOYBUZZ) $(PORTIO) $(SPIPORT) $(SDFAT) $(FATCAT) $(FATGET) $(FATPUT) $(FATWDSK) $(FATRDSK) $(INT32) $(INT32TEST) $(SANE) $(FPSTR) $(FPU) $(SANITY) $(LZ4) $(LZ4CAT) $(RPNCALC) $(SNDSEQ) $(PLAYSEQ) $(CONIOTEST)
-rm vmsrc/plvmzp.inc
@ -272,6 +273,10 @@ $(ED): toolsrc/ed.pla $(PLVM02) $(PLASM) toolsrc/ed.pla
./$(PLASM) -AMOW toolsrc/ed.pla
acme --setpc 4094 -o $(ED) toolsrc/ed.a
$(ED80): toolsrc/ed.pla $(PLVM02) $(PLASM) toolsrc/ed80.pla
./$(PLASM) -AMOW toolsrc/ed80.pla
acme --setpc 4094 -o $(ED80) toolsrc/ed80.a
$(MATCHFILES): libsrc/apple/matchfiles.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW libsrc/apple/matchfiles.pla
acme --setpc 4094 -o $(MATCHFILES) libsrc/apple/matchfiles.a

View File

@ -32,6 +32,7 @@ cp rel/apple/MATCHFILES#FE1000 prodos/sys/MATCHFILES.REL
cp rel/LZ4CAT#FE1000 prodos/sys/LZ4CAT.REL
cp rel/ARGS#FE1000 prodos/sys/ARGS.REL
cp rel/ED#FE1000 prodos/sys/ED.REL
cp rel/ED80#FE1000 prodos/sys/ED80.REL
cp rel/FIBER#FE1000 prodos/sys/FIBER.REL
cp rel/LONGJMP#FE1000 prodos/sys/LONGJMP.REL
cp rel/MEMMGR#FE1000 prodos/sys/MEMMGR.REL

View File

@ -579,12 +579,11 @@ def drawrow(row, ofst, strptr)#0
end
def drawgutter(scrnrow, ofst)#0
byte row, hilite, ofstch, huns, tens, ones
word scrnptr, scrnrow
word scrnptr
//
// Draw line numbers and gutter hilites
//
//ofstch = ofst ?? $80 | '<' :: keyspace
ofstch = ofst ?? '<' :: ' '
huns, tens = divmod(scrnrow + 1, 100)
tens, ones = divmod(tens, 10)
@ -1072,7 +1071,8 @@ def keyin3
end
def keyin2e
byte key, vbl
vbl = ^$C019
vbl = ^$C019
repeat
if flags & showcurs
if flash == 0
@ -1144,6 +1144,7 @@ def keyin2e
end
def keyin2c
byte key
^$C079 = 0 // IOU enable and clear VBL int on //c
^$C05B = 0 // Enable VBL Ints on //c
key = keyin2e

1889
src/toolsrc/ed80.pla Executable file

File diff suppressed because it is too large Load Diff