File 6LETTR.MA (MACREL macro assembler source file)

Directory of image this file is from
This file as a plain text file

EJECT GAME

*0010

AUTO10,	.-.			/ AUTO INDEX 10
AUTO11,	.-.			/
AUTO12,	.-.			/
AUTO13,	.-.			/

*0020

SESAM,	ZBLOCK 6		/ SECRET WORD
POINTR,	.-.			/ POINTER TO SESAM
TIME,	.-.			/ TURN
WORD,	.-.			/


*0200 START, CLA CLL / CLEAR ALL /JMS CLEAR / CLEAR SCREEN /JMS TEKST / PRINT HEADER /HEADER / /JMS TEKST / PART OF HEADER /STARS / /JMS CRLF / JMS CRLF / TWICE CR/LF DCA TIME / ZERO TIMES ST01, CLA CLL / FIND A WORD TAD I AUTO10 / TAD AUTO11 / CIA / TAD I AUTO12 / SOME KIND OF RANDOM! DCA AUTO10 / SAVE IT TAD (TABLE / CONSTRUCT POINTER TAD (177 / MUST BE A COMPLETE ADRESS DCA AUTO11 / SAVE TAD AUTO10 / GET RANDOM AND AUTO11 / MASK TAD (TABLE / BE SURE WE'RE LOOKINK IN THE TABLE DCA WORD / SET IN POINTER STFND, TAD I WORD / GET DATA SNA CLA / MUST BE ZERO! JMP ST02 / WAS ZERO! CMA / LAST WORD? SNA CLA / JMP ST01 / YES,START AGAIN ISZ WORD JMP STFND / TRY THISBEAUTIFUL!WE'VE FOUND A THE NEXT LOCATION TAD DCA POINTR / CLA CLL CMA RTL / SET AC-3 DCA AUTO10 / ST03, TAD I WORD / GET WORD BSW / SWAP JMS DECODE / DEASSEMBLE TAD I WORD / GET OTHER HALF JMS DECODE / ISZ WORD / OPEN NEXT LOCATION IP JMP ST03 / AND DECO / GO ON DECODE, .-. / NORMAL CONVERT ROUTINEA'S!!!!! DCA I POINTR / SAVE ISZ POINTR / UP JMP I DECODE / RETURN ST04, CLA CLL / AT THIS MOMENT,WE HAVE OUR WORD TAD 20 JMS PRINT TAD 21 JMS PRINT TAD 22 JMS PRINT TAD 23 JMS PRINT TAD 24 JMS PRINT TAD 25 JMS PRINT JMP START PAGE
NOLIST DECIMAL;LENGTH=80;OCTAL KEYB, .-. / INPUT ROUTINE TAD (STRING / SET STRING ENTRY DCA STRPNT / AND SET POINTER TAD (-LENGTH / SET BUFFER LENGTH 72 DCA CHRCNT / KEYB1, KSF / WAIT FOR KEYBOARD JMP BORE / DO SOME ACTION CLA / CLEAR AC DCA NOPRNT / ZERO NO PRINT SWITCH KRB / READ THE BUFFER AND (177 / MASK VALID BITS ONLY TAD (-3 / WAS IT A ^C ? SNA / FIND OUT JMP AWAY / YES,TAKE ACTION TAD (3-15 / WAS IT A CRLF? SNA / TEST JMP TERM / YES,TERMINATE STRING TAD (15-177 / TRY A RUBOUT SNA / WAS IT A RUBOUT? JMP RUBOUT / YES. KEYB2, TAD (177 / REBUILD CHARACTER TLS / PRINT CHARACTER TAD (200 / CREATE 8-BIT DCA I STRPNT / ST / POINTER ONE UP DCLOCATION ISZ CHRCNT / JMP KEYB1 / GET NEXT F TOO LONG JMS TEKST / PRINT LITOLO / "KEYBOARD BUFFER OVERFLOW" JMP KEYB+1 / START ALL OVER RUBOUT, TAD CHRCNT / RESET THE COUNTER TAD (LENGTH / BUT FIRST CHECK WHERE WE ARE SNA CLA / BEGIN OF BUFFRESET ALL COUNTERS AND PENT TAD CHRCNT / LET' CHRCNT / AND RESET CTRPNT / RESET STRING POINTER DCA STRPNT / RESET JMS BACKSP / BACKSPACE TAD (240 / CLEAR CHARACTER JMS PRINT / JMS BACKSP / BACKSPACE JMP KEYB1 / PROCEED BACKSP, .-. / PRINT A BACKSPACE TAD (210 / JMS PRINT / JMP I BACKSP / RETURN TERM, DCA I STRPNT / ZERO THE LAST WORD JMS CRLF / PRINT CRLF JMP I KEYB / RETURN BORE, CLA CLL / KSF / CHECK KEYBOARD SKP / SKIP JMP KEYB1+2 / OK,SERVICE THE KEYBOARD ISZ FIGCNT / DELAY ISZ FIGCNT / JMP BORE+1 / TEST FLAG CML RTR / MOVE LIGTHS DCA AC / SAVE THEM LAS / GET THE S.R. DCA SPYADD / SET IN SPY ADRESS TAD I SPYADD / GET DATA MQL / SET IN THE MQ TAD AC / RECALL AC JMP BORE+5 / AND TEST THE FLAG AGAIN AC, .-. / SAVE AC SPYADD, .-. / SPY ADRESS STRPNT, .-. / STRING POINTER CHRCNT, .-. / CHARACTER COUNTER NOPRNT, .-. / NO PRINT LITOLO, TEXT "KEYBOARD BUFFER OVERFLOW!" PAGE FIGCNT, .-. / ALL PURPOSE COUNTER SPACE, .-. / PDECREMENT SPACE COUNTERTER TAD (240 / GET A NT ISZ FIGCNT / INCRE/ NEXT SPACE JMP I SPACE / RETURN TEKST, .-. / MESSAGE HANDLER TAD I TEKST / GET MESSAGE POINTER DCA FIGCNT / SAVE IT ISZ TEKST / UPDATE RETURN ADDRES TAD I FIGCNT / GET DATA BSW / BITE SWAP JTAD I FIGCNT / GET DATAE ISZ FIGCNT / INCREMP TEKST+4 / GET NEXT WO ROUTINE TAD (-7000 / GET A COUNTER DCA FIGCNT / DELAY0, ISZ SPACE / INCREMENT A LOCTION SKP / SKIP JMP DELAY1 / CONTINUE KSF / READ KEYBOARD SKP / NO ACTION JMP DELAY2 / CHECK KEYBOARD JMP DELAY0 / DELAY1, ISZ FIGCNT / JMP DELAY0 / DELAY JMP I DELAY / RETURN DELAY2, KRB / READ KEYBOARD AND (177 / CHECK FOR CNTR. C TAD (-3 / SNA CLA / JMP AWAY / YES JMP I DELAY / NONE UPLO, .-. / CHARACTER DEASSEMBLER AND (77 / MASK RIGTH HALF SNA / TERMINATOR? JMP ENDMES / YES,I HOPE SO! TAD (-40 / SPA / TAD (100 / TAD (240 / JMS PRINT / PRINT CHARACTER JMP I UPLO / RETURN ENDMES, TAD CRLFS / AM I ALLOWED TO CR/LF? SNA CLA / FIND OUT JMS CRLF / YES,PERFORM CRLF DCA CRLFS / NO,BUT CLEAR THE SWITCH JMP I TEKST / RETURN CRLF, .-. / CR/LF ROUTINE CLA CLL / CLEAR AC TAD (215 / JMS PRINT / TAD (212 / JMS PRINT / JMP I CRLF / RETURN CRLFS, .-. / CR/LF SWITCH PRINE TAD NOPRNT / PRINT UT / NO TLS / YES,P JMP .-1 / NOOUT, CL CALLED? JMP I PRINT / NO,RETURN KRB / YES,CHECK FOR ^C AND (177 / MASK 5-11 TAD (-3 / ADD 2'S COMPLEMENT AWAY, SZA / WAS IT A ^C ? JMP CHKO / NO,BUT CHECK ^O JMP I (7605 / RETURN TO OS/8 CHKO, TAD (3-17 / CNTRL O ?? SNA CLA / CLL CML RAR / SET AC=4000 DCA NOPRNT / SET SWITCH JMP I PRINT / RETURN CLEAR, .-. / CLEAR ROUTINE FOR LEAR CLA CLL / TAD (233 / FOR DEC JMS PRINT / TAD ("H / JMS PRINT / TAD (233 / JMS PRINT / TAD ("J / JMS PRINT / TAD (32 / FOR LEAR JMS PRINT / PRINT IT JMP I CLEAR / RETURN PAGE ENLIST
/ THIS IS WHERE WE STORE THE WORDS TABLE, TEXT 'AZALEA' TEXT 'FIETST' TEXT 'BASTEN' TEXT 'RONDEN' TEXT 'CIRKEL' TEXT 'HEULEN' TEXT 'EIEREN' TEXT 'AARDIG' TEXT 'MOMENT' TEXT 'DAAROM' TEXT 'MOEDIG' TEXT 'WANDEL' TEXT 'HIERZO' TEXT 'SHERRY' TEXT 'GEWELD' TEXT 'KERMIS' TEXT 'WANKEL' TEXT 'ZOMAAR' TEXT 'VENKEL' TEXT 'VLEZIG' TEXT 'RUBBER' TEXR' TEXT 'SCHRYF' TEXE' TEXT 'FLOPPY' TEXR' TEXT 'PINCET' TEXNATOR *TABLE+177 -1 / PAGE TERMINATOR PAGE
/ MESSAGES HEADER, TEXT ' 6 LETTER SPEL' STARS, TEXT ' *************' PAGE STRING, .-. $ MPVO $$$



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search