diff --git a/images/apple/PLEIADES-2.20.po b/images/apple/PLEIADES-2.20.po index 9cd7a9c..910146d 100644 Binary files a/images/apple/PLEIADES-2.20.po and b/images/apple/PLEIADES-2.20.po differ diff --git a/images/apple/PLFORTH.po b/images/apple/PLFORTH.po index e14badc..7bdd1d2 100644 Binary files a/images/apple/PLFORTH.po and b/images/apple/PLFORTH.po differ diff --git a/src/libsrc/turtle.pla b/src/libsrc/turtle.pla index 02826cf..9a3fb73 100644 --- a/src/libsrc/turtle.pla +++ b/src/libsrc/turtle.pla @@ -7,9 +7,10 @@ const CLIP_RIGHT = 2 const CLIP_TOP = 4 const CLIP_BOTTOM = 8 -var turtleXp4, turtleYp4, turtleAngle, drawLine +var turtleXp4, turtleYp4, turtleAngle byte pen var clipLeft, clipRight, clipTop, clipBottom +var drawLine def clipCode(x, y)#1 byte xcode, ycode diff --git a/src/mk4th b/src/mk4th index 4a99293..3b8562b 100755 --- a/src/mk4th +++ b/src/mk4th @@ -53,8 +53,9 @@ cat scripts/turtle.4th | java -jar ac.jar -ptx $PO_IMAGE sys/scripts/TURTLE.4TH cat scripts/rod.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/ROD.4TH TXT cat scripts/bounce.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/BOUNCE.4TH TXT #cat scripts/dbounce.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/DBOUNCE.4TH TXT -cat scripts/hrbounce.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/HRBOUNCE.4TH TXT +#cat scripts/hrbounce.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/HRBOUNCE.4TH TXT cat scripts/grturtle.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/GRTURTLE.4TH TXT cat scripts/hrturtle.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/HRTURTLE.4TH TXT +cat scripts/hny26.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/HNY26.4TH TXT #cat scripts/hrplot.4th | java -jar ac.jar -ptx $PO_IMAGE scripts/HRPLOT.4TH TXT -echo "+HRFORTH SCRIPTS/HRTURTLE.4TH" | java -jar ac.jar -ptx $PO_IMAGE AUTORUN TXT +echo "+HRFORTH SCRIPTS/HNY26.4TH" | java -jar ac.jar -ptx $PO_IMAGE AUTORUN TXT diff --git a/src/mkrel b/src/mkrel index 110189d..86864a6 100755 --- a/src/mkrel +++ b/src/mkrel @@ -186,6 +186,7 @@ cp scripts/grturtle.4th prodos/bld/scripts/GRTURTLE.4TH.TXT cp scripts/hrplot.4th prodos/bld/scripts/HRPLOT.4TH.TXT cp scripts/hrturtle.4th prodos/bld/scripts/HRTURTLE.4TH.TXT cp scripts/gfxplot.4th prodos/bld/scripts/GFXPLOT.4TH.TXT +cp scripts/hny26.4th prodos/bld/scripts/HNY26.4TH.TXT cp scripts/hdinstall.4th prodos/bld/scripts/HDINSTALL.4TH.TXT cp scripts/hdinstall1.4th prodos/bld/scripts/HDINSTALL1.4TH.TXT cp scripts/hdinstall2.4th prodos/bld/scripts/HDINSTALL2.4TH.TXT diff --git a/src/scripts/hny26.4th b/src/scripts/hny26.4th new file mode 100644 index 0000000..5245e5c --- /dev/null +++ b/src/scripts/hny26.4th @@ -0,0 +1,111 @@ +LOOKUP HRFORTH ( HGR page 1 reserved ) +LOOKUP HR2FORTH ( HGR page 1 and 2 reserved ) +OR NOT ?ABORT" Must run with HRFORTH." + +SRC" PLASMA.4TH" +SRC" CONIO.4TH" +SRC" HGRLIB.4TH" +SRC" HGRFONT.4TH" +SRC" TURTLE.4TH" + +: SHOW + 40 _TEXT DROP + 0 HGRMODE HGRDRAWBUF DROP + 280 192 [ LOOKUP LINESPANS ] LITERAL INITTURTLE + 3 HGRCOLOR +; + +: MIX + 0 19 40 4 VIEWPORT + $C053 C@ DROP + 280 160 [ LOOKUP LINESPANS ] LITERAL INITTURTLE +; +: CLEAR 0 0 279 159 HGRRECT ; + +: CLEARTO HGRCOLOR 0 0 279 159 HGRRECT ; + +: INVERT 0 0 279 159 HGRXORRECT ; + +: RESET PENUP 140 80 MOVETO 0 TURNTO PENDOWN ; + +0 VARIABLE RECT.WIDTH +0 VARIABLE RECT.HEIGHT + +: RECT ( x y width height -- ) + RECT.HEIGHT ! + RECT.WIDTH ! + PENUP MOVETO PENDOWN + RECT.WIDTH @ MOVE 90 TURN + RECT.HEIGHT @ MOVE 90 TURN + RECT.WIDTH @ MOVE 90 TURN + RECT.HEIGHT @ MOVE 90 TURN +; + +: STARBURST + PENUP + 0 TURNTO + MOVETO + PENDOWN + 0 DO + PENUP + I 5 / MOVE + PENDOWN + 0 MOVE + 36 TURN + LOOP +; + +5 VARIABLE MISSILE.XVELOCITY +1 VARIABLE MISSILE.YVELOCITY +0 VARIABLE MISSILE.XPOS +0 VARIABLE MISSILE.XOLD +0 VARIABLE MISSILE.YPOS +0 VARIABLE MISSILE.YOLD + +: SHOOT ( COLOR XVELOCITY YVELOCITY ) + MISSILE.YVELOCITY ! + MISSILE.XVELOCITY ! + 140 DUP MISSILE.XPOS ! MISSILE.XOLD ! + 191 DUP MISSILE.YPOS ! MISSILE.YOLD ! + PENUP + MISSILE.XPOS @ MISSILE.YPOS @ MOVETO + PENDOWN + 3 HGRCOLOR + BEGIN + MISSILE.XOLD @ MISSILE.YOLD @ MOVETO + PENUP + MISSILE.XPOS @ DUP MISSILE.XOLD ! MISSILE.YPOS @ DUP MISSILE.YOLD ! MOVETO + PENDOWN + MISSILE.YVELOCITY @ 1- DUP MISSILE.YVELOCITY ! + 0< IF + HGRCOLOR + 144 MISSILE.XPOS @ MISSILE.YPOS @ STARBURST + 144 MISSILE.XPOS @ MISSILE.YPOS @ STARBURST + EXIT + THEN + MISSILE.XPOS @ MISSILE.XVELOCITY @ + DUP MISSILE.XPOS ! + MISSILE.YPOS @ MISSILE.YVELOCITY @ - DUP MISSILE.YPOS ! + MOVETO + 10 20 MISSILE.YVELOCITY @ - TONE + AGAIN +; + +: FIREWORKS + BEGIN + RAND 8 MOD + DUP 0= IF 1+ THEN ( CHECK FOR BLACK1: 0 ) + DUP 4 = IF 1+ THEN ( CHECK FOR BLACK2: 4 ) + RAND 10 MOD 5 - RAND 10 MOD 10 + SHOOT + KEY? + UNTIL + KEY DROP +; + +SHOW +10 12 " Happy New Year 2026!" HGRPUTSTR +5 HGRCOLOR +61 90 154 18 RECT +60 89 156 20 RECT +LOOKUP HGRXORHLIN LOOKUP HGRXORVLIN SETLINESPANS +FIREWORKS +TXTMODE