;---------------------------------------
;
;
;       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
;           LDY #>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-<ELEND
;
;
;AS YOU WILL HAVE SEEN: YOU CANNOT USE
;'(' AND ')'. SORRY...
;
;
;
;
;
;MAXIM SZENESSY (MR.LEE OF CASCADE)
;BRUNNENWEG 12
;25436 TORNESCH
;GERMANY/EUROPE
;
;
;
;          MR.LEE GREETS YOU! ;
;
;---------------------------------------