134 lines
5.2 KiB
Plaintext
134 lines
5.2 KiB
Plaintext
|
||
------------------------------------
|
||
MORIARTY
|
||
BY: BETS C.
|
||
------------------------------------
|
||
|
||
MORIARTY VERSION 1.2 INSTRUCTIONS:
|
||
|
||
MORIARTY, CURRENTLY AT VERSION 1 RELEASE 2, IS A SYSTEM DUMPING
|
||
UTILITY DESIGNED TO DUMP TO DISK THE LOWER 48K OF AN APPLE 2 EXACTLY
|
||
AS IT WAS WHEN RESET WAS PRESSED.
|
||
|
||
MORIARTY CAN BE TRIGGERED BY RESET OR NMI. A 16K RAMCARD IS NECESSARY,
|
||
AND A SLOT ZERO SWITCH IS DESIRABLE. I DO NOT KNOW HOW WELL IT WORKS
|
||
ON A 2E, A FULL SCREEN MENU ALLOWS ACCESS TO THE VARIOUS OPTIONS OF
|
||
MORIARTY. TWO USER EXITS ARE PROVIDED FOR THE AMBITIOUS.
|
||
|
||
PHYSICALLY, MORIARTY IS ONE FILE, AND NEEDS NO OTHERS UNLESS YOU RUN
|
||
IT FROM AN INTEGER MACHINE, IN WHICH CASE HE NEEDS FPBASIC ON THE SAME
|
||
DISK.
|
||
|
||
LOGICALLY, HE IS FOUR FILES:
|
||
THE SETUP PROGRAM
|
||
THE MEMORY FILL PROGRAM
|
||
THE RESET OR NMI HANDLER
|
||
THE SMALL RWTS ITSELF
|
||
|
||
ALL OF THE MODULES ARE IN ONE BINARY LOAD, AND RELOCATED BY THE SETUP
|
||
PROGRAM ACCORDING TO THE VALUES SPECIFIED BY THE USER. IN ADDITION, IF
|
||
YOU PUT THE INSPECTOR AT THE END OF MORIARTY, HE WILL FIND IT AND PUT
|
||
IT IN THE CORRECT LOCATION SO YOU CAN USE THE INSPECTOR WHEN THE DUMP
|
||
IS TAKEN.
|
||
|
||
TO USE MORIARTY, BRUN THE PROGRAM AND LOOK AT THE MENU. BELOW THE
|
||
BANNER WILL BE A LINE DESCRIBING WHAT TYPE OF MACHINE HE THINKS YOU
|
||
HAVE. IF IT ENDS IN A QUESTION MARK, OR IS NOT THE TYPE OF MACHINE YOU
|
||
HAVE, CHECK YOUR BANK SO WHEN HE DOES NOT KNOW WHAT IS THERE, BECAUSE
|
||
I THINK TRIGGERING I/O IN SOMEONE ELSE'S MACHINE WITHOUT TELLING HIM
|
||
IS A ROTTEN THING TO DO. REMEMBER EPOCH? THE REST OF THE MENU IS
|
||
FAIRLY OBVIOUS. JUST BE SURE NOT TO CONFUSE THE BOOT SLOT WITH THE
|
||
DUMP SLOT. NOTE THAT HE WILL NOT ALLOW YOU TO ASSIGN THE BOOT SLOT TO
|
||
THE SAME SLOT AS THE RAMCARD SLOT. THE LEFT AND RIGHT ARROWS MOVE THE
|
||
CURSOR UP AND DOWN, SO JUST GO BACK AND CHANGE YOUR MISTAKE. SIGN THE
|
||
STACK IS A VERY USEFUL OPTION IF YOU DO NOT HAVE AN NMI TRIGGER. AT
|
||
RESET HE WILL PUSH THE P-REG ONTO THE STACK THREE TIMES, THEN THE
|
||
ACCUMULATOR, THE Y-REG, THE X-REG, AND THE STACK POINTER. THUS, TO
|
||
FIND THE" REGS, JUST LOOK ON THE STACK FOR THREE REPEATED BYTES, WITH
|
||
THE FOURTH BYTE BELOW THE LOWEST EQUAL TO ITS DISPLACEMENT INTO THE
|
||
STACK. SOUNDS COMPLICATED, BUT IF YOU SEE IT ONCE IT IS EASY FOREVER.
|
||
THE REASON THE P-REG IS PUSHED THREE TIMES IS SO THAT IF YOU DECIDE
|
||
WHAT THE PROGRAM COUNTER WAS AT RESET, YOU CAN REPLACE THE FIRST TWO
|
||
PREGS WITH IT AND JUST RELOAD THE REGS FROM THE STACK AND RTI.
|
||
|
||
ONCE YOU HAVE FILLED OUT THE MENU, RUN DOWN TO "USE THIS SETUP" AND
|
||
PRESS "Y". IN A HUMMINGBIRD'S HEARTBEAT, OR DINOSAUR'S IF YOU LOAD
|
||
FPBASIC, MORIARTY WILL CONFIGURE TO YOUR SPECIFICATIONS. NOTE THAT IF
|
||
YOU ARE USING A 2+ OR 2E HE WILL COPY APPLESOFT FROM THE ROMS. THE
|
||
NEXT THING YOU WILL SEE IS A MESSAGE INDICATING COMPLETE SETUP, AND
|
||
TELLING YOU TO PRESS A KEY TO BOOT. DISABLE SLOT ZERO ACCESS AT THIS
|
||
POINT. IF YOU DO NOT HAVE SUCH A SWITCH, THEN YOU SHOULD HAVE YOUR
|
||
RAMCARD IN A NONZERO SLOT.
|
||
|
||
PUT IN THE DISK TO BOOT AND PRESS ANY KEY. DEPENDING ON WHAT YOU"
|
||
SPECIFIED AS A MEMORY FILL VALUE, YOUR SCREEN MAY FILL UP AT THIS
|
||
POINT. GO RUN THE PROGRAM UNTIL YOU COME TO THE POINT YOU WANT TO
|
||
DUMP. ENABLE SLOT ZERO AND PRESS RESET. IF YOU SPECIFIED AUTODUMPING,
|
||
THE DISK DRIVE WILL RUN UNTIL YOU PUT A DOS 3.3 DISK INTO IT. IF YOU
|
||
DID NOT, THEN YOU WILL BE IN THE MONITOR. TO GET THE DUMP FROM THE
|
||
MONITOR, ENTER 3FBG (RETURN). IF YOUR MORIARTY FILE HAS THE INSPECTOR,
|
||
THEN CTRL-Y WILL TAKE YOU TO IT. IN ANY CAS AND LOMEM: STORE LOG
|
||
TAB( AND STORE ^ EXP AT PDL STORE S THE MACHINE WAS WHEN RESET WAS
|
||
PRESSED. FOR THOSE WHO DO NOT WISH TO TANGLE WITH MY CODE. THE FIRST
|
||
ONE IS CALLED JUST AFTER THE USER DECIDES TO ACCEPT THE CURRENT SETUP.
|
||
NOTHING HAS BEEN TOUCHED OR MOVED. THE SECOND ONE IS CALLED JUST
|
||
BEFORE THE MEMORY FILL, WHEN EVERYTHING IS IN PLACE. IN BOTH CASES,
|
||
THE A-REG AND THE Y-REG POINT HI-LO TO A DATA STRUCTURE KNOWN
|
||
INTERNALLY AS "THE BLOCK". IT IS THE ANCHOR POINT FOR ALL OPERATIONS
|
||
DURING SETUP. THE FIRST TWO BYTES ARE A LO-HI POINTER TO MX, THE
|
||
FASTEST GENERAL PURPOSE MOVE PROGRAM FOR THE 6502 KNOWN TO ME. CALL
|
||
HIM WITH YOUR A-REG AND Y-REG POINTING HI-LO TO A REQUEST BLOCK IN
|
||
THIS FORMAT BYTE 0: $80 (OTHER VALUES RESERVED, AND WILL RETURN WITH
|
||
CARRY SET). BYTE 1-2: PRESENT ADDRESS OF DATA. (LO-HI) BYTE 3-4:
|
||
TARGET ADDRESS OF DATA. BYTE 5-6: LENGTH OF DATA. ALL DOUBLE BYTES
|
||
ARE LO-HI FORMAT. DON'T TRY TO USE PAGE ZERO WHEN YOU CALL THIS
|
||
THING.
|
||
|
||
TIMES PER LOOP.
|
||
"MEMORY MAP."
|
||
$0B00-18A7: MORIARTY WHEN FIRST LOADED.
|
||
$18A8-20A7: INSPECTOR AT LOAD (IF INCLUDED).
|
||
$0800-0867: MEMORY FILL AND BOOT PROGRAM.
|
||
$0900-09FF: ROOM FOR USER EXIT NUMBER ONE.
|
||
$0A00-0AFF: ROOM FOR USER EXIT NUMBER TWO.
|
||
$D000-D5DE: SMALL RWTS IN ALTERNATE 4K BANK ON RAMCARD.
|
||
$D800-DFFF: THE INSPECTOR, IF INCLUDED, ON THE SAME ALTERNATE BANK."
|
||
$E000-E155: PRIMARY AND SECONDARY NIBBLING BUFFERS FOR SMALL RWTS.
|
||
$F000-F7FF: HOLDING AREA FOR LOW STORAGE SAVE HERE WHEN RESET WAS PRESSED.
|
||
$FECD-FEE5: RESET HANDLER ROUTINE.
|
||
$FFFA-FFFD: NMI AND RESET 6502 POINTERS
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|