💾 Archived View for spam.works › mirrors › textfiles › apple › DOCUMENTATION › moriarty captured on 2023-06-16 at 21:22:00.

View Raw

More Information

-=-=-=-=-=-=-


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