<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Thu, 05 Apr 1984 2158:00
From   : Dave Mitton <mitton%elrond.DEC%decwrl.ARPA@csnet-relay.ARPA>
Subject: Rainbow 100-A SETHARD program

For the person with the Rainbow 100 winnie upgrade:
       The following is the program that pokes magic locations in the
Rainbow BIOS to fool the system into thinking it booted off the winchester.
 
 - Get this source on your Rainbow, and edit to taste 
       (I acutally set both boot and default to E:)
 - Assemble and link 
 - copy all files you want onto the winchester
 - make a copy of your bootable floppy system disk
 - delete every thing except SETHARD.CMD, CPM.SYS, and Z80CNF.SYS
 - boot the system off your new disk
 - run SETHARD and it will think that E: is the boot disk
 - you do even better by patching SETHARD into the initial command buffer
   for execution at startup time.
 
 Disclaimer: I use this program, but I am not responsible for it's coding
or functions.  It is based on carnal knowledge of the Rainbow CP/M BIOS
and may break in future releases.
 
       Enjoy,  Dave Mitton, DEC Networks and Communications
 
       TITLE   'SETHARD'       ; RESET THE SYSTEM DISK
;+
;  SETHARD - Sets the CP/M bootdrive disk unit to E: and the current
;      default logged in drive to F:
;      Used on Rainbow 100-A's which cannot boot the Winchester directly.
;
;  Based on module by: Juergen Stieger PCSC - ZURICH  
;  Re-coded by: David J. Mitton, Networks and Communications - TWO/E07
;
; V1.0 28-Feb-84       CP/M-86/80 V2.0
;
;-
       CSEG                    ; code segment
 
DRIVEA EQU     0               ; Drive A unit number
DRIVEB EQU     1               ; Drive B unit number
DRIVEE EQU     4               ; Drive E unit number
DRIVEF EQU     5               ; Drive F unit number
 
; *** Modify the following three symbols for your configuration
CURRENT        EQU     DRIVEF          ; Current disk desired
BOOT   EQU     DRIVEE          ; Boot disk desired
SYSTEM EQU     DRIVEE          ; System disk desired
 
 
; *** NOTE: the following 3 locations are DEC CP/M-86/80 V2.0 dependent ****
 
CDISK  EQU     0939H           ; Current drive unit number
CURDRSV        EQU     24B7H           ; Boot drive unit number
SDISK  EQU     254AH           ; Default system drive unit number
 
 
       ORG     100H            ; Org to proper start
 
START: MOV     AX,40H          ;SET ES TO CP/M-CSEG 
       MOV     ES,AX           ; ...
       MOV     AL,CURRENT      ;Put drive unit number in AL
       MOV     DI,CDISK        ;Put addr of CURRENT DRIVE cell in DI
       STOSB                   ;Write unit number into BIOS
 
       MOV     AL,BOOT         ;Put drive unit number in AL
       MOV     DI,CURDRSV      ;Put addr of BOOT DRIVE cell in DI
       STOSB                   ;Write unit number into BIOS
 
       MOV     AL,SYSTEM       ;Put drive unit number in AL
       MOV     DI,SDISK        ;Put addr of SYSTEM DRIVE cell in DI
       STOSB                   ;Write unit number into BIOS
 
       MOV     CL,0            ;Exit back to system and simulate ^C
       MOV     DL,CL           ;
       INT     224             ;via interrupt
 
 
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>