;--------------------------------------- ; ; ; A S S B L A S T E R V 3.0 ; ; ;--------------------------------------- ;DOC.FILE FOR VERSION OF 7.6.95 ;--------------------------------------- ;YOU CAN PRINT IT WITH "PRINT SRCCODE" ;UNDER EXTRA OR CTRL+"P" ; ;TRYING IS BETTER THAN STUDYING, BUT ;HERE ARE SOME FACTS TO GUIDE YOU HOW ;TO TRY WHAT... ; ; ;TO MOVE THE ARROW: ;--------------------------------------- ;FIRST OF ALL TRY OUT ALL OPTIONS FROM ;THE MENULINE: YOU CAN CHOOSE THEM BY ;USING YOUR JOYSTICK IN PORT 2, THE ;COMMODORE MOUSE IN PORT 1 AND VIA ;THE KEYS: ; ; CTRL+CURSORKEYS TO MOVE IT ; CTRL+[F1] TO CHOOSE ; ;NOTE THAT IF YOU USE JOYSTICK OR MOUSE, ;THE WINDOWS ARE PULLDOWN-MENUS. IF YOU ;USE THE KEYS YOU HAVE TO OPEN ONE ;WINDOW AND HOLD THE CTRL-KEY. THEN YOU ;HAVE TO PRESS ONCE MORE [F1] TO CHOOSE. ; ; ;YOU WILL SOON HAVE AN IDEA OF ;HOW COMFORTABLE THE ASSBLASTER IS... ; ; ; ;THE SHORTCUTS: ;--------------------------------------- ;IF YOU HAVE SEEN THE VARIETY OF OPTIONS ;IN THE WINDOWS, THAN IT IS NICE TO KNOW ;HOW TO USE THE FUNCTIONS WITHOUT THE ;LONG WAY VIA THE MENU-LINE. MOST OF THE ;SHORTCUTS ARE PRINTED BEHIND THE ;FUNCTION IN THE PULLDOWN-MENUS. ;C-MEANS CTRL+COMMODORE ;S-MEANS CTRL+SHIFT ;C+S : CTRL+BOTH ; ; ;DISC-FUNCTIONS: ; ;CTRL+[D] DIRECTORY OF ACTIVE DRIVE ; +[L] LOAD SOURCECODE ; +[S] SAVE SOURCECODE ; +[B] COMMAND ON ACTIVE DRIVE ; +[N] CHANGE FILENAMEDEFAULT ; ; ;ASS-FUNCTIONS: ; ;CTRL+[A] ASSEMBLY ; +[Y] TESTASSEMBLY(\KC) ; +[I] SHOW LABELTABLE ; ; ;EDIT-FUNCTIONS: ; ;CTRL+[64] MARK ABSOLUTE BLOCK ; (LEFT KEY OF STAR) ; +[+] SET BLOCKSTART ; +[-] SET BLOCKEND ; +[\] SHOW BLOCK ;+SHF+[\] DELETE BLOCK ; +[^] INSERT BLOCK ; +[F] FIND IN MARKED BLOCK ; +[R] REPLACE IN BLOCK ;+SHF+[N] CHANGE BLOCKNAME ;+SHF+[L] LOAD BLOCK ;+SHF+[S] SAVE BLOCK ; ; ; ;CODE-HELPERS: ; ;"_" RESTORE THE LINE AS IT WAS ; ; ;CTRL+SHIFT+ CURSOR TO LINEEND ; "_" ; ; ; ;LINEMARKS: ; ;CTRL+[1..7] CURSORJUMP TO LINEMARK 1-7 ; ;CTRL+SHIFT+ [1..7] SET LINEMARK 1-7 ; ;CTRL+ ; [LEFTARROW] DELETE ALL LINEMARKS ; ;CTRL+SHIFT+ ; [C=]+[1..7] DELETE LINEMARK 1-7 ; ; ;FASTSCROLL: ; ;CTRL+[C=]+ SCROLL UP/DOWN QUICKLY ; CURSOR U/D ; ; ;OTHER: ; ;CTRL+[INS INSERT/DELETE LINE ; /DEL] ; ; ;CTRL+[HOME] FIRST:CURSOR HOME ; SECOND:CURSOR TO SRC-START ; ;CTRL+SHIFT+ CURSOR TO SRC-END ; ; [HOME] ; ; ;EXTRA-FUNCTIONS: ; ;CTRL+[:] SYMBOLFIND (AFTER ASS.) ; ; +[";"] INSERT SEPARATORLINE ; ; +[*] MOVE SOURCECODE ; ; +[P] PRINT LISTING ; ; +[M] SHOW MEMORYSTATUS ; ; ; ;SURELY THERE ARE FUNCTIONS THAT CANNOT ;BE USED WITH SHORTCUTS, BUT THESE ARE ;THE LESS USED ONES. ; ; ; ;THE PULL-DOWN-MENUS: ;-------------------- ; ; ;DISK: ; ;DRIVE :SPECIFY THE ACTUAL WORKDRIVE ;LOAD :LOAD SOURCECODE ;LOAD AS :DEFINE THE FILENAME BEFORE ;SAVE :SAVE ;SAVE AS :DEFINE THE FILENAME BEFORE ;MERGE :LOAD ANOTHER SOURCE AT THE ; :END OF THE PRESENT ONE. ;COMMAND :SEND DISCCOMMAND ;DIRECTORY : ./. ;SAVE PREFS:SAVES PREFS TO DISC ; ; ; ;PREFS: ; ;EVERYTHING SHOULD BE CLEAR, BUT ; ;SECURITY :SURE-QUESTION 1=ON/0=OFF ; ; ;ASS: ; ;ASSEMBLY! :ASSEMBLE PRESENT SOURCECODE ;ASSTEST! :ASSEMBLE WITHOUT STORAGE ;INTO FILE :PRODUCE OBJECTFILE. EASIER ; :IS TO USE THE \BA-COMMAND ;SHOW LABELS:ON-LINE LABELTABLE ;SHOW ^LABEL:LISTS ^-MARKED LABELS ;EXAMPLE: ^MARKED ;PRINT LABELS:PRINTS THEM ;PRINT ^LABLS:PRINT THE ^-MARKED ONES. ;SAVE ^LABELS:SAVES THE ^-MARKED ONES AS ; :A BLOCK TO DISC. ;CHECK TRASH: CHECKS IF MEMORY HAS BEEN ; :TRASHED AFTER A CRASH. IF ; :AN ERROR HAS OCCURRED, THE ; :CURSOR IS POSITIONED TO THE ; :ERRORLLINE. ; :IF YOU USE IT, TRY IT, TILL ; :THE CURSOR APPEARS AT THE ; :SOURCEEND. ; ; ;EDIT: ; ;THE COMMANDS SHOULD BE CLEAR! ; ;EXTRA: ; ;MOVESOURCE :MOVE THE SOURCECODE TO ; :SOMEWHERE ELSE IN THE RAM ; :AND ADJUST THE SOURCESTART ; :CORRECTLY. ;SYMBOLFIND :DIRECT ACCES TO LABELNAMES ; ; ; ;HINTS FOR EFFICIENT USE OF THE EDITOR: ;--------------------------------------- ; ;YOU ARE A CODER, SO YOU SURELY HAVE GOT ;A MODULE LIKE ACTION REPLAY WITH AN ;INSTALLED FASTLOADING SYSTEM. THE ;ASSBLASTER USES YOUR FASTLOAD/SAVE ;IF POSSIBLE. THIS MAKES WORKING REALLY ;NICE. ; ;SOME GENERAL INFORMATION: ; ; -USE THE MAKROS WISELY. THEY CAN MEAN ; LESS WORK WITH THE RIGHT USAGE. THESE ; MAKROS, EVEN IF THEY ARE NOT USED, ; ARE THE REASON FOR A LITTLE LONGER ; ASSEMBLY TIME. SO WHY NOT USE THEM? ; A FRIEND WHO IS ALSO A CODER HAD NOT ; USED THEM BEFORE, SO IT IS POSSIBLE ; THAT EVEN YOU DO NOT KNOW HOW TO USE ; THEM. THEN READ THIS EXAMPLE. ; ; ; \BA $C000 ; ; \MD PRINT.TXT ; LDA #TXT ; JSR $AB1E ; \DE ; ; START: ; \MA PRINT.TEXT ; RTS ; ; TEXT: ; \TX "BYE - TURBOASS." ; \BY 13,0 ; ; -YOU SURELY KNOW HOW TO USE THE STROUT ; ROUTINE $AB1E. KNOW THAT THE MAKRO- ; LABELS 'PRINT' AND 'TXT' CANNOT BE ; USED IN THE REST OF YOUR SRCCODE... ; -IT IS ALSO POSSIBLE TO HAVE MORE ; PARAMETERS (LABELS LIKE TXT) OR NO ; ONE: \MD MOVE.ADR1,ADR2 ; ; \MD TYX ; PHA ; TYA ; TAX ; PLA ; \DE ; -ALL MAKRODEFINITIONS MUST END WITH ; '\DE' ; -MAKROS CAN BE USED IN MAKROS AS WELL ; BUT THESE HAVE TO BE DEFINED BEFORE: ; \BA $C000 ; ; \MD PLOTK.XK,YK ; LDX #XK ; LDY #>YK ; JSR $E50C ; \DE ; \MD PRINTAT.XK1,YK1,TXT1 ; \MA PLOTK.XK1,YK1 ; \MA PRINT.TXT1 ; \DE ; ; -NOTE THAT 'XK' WAS NOT USED TWICE. ; ; ; -IF YOU HAVE GOT LABELS THAT YOU WILL ; NEED LATER YOU CAN MARK THEM LIKE ; THIS '^SYMBOL'. YOU CAN LIST ALL ; THESE SYMBOLS WITH THE FUNCTION UNDER ; ASS. YOU CAN ALSO SAVE THIS TABLE AS ; A BLOCK. THIS BLOCK CAN BE USED, IF ; YOU CODE SPLITTED SOURCECODES. ; ; -DO NOT USE ADDRESSFORMS LIKE 'ASL A' ; BECAUSE THE ASSEMBLER WILL INTERPRET ; THE 'A' AS A SYMBOL. ; ; -LABELS MUST HAVE THEIR OWN LINE.THEY ; ARE MARKED AS LABELS WITH AN ':' ; BEHIND THEM. ; ; -IF THE INTEGRATED SPELL-CHECKER WON'T ; LET YOU GO WITH SOMETHING, USE THE ; CTRL+["_"]-FUNCTION TO RESTORE ; THE LINE.THEN YOU CAN SURELY LEAVE IT ; -THE SPELLCHECKER WILL LET YOU LEAVE ; THE LINE WITH A BRANCH, BECAUSE YOU ; MAY NOT KNOW HOW YOU WILL CALL A ; FUTURE DESTINATION LABEL (BUT DON'T ; FORGET IT!!) ; ; -IF YOU HAVE REACHED A LIMIT OF 5120 ; LINES IT COULD BE NECESSARY ; (DEPENDING ON YOUR CODING-STYLE) ; TO SEARCH FOR FREE RAM FOR THE SYMBOL ; TABLE. IF THIS HAPPENS, THE EDITOR ; SWITCHES ON THE LONG-MODE WHICH IS ; SHOWN IN THE LINE UNDER THE MENULINE. ; IF YOU HAVE COME TO THAT LIMIT, BE ; SURE TO ASSEMBLE TO DISC, BECAUSE ; THE MEMORY-ROUTINES MAY KICK YOUR ; OBJECTCODE WHEN ACCESSING THE RAM FOR ; THE SYMBOLTABLE. ; IF THE LONG-MODE IS ACTIVATED, IT ; MAY BE POSSIBLE THAT PARTS OF YOUR ; SYMBOLTABLE ARE GONE. IN THAT CASE: ; -IF YOU NEED ONE SYMBOL BUT YOUR TABLE ; IS ONLY 20 LINES LONG AFTER ASSEMBLY ; THEN INSERT A LABEL DUMMY AT THE TOP ; AND ASSEMBLE ONCE MORE: ; ; \LA AAADUMMY=IMPORTANTLABEL ; ; NOW AAADUMMY WILL BE IN YOUR LIST. ; ; ; -AFTER LOADING A BLOCK FROM DISC, IT ; IS STORED BEHIND THE SOURCECODE. ; ; -IF YOU INSERT IT SOMEWHERE IN THE ; CODE, BE SURE THAT YOU DELETE THE ONE ; AT THE END BEFORE ASSEMBLY. ; ; -YOU CAN SET THE SOURCECODE- AND THE ; OBJECTDRIVE IN THE PREFS. THE EDITOR ; WILL LD/SV ALL SOURCECODES AND BLOCKS ; FROM THE CHOSEN DRIVE AS IT IS FOR ; THE OBJECTFILES. ; -THE DRIVE WHERE THE ASSBLASTER HAS ; BEEN LOADED FROM THE FIRST TIME ; IS THE DRIVE FROM WHICH THE ASSBLASTE ; WILL LOAD ITS LAYERS. ; ; -PREFS: YOU CAN CHANGE ANYTHING YOU ; WANT TO, AND SAVE THEM IN THE DISC ; MENU. ; ; -IF SOMETHING CAUSES AN UNCONTROLLED ; RESET, SOMETIMES THE ZA-DISPLAY IN ; THE LAST STATUSLINE IS OF USE, WHERE ; THE MEMORYADRESS OF THE CURRENT LINE ; IS DISPLAYED. ; ; ; ;SOME INFORMATION ABOUT THE ASSEMBLER ;--------------------------------------- ; ;THE PSEUDO-OPCODES: ;--------------------------------------- ; [\BA] BASEDEFINITION \BA $C000(,O) ; \BA LABEL-5 ; ;YOU CAN USE THE \BA-COMMAND TWOFOLD: ;USING MORE THAN ONE \BA, PRODUCES ;RELOCATED CODE, WHICH IS ASSEMBLED WITH ;ANOTHER PROGRAMCOUNTER. ;USING IT WITH THE AFFIX ",O" INSTRUCTS ;THE ASSBLASTER TO STORE THE CODE AT THE ;GIVEN ADRESSES. THE SECOND METHOD IS ;NOT ALLOWED WITH OBJECTFILES (LOGICAL). ; ; ; ;[\ON] ASS TO DISC ; \ON "NAME,P,W"(,S) ; THE ',S'SCRATCHES NAME BEFORE ; ; [\KC] TESTASSEMBLY ; ; [\ST] BREAK ASSEMBLY ; ; [\BR] RESERVE BYTES \BR 200,"A" ; OFFSET \BR 10,0 ; ; [\MA] VIEW HINTS FOR EFFICIENT USE ; [\MD] 'MAKROS' ; [\DE] ; ; [\BY] INSERT BYTES \BY 10,$21,"W" ; ; [\WO] INSERT WORDS \WO 2000,$1000 ; ; [\TX] INSERT ASCII \TX "MR.LEE" ; ; [\TS] INSERT SCREENCODES ; \TX "ABCDE" ; ; ;THE CALCULATOR: ;--------------------------------------- ;YOU CAN USE +,-,* AND /. TO GET THE ;LOWBYTE OF A WHOLE TERM USE '<' AS ;THE FIRST CHAR: ; ;LDA #<200*3-40/ELEND -HIBYTE = '>' ; ;IF YOU WANT THE LOWBYTE OF A PART: ; ;LDA #<200*3-