Analyst/ANALYST64K.1019.txt

1 line
27 KiB
Plaintext
Raw Normal View History

2020-12-22 01:59:02 +00:00
SBTL MSB ON ORG $4000 SKP 1 ********************************* * * * -< THE ANALYST >- * * * * 64K VERSION * * * * BUILD #1019 12/17/20 * * * ********************************* SKP 1 *** DESCRIPTION *** SKP 1 ; THIS PROGRAM OPERATES INDEPENDENT OF ROM BUT HAS COM- ; MANDS SIMILAR TO THE BUILT IN MONITOR. THE GO AND BREAK ; FUNCTIONS HAVE BEEN GREATLY ENHANCED TO DISPLAY ; STATUS REGISTER FLAGS AND SET A BREAK POINT. THE MINI ; ASSEMBLER HAS BEEN INCLUDED AS WELL AS A HEX SEQUENCE ; FINDER. 65C02 OPCODES ARE ALSO SUPPORTED. ZERO PAGE ; REFS ARE STORED IN A BUFFER WHICH AVOIDS CONFLICT WITH ; THE PROGRAM BEING TRACED. THIS PROGRAM USES THE MIDDLE ; OF THE STACK ($132-1B0). IT ALSO UTILIZES A 4K BANK ; OF THE 16K LANGUAGE CARD TO KEEP A COPY OF ITSELF ; WHICH DOESN'T CONFLICT WITH BASIC OR DOS 3.3. ; NMI INTERRUPTS ARE ALSO SUPPORTED AS WELL AS USE OF A ; SERIAL TERMINAL FOR CONSOLE I/O TO BE INDEPENDENT OF ; SCREEN MEMORY OR GRAPHICS OF THE PROGRAM BEING TRACED. SKP 1 *** COMMANDS *** SKP 1 ; CTRL-F FIND SPECIFIED HEX SEQUENCE DEFINED BY F(H) ; G GO EXECUTE IN IMMEDIATE MODE ; H LOAD BYTES FOR HSF F(CTRL-F) BY USING H: ; I DISPLAY/SET PC/INTERNAL A,X,Y,P,S REGISTERS ; CTRL-L CLEAR PRESENT SCREEN AND HOME CURSOR ; L LIST DISASSEMBLY OR LOOP IN TRACE MODE. ; M MOVE BLOCK OF MEMORY ; P SEND OUTPUT TO PRINTER ; R RE-ENTER PROGRAM AFTER NMI ; > COPY ANALYST TO LANGUAGE CARD ; V VERIFY TWO BLOCKS OF MEMORY ; " DUMP MEMORY IN ASCII ; & EXIT TO DOS AND RETURN FROM DOS ; ? PRINT ORIGIN ADDRESS & DO INTERNAL CHECKSUM ; @ SET TEXT 40 COL SCREEN OR SERIAL TERMINAL ; < RANGE DELIMITER ; . RANGE DELIMITER ; + 16 BIT ADDITION ; - 16 BIT SUBTRACTION ; : STORE VALUE IN MEMORY ; ! ENTER MINI-ASSEMBLER. <CR> ALONE TO EXIT SKP 1 *** OPERATING NOTES *** SKP 1 ; INPUT LINE LIMITED TO 38 CHARACTERS. BEEPS ON LAST 4. SKP 1 ; HOME (CTRL-L) ACTS IMMEDIATELY. FOLLOW WITH <CR>. SKP 1 ; TO DISPLAY PC AND INTERNAL REGISTERS TYPE I <CR>. ; TO CHANGE PC AND/OR INTERNAL REGS TYPE 300I:AA XX ; YY PP SS RR <CR>. PC ENTRY BEFORE I OPTIONAL. RR = ; STACK TOP REFERENCE SET BY A TXS INSTRUCTION. SKP 1 ; FOR HEX SEQUENCE FINDER TYPE H:N1 N2 N3... <CR> THEN ; 1000<2000 CTRL-F <CR>. 8 BYTES MAX BECAUSE IN DS 29. SKP 1 ; TO DUMP MEMORY IN ASCII USE 1000.2000" <CR>. SKP 1 ; TO SWITCH TERMINALS TYPE @4 OR @ FOR 40 COL TEXT, @S FOR SERIAL. ; @S SHOULD BE FOLLOWED BY > TO COPY NEW SETTINGS TO LANGUAGE CARD. SKP 1 ; RESET VECTOR $3F2 CAN BE SET MANUALLY TO ORIGIN ADDR. SKP 1 ; DO NOT USE THE PRINTER WHEN THE ANALYST IS LOCATED ; ON THE RAM CARD. THE PRINTER WILL NOT INITIALIZE. ; ALSO RESET WILL NOT RETURN TO THE ANALYST LOCATED ; ON THE RAM CARD. SKP 1 ; TO USE DOS TYPE 3F5<3D0G, THEN USE & TO RE-ENTER. ; WILL NOT WORK FROM INTEGER BASIC !! SKP 1 * #1008 ADDS LANGUAGE CARD SUPPORT AND REDUCED SIZE FOR NMI BOOT TRACE. * WHEN FIRST BRUN, ANALYST COPIES ITSELF TO UNUSED 4K BANK OF LC AND * NMI HANDLER TO MID-STACK. WHEN NMI OCCURS, MEMORY REGIONS ARE * EXCHANGED TO BRING ANALYST BACK WHILE SAVING THE PROGRAM BEING TRACED. * R WILL RESTORE THE SAVED REGION AND REGS THEN EXECUTE PCREG REAL-TIME SKP 1 *** ROM ZERO PAGE EQUATES *** SKP 1 WNDWDTH EQU $21 MCSWL EQU $36 MCSWH EQU $37 MKSWL EQU $38 MKSWH EQU $39 SKP 1 *** ANALYST EQUATES *** SKP 1 STKLMT EQU $D0 #1014 TOP OF STACK (IMMEDIATE) PCL EQU $EF LABEL MARKS PAGE 0 PCH EQU $F0 BASL EQU $F1 BASH EQU $F2 LABEL USED AS IDENTIFIER ZFLG EQU $F3 1 BYTE ID = $AA A1L EQU $F4 A1L-A5H MUST BE IN ORDER A1H EQU $F5 FOR MINI-ASSEMBLER A2L EQU $F6 A2H EQU $F7 A3L EQU $F8 A3H EQU $F9 A4L EQU $FA A4H EQU $FB A5L EQU $FC A5H EQU $FD BAS2L EQU $FE BAS2H EQU $FF LABEL MARKS END OF PAGE 0 STACK EQU $0100 NMIEXEC EQU $0120 #1013 NMI EXECUTES IN STACK NMIVECT EQU $03FB #1004 HNDL NMI INTERRUPT SKP 1 *