[ This was sent to me by Marc Walters and we have verified that all the copyrighted extensions included here are freely distributable. In fact, Brad Templeton, author of PAL-64 and of rec.humor.funny fame, has graciously granted permission for PAL to be distributed. Thanks, Brad! Mentiss-Soft has also granted permission for their product to appear here. -- Cameron Kaiser ] EDIT 64 ------- Edit 64 is a rough, buggy, yet somewhat cool conglomeration of PAL-64 Assembler, Mentiss-Soft BASIC Extension and software glue. It was used as a development system for a number of classic Ozisoft games (including Pingo and Quadron) before falling into my clammy hands. PAL-64 is copyright of either Pro-Line Software or Brad Templeton (yes, THE Net Guru). [ It's Brad, Marc. -- Mod. ] Mentiss-Soft BASIC is copyright Mentiss-Soft and quite possibly SEGA-Ozisoft, although I doubt they remember it. Edit 64 is copyright no one. But certainly NOT public domain. LOAD "EDIT64",8,1 SYS 64738 If necessary, disable JiffyDOS BASIC wedge with POKE 155,1. Typing HELP presents a list of the BASIC extensions. Sourcecode is entered using the standard BASIC input/screen handler. Any lines that have code to be executed (assembler source and BASIC can be used) by the BASIC interpreter must be entered with the Tokenise feature ON. All source is entered with Tokenise OFF. To toggle tokenisation on/off enter: TOKEN or T [shift]O Note that most commands can be abbreviated. For auto line numbering use AUTO increment, eg AUTO 10. To turn it off type AUTO with no argument. For a disk directory enter VIEW "$". Don't leave out the space between VIEW and "$". Many commands will freeze the screen if typed without a space in front of the argument. Some will freeze WITH a space. Use STOP/RESTORE to unfreeze. ERR will read the error channel for device 8. FIND "text" will list all occurences of the string. DO NOT edit lines listed with the FIND command- list them individually with the LIST command and edit those ones. PAL+MSBASIC does weird things with tokens. NUMBER will renumber the sourcecode starting from 1000 in increments of 10. F1 is configured as VIEW "$", and they are all reconfigurable. I vaguely remember the syntax as: KEY 1-8, "string" There is another argument to force a RETURN which I cannot remember just now - check the cassette buffer for ASCII definition strings if you really need FKeys. To start a new program type TOKEN to turn tokenisation ON type: 1000 SYS 700 type: TOKEN to turn tokenisation OFF type: AUTO 10 type: 1010 .OPT OO ;for assembly to RAM 1020 *=$4000 1030 BD =$D020 1040 BACKGRND =BD+1 ;note up to 8 chars for each label! 1050 PURPLE =2*2 ;evaluation of expressions 1060 ; 1070 START =* 1080 ; 1090 LDA #RED 2000 LDY #BD:STY $FC ;multiple statements per line 2010 LDY #0 ;decimal, octal and hex can be used 2020 STA ($FB)Y:STA BACKGRND 2030 RTS 2040 ; 2050 .ASC "PUT ASCII TEXT HERE 2060 .BYT 0,$FF,3*6,<$3000,>$3000,"A" ;cool byte evaluation 2070 .WOR $3000, 55295, 10, $40 ;2-byte in hi-lo format 2080 ; COMMENT :RTS ; COMMENT :RTS ; mixed source and comments 2090 .END ;not necessary if the last line Type: RUN The code will be assembled to memory Type: SYS 16384 Border and screen go purple then control goes back to the BASIC prompt. STOP/RESTORE to return to the "BLUE SCREEN OF LIFE". To assemble to disk, turn on tokenisation and add the line 10 OPEN 9,8,1,"FILENAME" Turn tokens off. The 9 is channel, 8 is device, 1 is command. Change line 1010 to 1010 .OPT O9 ;the O is letter O, NOT number 0 Type: RUN Code will assemble to disk. Did I mention that PAL kicks arse? MEMORY USAGE EDIT64 uses from $8000 to about $A600. Variables during assembly are stored downward from $7FFF, sourcecode is stared as HYBRID (tokenised/untokenised) BASIC from $0801 upward. PRINTING From within EDIT64 (otherwised untokenised text will get converted by BASIC) type: OPEN 4,4:CMD 4 LIST PRINT #4:CLOSE4 COMPATIBILITY Apart from the 8 char instead of 6 char maximum label length, and some different directive names, PAL is more or less compliant with the MOS Assembler Sourcecode Specification, and is compatible with MAE Assembler and somewhat with 6410+ Assembler. Conversion routines for PAL <--> Turbo Assembler exist. If you have an REU 256Kb or better, use the REU Switcher v2.4 to created a memory-based ML development system. Any questions? Just drop an email to: Marc Walters mwalters@bombadil.apana.org.au