| 1 | * (FPATCH) REV.B (6.2.2005) |
| 2 | * |
| 3 | * |
| 4 | * COMPUTER: H316 |
| 5 | * |
| 6 | * PROGRAM CATEGORY: I/O LIBRARY |
| 7 | * |
| 8 | * PROGRAM TITLE: FPATCH |
| 9 | * FORTRAN COMPILER PATCH |
| 10 | * |
| 11 | * |
| 12 | * AUTHOR |
| 13 | * |
| 14 | * PHILIPP HACHTMANN |
| 15 | * |
| 16 | * REVISIONS |
| 17 | * REV. B (6.2.2005) ADDED CORRECT DATA POOL ENTRY MANIPULATION |
| 18 | * |
| 19 | * PURPOSE |
| 20 | * |
| 21 | * THIS PATCH IS TO ENABLE THE FORTRAN IV COMPILER TO USE THE |
| 22 | * O$LA AND O$LH SUBROUTINES |
| 23 | * |
| 24 | * |
| 25 | * RESTRICTIONS |
| 26 | * |
| 27 | * DEPENDS ON HACHTI'S HARDWARE AND FORTRAN IV COMPILER TAPE |
| 28 | * |
| 29 | * |
| 30 | * STORAGE |
| 31 | * |
| 32 | * 50 (OCTAL) |
| 33 | * 40 (DECIMAL) |
| 34 | * |
| 35 | * |
| 36 | * USE |
| 37 | * |
| 38 | * THE LIBRARY ROUTINES ARE FOR GENERAL PURPOSE. |
| 39 | * TO APPLY THE PATCH: |
| 40 | * - BOOT FRTN SYSTEM TAPE |
| 41 | * - LOAD O$LA AT LOCATION '20000 |
| 42 | * - LOAD FPATCH SOMEWHERE ABOVE |
| 43 | * - RUN FROM FIRST LOCATION OF FPATCH |
| 44 | * |
| 45 | ******************************************************************************** |
| 46 | SUBR FPATCH,PTCH ONLY FOR NAMING PURPOSES |
| 47 | ******************************************************************************** |
| 48 | * |
| 49 | IOSB EQU '15036 IOS' BASE ADDRESS |
| 50 | IOSS EQU '36 INNER SECTOR OFFSET |
| 51 | PT1 EQU '611 FIRST FREELY USABLE ADDRESS IN IOS' SPACE |
| 52 | PT2 EQU '612 SECOND FREELY USABLE ADDRESS IN IOS' SPACE |
| 53 | PTE EQU '610 ADDRESS WHICH MUST BE FILLED WITH "V?" |
| 54 | PTS EQU '635 MESSAGE SIZE OF "DEVICE?" ERROR MESSAGE |
| 55 | JH EQU '173 ADDRESS OF CALL O$LH INSTRUCTION IN IOS |
| 56 | JL EQU '252 ADDRESS OF CALL O$LA INSTRUCTIIN IN IOS |
| 57 | DUM EQU '16612 DUMY OBJECT'S BASE ADDRESS |
| 58 | DPO EQU '16 ADDRESS OF ORIGINAL DUMY'S OWN BASE POINTER |
| 59 | * |
| 60 | JSTI EQU '121000 JST* INSTRUCTION |
| 61 | * |
| 62 | REL LET'S BEGIN RELATIVE |
| 63 | SUBR ENDPAL,FNS END OF THE IMPORTANT PART |
| 64 | REL RELATIVE MODE |
| 65 | ND1 *** ** |
| 66 | *** ** |
| 67 | *** ** |
| 68 | *** ** |
| 69 | ND2 *** ** |
| 70 | * |
| 71 | * |
| 72 | ABS ABSOLUTE MODE |
| 73 | ORG '21000 |
| 74 | PTCH NOP |
| 75 | LDX IOS ADDRESSES WILL BE RELATIVE TO IOS' BEGINNING |
| 76 | LDA OLHA O$LH ADDRESS (OK) |
| 77 | STA PT1,1 STORE TO POINTER LOCATION (OK) |
| 78 | LDA OLLA O$LA ADDRESS (OK) |
| 79 | STA PT2,1 STORE TO POINTER LOCATION (OK) |
| 80 | LDA VQ LOAD "V?" (OK) |
| 81 | STA PTE,1 REPAIR "DEV?" MSG (OK) |
| 82 | LDA ='-4 |
| 83 | STA PTS,1 NEW MESSAGE SIZE (OK) |
| 84 | * |
| 85 | LDA JMP1 NEUER SPRUNG |
| 86 | STA JH,1 |
| 87 | LDA JMP2 |
| 88 | STA JL,1 |
| 89 | ************** |
| 90 | * |
| 91 | LDA ND2P ADDRESS OF NEW "DUMMY ROUTINE" |
| 92 | STA* DP STORE TO VARIABLE IN ORIGINAL DUMMY ROUTINE |
| 93 | LDA ND1P1 |
| 94 | STA '100 |
| 95 | AOA |
| 96 | STA '101 |
| 97 | AOA |
| 98 | STA '102 |
| 99 | AOA |
| 100 | STA '103 |
| 101 | AOA |
| 102 | STA '104 |
| 103 | AOA |
| 104 | STA '105 |
| 105 | AOA |
| 106 | STA '106 |
| 107 | AOA |
| 108 | STA '107 |
| 109 | AOA |
| 110 | STA '110 |
| 111 | AOA |
| 112 | STA '111 |
| 113 | AOA |
| 114 | STA '112 |
| 115 | * |
| 116 | ********** |
| 117 | * READY |
| 118 | LDA OK LOAD OK |
| 119 | ICA |
| 120 | OCP '104 |
| 121 | OTA 4 |
| 122 | JMP *-1 |
| 123 | ICA |
| 124 | OTA 4 |
| 125 | JMP *-1 |
| 126 | LDA CRLF |
| 127 | ICA |
| 128 | OTA 4 |
| 129 | JMP *-1 |
| 130 | ICA |
| 131 | OTA 4 |
| 132 | JMP *-1 |
| 133 | HLT |
| 134 | JMP *-1 |
| 135 | * |
| 136 | ********** |
| 137 | * |
| 138 | * KONSTANTEN |
| 139 | VQ BCI 1,V? |
| 140 | CRLF OCT 6412 |
| 141 | OK BCI 1,OK |
| 142 | OLLA XAC O$LA |
| 143 | OLHA XAC O$LH |
| 144 | * |
| 145 | IOS DAC IOSB IOS BASE ADDRESS |
| 146 | DP DAC DUM+'52 "DP" VARIABLE ADDRESS |
| 147 | ND1P DAC ND1,1 NEW DUMMY ROUTINE'S BASE ADDRESS + INDEX BIT |
| 148 | ND2P DAC ND2 NEW DUMMY ROUTINE'S START ADDRESS |
| 149 | * |
| 150 | DUMB DAC DUM ORIGNAL DUMMY'S START ADDRESS |
| 151 | * POINTER USW |
| 152 | JMP1 DAC JSTI+PT1+IOSS |
| 153 | JMP2 DAC JSTI+PT2+IOSS |
| 154 | * |
| 155 | ******************************************************************************* |
| 156 | * |
| 157 | * |
| 158 | * ORG '100 |
| 159 | * DAC NDUM-4,1 |
| 160 | * DAC NDUM-3,1 |
| 161 | * DAC NDUM-2,1 |
| 162 | * DAC NDUM-1,1 |
| 163 | * DAC NDUM,1 |
| 164 | * DAC NDUM+1,1 |
| 165 | * DAC NDUM+2,1 |
| 166 | * DAC NDUM+3,1 |
| 167 | * DAC NDUM+4,1 |
| 168 | * DAC NDUM+5,1 |
| 169 | * DAC NDUM+6,1 |
| 170 | * |
| 171 | * PUH..... |
| 172 | * |
| 173 | END |