dos33fsprogs/logo/NOTES

155 lines
3.1 KiB
Plaintext

; defualt screen is -140,120 to 140,-120 with SCRUNCH .8
; 96? -80 if splitscreen
SCREEN
~~~~~~
CLEAN -- erase screen
TEXTSCREEN (TS) -- show full screen text
SPLITSCREEN
FULLSCREEN
SETCURSOR x y
CLEARTEXT (CT)
CLEARSCREEN (CS)
FENCE -- enforce screen bounds
WINDOW -- no wrap no bounds
WRAP -- turtle wraps around edge
SETBG -- set background color
SETWIDTH -- 40 or 80
GRAPHICS
~~~~~~~~
BACK (BK)
FORWARD (FD)
HIDETURTLE (HT)
HOME -- move to center (0,0)
LEFT (LT)
RIGHT (RT)
SETHEADING (SETH) -- set direction
SETPOS [x y] -- move to X, Y (drawing if appropriate)
SETX
SETY
SHOWTURTLE (ST)
DOT [x y] -- put dot at x,y w/o moving turtle
SETPC -- set pen color
FILL fill area bounded by color by current color
PENDOWN (PD)
PENERASE (PE) -- erase instead of draw
PENREVERSE (PX) -- xor
PENUP (PU) -- pen up
LOAD/SAVE
~~~~~~~~~
CATALOG p 194 -- lists files in current PREFIX
SETPREFIX "BLAH -- sort of like chdir
ERASEFILE (ERF) p 196: ERF "RR
PR ONLINE shows list of volumes
READ STATE
~~~~~~~~~~
POS -- shows position
TOWARDS [X Y] -- returns direction you'd need to point at x,y
XCOR -- print x
YCOR -- print y
BACKGROUND
PEN
PENCOLOR (PC) -- prints pencolor
CURSOR -- get cursor location
SCRUNCH factor .8 by default 280x240?
TOOT = freq duration, duration is 1/60th of second
VARIABLES
~~~~~~~~~
MAKE "A 5 - define var A with value 5
PR :A - print value of variable A
FUNCTIONS
~~~~~~~~~
TO BLAH :PARAM
END
TEXT (p67)
~~~~
( a lot, TODO)
CHAR -- like CHR$ in BASIC
ASSEMBLY
~~~~~~~~
- note, PRODOS puts things in language card, have to switch back on
to use ROM routines
.AUXDEPOSIT loc byte - store to AUX mem
.AUXEXAMINE loc
.BLOAD pathname loc
.BSAVE pathname loc len
.CALL loc
.DEPOSIT loc byte
.EXAMINE loc
.QUIT exit back to ProDOS
STARTUP
~~~~~~~
can create a file called STARTUP that starts at startup
whatever is in the STARTUP function is run
FREESPACE
~~~~~~~~~
internally in nodes. 5 Bytes?
RECYCLE PRINT NODES shows free
EDITOR
~~~~~~
EDIT "FUNCTION
open apple-A (ALT-A on applewin) accept
References:
https://archive.org/details/Apple_Logo_II_Reference_Manual/page/n260/mode/1up
https://archive.org/details/Learning_With_Apple_Logo_by_Daniel_Watt_1984/page/209/mode/2up
Memory Map
$00 -- zero page
$04-$07 -- text page 1
$08-$1f -- edit buffer
$20-$3f -- hi-res page1
$40-$43 -- load/save buffer
$44-$47 -- dribble buffer
$48-$4b -- file buffer 0
$4c-$4f -- file buffer 1
$50-$53 -- file buffer 2
$54-$57 -- file buffer 3
$58-$5b -- file buffer 4
$5c-$5f -- file buffer 5
$60 -- logo data
$61-$BE -- logo code
$BF -- free space / prodos
$C0-$CF -- I/O
$D0-$FF -- ProDOS
AUX
$00 -- zero page
$20-$3f -- ProDOS
$40-$7f -- text page1 (80 col)
$80-$b6 -- node space?
$b7-$Ba -- main help
$BB-$BE -- editor help
$BF -- prodos
$C0-$CF -- I/O
$D0-$DF -- Logo code
$E0-$FF -- ProDOS ; empty/all zeros?
Info
$300 = max num data files *9 (usually 54)
$10 = pointer to first page beyond node space (usually $B7)
$301 = flag for invalid edit buffer
Can use edit buffer for temp storage, but mark as invalid when done
Can use the file buffer area, be sure to adjust the max data size
Can adjust node space but have to do it right at startup