home *** CD-ROM | disk | FTP | other *** search
- ; BIOS PATCH FOR COLD BOOT COMMAND EXECUTION
- ;
- ;************************************************************
- ;THE FOLLOWING CODE SHOULD BE ADDED IN THE COLD BOOT SECTION
- ;OF BIOS BEFORE THE JUMP TO THE CCP IS MADE. IT MAY BE LOCATED
- ;IN THE DEVICE DRIVER INITIALIZATION SECTION OF YOUR BIOS OR IN
- ;ANY SECTION OF BIOS THAT IS OVERWRITTEN BY BUFFERS AND CALLED
- ;FROM THE COLD BOOT SECTION BUT UNDER NO CIRCUMSTANCES SHOULD
- ;IT BE LOCATED SO THAT ANY PORTION OF IT OCCUPIES SPACE ABOVE
- ; BIOS + 380H AS THIS SPACE MAY EXIST IN MEMORY BUT IT DOES
- ;NOT EXIST ON A SINGLE DENSITY SYSTEM.(TRACK1,SECTOR 26 HOLDS
- ;MEMORY FROM BIOS+300H TO BIOS+37FH).
- ;USE THE CODEND AND DSKEND EQUATES TO INSURE THAT IT WILL FIT.
- ;CHECK THE REST OF THE CODE TO INSURE THAT IT DOESN'T PASS
- ;DSKEND TOO.
- ; ALSO CHECK TO SEE IF ANY REGISTERS NEED TO BE SAVED AS
- ;THIS ROUTINE AFFECTS PSW, D/E, AND H/L. THEY SHOULD BE
- ;PUSHED PRIOR AND POPPED AFTER IF IN DOUBT.
- ; ALSO CHECK THE END OF YOUR BIOS COLD BOOT ROUTINE TO SEE IF
- ;IT JUMPS TO CCP OR TO CCP+3. IF IT GOES TO CCP+3 IT WILL
- ;CLEAR THE COMMAND FROM THE BUFFER BEFORE EXECUTING IT, AND
- ;MUST BE CHANGED TO JUST 'CCP'.
- ;
- ;********** CODE STARTS HERE **************
- ;
- ; OFFSET USED FOR COLD BOOT MESAGE
- CCPBUF EQU CCP+7 ;LOC TO PUT COLD BOOT COMMAND
- BUFLEN EQU 32 ;OR WHATEVER YOUR SYSTEM REQUIRES
- ;SHOULD MATCH THE OTHER SECTIONS
- ;
- ; THE ACTUAL COLD BOOT BUFFER IS LOCATED IN THE UNUSED
- ; SECTION OF BDOS JUST BEFORE BIOS'S ORG LOCATION.
- ; EVEN IF BDOS NEEDS THIS AREA, IT IS ONLY USED BY BIOS
- ; BEFORE THE JUMP TO BDOS, AND AT THAT TIME IT MAY BE
- ; OVERWRITTEN SINCE IT WILL BE RELOADED FROM DISK IF NEEDED.
- ;
- MESSAG EQU BIOS-BUFLEN-3 ;PUT MESSAGE IN UNUSED
- ;SECTION OF BDOS
- ;
- ; COPY STRING ROUTINE FROM BIOS BUFFER TO CCP BUFFER
- ; ONLY DURING COLD BOOT.
- ;
- LXI H,CCPBUF ;POINT TO CCP BUFFER
- LXI D,MESSAG ;POINT TO MESSAGE
- MSGLOP: LDAX D ;GET BYTE
- MOV M,A ;PUT IT
- INX D ;NEXT SOURCE
- INX H ;NEXT DESTINATION
- ORA A ;DID WE DO ZERO
- JNZ MSGLOP ;LOOP TILL WE DID
- ;
- CODEND EQU $ ;END OF CODE
- ;NOTE: CODEND MAY BE PUT AT THE END OF YOUR
- ;BIOS CODE TO GIVE YOU AN INDICATION THAT IT
- ; WILL OR WILL NOT FIT ON THE SYSTEM TRACKS.
- ;
- DSKEND EQU BIOS+380H ;END OF SYSTEM ON DISK
- ; IF THE VALUE OF 'CODEND' IS GREATER THAN
- ; THE VALUE OF 'DSKEND', THEN THE CODE
- ; WILL NOT FIT ON A SINGLE DENSITY SYSTEM DISK.
- ;
- ;**********************************************************
- ; END OF MODIFICATIONS
-