textfiles/apple/DOCUMENTATION/moriarty

134 lines
5.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

------------------------------------
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