!!!PL65 Copyright (C) 1987 Noahsoft Here's a working disk image of PL65 for anyone who wants to try what must be the rarest of Atari 8-bit languages. To use it, boot with SpartaDOS (an X cart image in one of the emulators is a good development environment) then run PL65.COM and choose from the various menu options. SAMPLE.PRG is a useful example program to figure out some of the finer points of the language (there's no manual on the disk) and S.OBJ is the compiled source. Little or no third-party documentation exists and I don't have a manual. I have one in-depth magazine article (in 8:16, BaPAUG's magazine, written by Simon Trew). !!ATR Image * [pl65.atr] ; Thank you Fujix from AtariAge for giving us this very rare language! :-))) !!Source Code * [pl65src.zip] ; Thank you DanBoris from AtariAge for giving us this partial commented disassembly of the PL65 sample program along with some plain ascii versions of the source file and libraries. We really appreciate your help! :-))) !!Manual * [] Thank you spookt from AtariAge for your help in this case and MrFish for the post processing. :-) !!Reference * [PL65 at AtariAge|http://atariage.com/forums/topic/106821-pl65-cracked/] * [PL65 'cracked' at AtariAge|http://atariage.com/forums/topic/106821-pl65-cracked/?hl=PL65] * [Complete manual of PL65 at AtariAge|http://atariage.com/forums/topic/137894-complete-pl65-manual/#entry1666731] * [PL65 Problem - WRTSTR/WRTLN at AtariAge|http://atariage.com/forums/topic/191920-pl65-problem-wrtstrwrtln/] * [Software ad at AtariAge|http://atariage.com/forums/topic/234335-fs-pl65-noahsoft-language-for-atari-8-bit-computers-extremely-rare/] !!Picture [{Image src='Startscreen.jpg' width=436 height=152 }] PL65 startscreen\\ \\ [{Image src='Manual.jpg' width=357 height=499 }] PL65 manual cover !!Movies * [Hello World in Noahsoft's PL65 for the Atari 400/800|https://www.youtube.com/watch?v=-LDOKIBdTH0] * [Sample Toolchain for Atari PL65|https://www.youtube.com/watch?v=yHdbM4V81B0] !!Sample Code {{{ !====================================! ! KEYS.LIB ! PL65 Keys operations. !------------------------------------! CONST UPA=142,DNA=143,LTA=134,RTA=135 CONST ESC=28,SPC=33,TAB=44,RET=12 CONST none=255 BYTE CH=764 !------------------------------------! PROC AnyKey() BEGIN WHILE CH=none DO ENDWHILE CH=none END !------------------------------------! FUNC InKey() BYTE k BEGIN WHILE CH=none DO ENDWHILE k=CH CH=none END k !------------------------------------! ! Only Declarations for clear compiling! ! Definitions must be in MAIN() as BODY. PROC EscF() FORWARD PROC UpaF() FORWARD PROC DnaF() FORWARD PROC LtaF() FORWARD PROC RtaF() FORWARD PROC SpcF() FORWARD PROC TabF() FORWARD PROC RetF() FORWARD PROC DefF() FORWARD !------------------------------------! PROC ParsKey(BYTE Key) BEGIN CASE Key OF ESC DO EscF() ENDOF OF UPA DO UpaF() ENDOF OF DNA DO DnaF() ENDOF OF LTA DO LtaF() ENDOF OF RTA DO RtaF() ENDOF OF SPC DO SpcF() ENDOF OF TAB DO TabF() ENDOF OF RET DO RetF() ENDOF ELSE DefF() ENDCASE END !------------------------------------! ENDFILE }}} {{{ ! Keyboard Parser INCLUDE TERMINAL.LIB INCLUDE KEYS.LIB PROC POS(INT COL=$55 BYTE ROW=$54) BEGIN END ! Gets data from stack !------------------------------------! PROC CLR() BEGIN PUT(0,125) END !------------------------------------! BODY EscF BEGIN POS(18,10) WRTSTR("ESC") END BODY UpaF BEGIN POS(18,10) WRTSTR("UPA") END BODY DnaF BEGIN POS(18,10) WRTSTR("DNA") END BODY LtaF BEGIN POS(18,10) WRTSTR("LTA") END BODY RtaF BEGIN POS(18,10) WRTSTR("RTA") END BODY SpcF BEGIN POS(18,10) WRTSTR("SPC") END BODY TabF BEGIN POS(18,10) WRTSTR("TAB") END BODY RetF BEGIN POS(18,10) WRTSTR("RET") END BODY DefF BEGIN POS(18,10) WRTSTR("BAD") END !------------------------------------! MAIN() BYTE k BEGIN CLR() WRTLN("Keys Parsing Sample") WRTLN("Waiting a KEY...") CR() REPEAT k=InKey() ParsKey(k) UNTIL k=ESC END }}}