├── PATCHER.PAS ├── LOADERS ├── FI.ASM ├── TOUTRUN.ASM ├── HF.ASM ├── TNT.ASM ├── YEAGER.ASM ├── MM3.ASM ├── LBUDO.ASM ├── ALONE.ASM ├── ST.ASM ├── HKY.ASM ├── FW.ASM └── ULTIMA6.ASM ├── README.md └── PATCHES.INC /PATCHER.PAS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcaldwelva/Patcher/HEAD/PATCHER.PAS -------------------------------------------------------------------------------- /LOADERS/FI.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: cmp ax,2500h 37 | jne djb 38 | cmp dx,09f8h 39 | jne djb 40 | mov byte ptr es:[043ah],0 41 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 42 | djb: db 0eah 43 | old_vec LABEL dword 44 | old_vec_lo dw ? 45 | old_vec_hi dw ? 46 | interceptor endp 47 | 48 | path db 'FIGHT.COM' 49 | par1 dw 0000h 50 | par2 dw 0080h 51 | par3 dw ? 52 | par4 dw 005ch 53 | par5 dw ? 54 | par6 dw 006ch 55 | par7 LABEL word 56 | 57 | bottom: 58 | cseg ENDS 59 | END main 60 | -------------------------------------------------------------------------------- /LOADERS/TOUTRUN.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: cmp ah,0ah 37 | jne djb 38 | mov word ptr ds:[003h],028bh 39 | mov word ptr ds:[289h],0003h 40 | mov byte ptr ds:[28Bh],0dh 41 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 42 | iret 43 | djb: db 0eah 44 | old_vec LABEL dword 45 | old_vec_lo dw ? 46 | old_vec_hi dw ? 47 | interceptor endp 48 | 49 | path db 'TOUTRUN.EXE' 50 | par1 dw 0000h 51 | par2 dw 0080h 52 | par3 dw ? 53 | par4 dw 005ch 54 | par5 dw ? 55 | par6 dw 006ch 56 | par7 LABEL word 57 | 58 | bottom: 59 | cseg ENDS 60 | END main 61 | -------------------------------------------------------------------------------- /LOADERS/HF.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: cmp ah,06h 37 | jne djb 38 | push bp 39 | mov bp,sp 40 | push ds 41 | mov ds,[bp+12h] 42 | cmp byte ptr ds:[01f3ah],055h 43 | jne dj0 44 | mov byte ptr ds:[01f3ah],0cbh 45 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 46 | dj0: pop ds 47 | pop bp 48 | djb: db 0eah 49 | old_vec LABEL dword 50 | old_vec_lo dw ? 51 | old_vec_hi dw ? 52 | interceptor endp 53 | 54 | path db 'MAIN.EXE' 55 | par1 dw 0000h 56 | par2 dw 0080h 57 | par3 dw ? 58 | par4 dw 005ch 59 | par5 dw ? 60 | par6 dw 006ch 61 | par7 LABEL word 62 | 63 | bottom: 64 | cseg ENDS 65 | END main 66 | -------------------------------------------------------------------------------- /LOADERS/TNT.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3533h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2533h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2533h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: push bp 37 | mov bp,sp 38 | push ds 39 | mov ds,[bp+16h] 40 | cmp word ptr ds:[20h],029ah 41 | ; cmp word ptr ds:[20h],0a9ah 42 | jne dj0 43 | mov word ptr ds:[20h],03ebh 44 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 45 | dj0: pop ds 46 | pop bp 47 | djb: db 0eah 48 | old_vec LABEL dword 49 | old_vec_lo dw ? 50 | old_vec_hi dw ? 51 | interceptor endp 52 | 53 | path db 'TNTEGA.EXE' 54 | ;path db 'TNTCGA.EXE' 55 | par1 dw 0000h 56 | par2 dw 0080h 57 | par3 dw ? 58 | par4 dw 005ch 59 | par5 dw ? 60 | par6 dw 006ch 61 | par7 LABEL word 62 | 63 | bottom: 64 | cseg ENDS 65 | END main 66 | -------------------------------------------------------------------------------- /LOADERS/YEAGER.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,351ah 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,251ah 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,251ah 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: push bp 37 | mov bp,sp 38 | push ds 39 | mov ds,[bp+0ah] 40 | cmp word ptr ds:[013fh],0b69ah 41 | ; cmp word ptr ds:[0153h],0b49ah 42 | jne dj0 43 | mov word ptr ds:[013fh],003ebh 44 | ; mov word ptr ds:[0153h],003ebh 45 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 46 | dj0: pop ds 47 | pop bp 48 | djb: db 0eah 49 | old_vec LABEL dword 50 | old_vec_lo dw ? 51 | old_vec_hi dw ? 52 | interceptor endp 53 | 54 | path db 'YEAGER.EXE' 55 | par1 dw 0000h 56 | par2 dw 0080h 57 | par3 dw ? 58 | par4 dw 005ch 59 | par5 dw ? 60 | par6 dw 006ch 61 | par7 LABEL word 62 | 63 | bottom: 64 | cseg ENDS 65 | END main 66 | -------------------------------------------------------------------------------- /LOADERS/MM3.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: push bp 37 | mov bp,sp 38 | push ds 39 | cmp [bp+2],03eeh 40 | jnz dj0 41 | mov ds,[bp+4] 42 | cmp word ptr ds:[045ah],439ah 43 | jnz dj0 44 | mov word ptr ds:[045ah],03ebh 45 | mov ds,[bp+30h] 46 | mov byte ptr ds:[01b1h],0ebh 47 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 48 | dj0: pop ds 49 | pop bp 50 | djb: db 0eah 51 | old_vec LABEL dword 52 | old_vec_lo dw ? 53 | old_vec_hi dw ? 54 | interceptor endp 55 | 56 | path db 'MM3.EXE' 57 | par1 dw 0000h 58 | par2 dw 0080h 59 | par3 dw ? 60 | par4 dw 005ch 61 | par5 dw ? 62 | par6 dw 006ch 63 | par7 LABEL word 64 | 65 | bottom: 66 | cseg ENDS 67 | END main 68 | -------------------------------------------------------------------------------- /LOADERS/LBUDO.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | cmp ah,0ffh 37 | jnz djt 38 | mov bx,0ffh 39 | iret 40 | djt: push bp 41 | mov bp,sp 42 | push ds 43 | push ax 44 | mov ax,[bp+2] 45 | cmp ax,1ff0h 46 | jnz dj1 47 | mov ds,[bp+4] 48 | mov word ptr ds:[2e96h],00b8h 49 | mov byte ptr ds:[2e98h],00h 50 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 51 | dj1: pop ax 52 | pop ds 53 | pop bp 54 | djb: db 0eah 55 | old_vec LABEL dword 56 | old_vec_lo dw ? 57 | old_vec_hi dw ? 58 | interceptor endp 59 | 60 | path db 'BUDO.COM' 61 | par1 dw 0000h 62 | par2 dw 0080h 63 | par3 dw ? 64 | par4 dw 005ch 65 | par5 dw ? 66 | par6 dw 006ch 67 | par7 LABEL word 68 | 69 | bottom: 70 | cseg ENDS 71 | END main 72 | -------------------------------------------------------------------------------- /LOADERS/ALONE.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 100h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 100h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: push ds 37 | push ax 38 | mov ax,ds 39 | sub ax,16e4h 40 | mov ds,ax 41 | cmp word ptr ds:[0783h],8b55h 42 | jnz dj0 43 | mov word ptr ds:[0783h],06c7h 44 | mov word ptr ds:[0785h],05a0h 45 | mov word ptr ds:[0787h],0001h 46 | mov byte ptr ds:[0789h],0cbh 47 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 48 | dj0: pop ax 49 | pop ds 50 | djb: db 0eah 51 | old_vec LABEL dword 52 | old_vec_lo dw ? 53 | old_vec_hi dw ? 54 | interceptor endp 55 | 56 | path db 'ALONE.COM' 57 | par1 dw 0000h 58 | par2 dw 0080h 59 | par3 dw ? 60 | par4 dw 005ch 61 | par5 dw ? 62 | par6 dw 006ch 63 | par7 LABEL word 64 | 65 | bottom: 66 | cseg ENDS 67 | END main -------------------------------------------------------------------------------- /LOADERS/ST.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: cmp ah,1ah 37 | jne djb 38 | push bp 39 | mov bp,sp 40 | push ds 41 | push ax 42 | mov ax,[bp+4] 43 | sub ax,1df1h 44 | mov ds,ax 45 | cmp word ptr ds:[43d4h],8b55h 46 | jne dj0 47 | mov word ptr ds:[43d4h],06c6h 48 | mov ax,ds:[459fh] 49 | mov ds:[43d6h],ax 50 | mov word ptr ds:[43d8h],0cb01h 51 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 52 | dj0: pop ax 53 | pop ds 54 | pop bp 55 | djb: db 0eah 56 | old_vec LABEL dword 57 | old_vec_lo dw ? 58 | old_vec_hi dw ? 59 | interceptor endp 60 | 61 | path db 'STUNTS.COM' 62 | par1 dw 0000h 63 | par2 dw 0080h 64 | par3 dw ? 65 | par4 dw 005ch 66 | par5 dw ? 67 | par6 dw 006ch 68 | par7 LABEL word 69 | 70 | bottom: 71 | cseg ENDS 72 | END main 73 | -------------------------------------------------------------------------------- /LOADERS/HKY.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3510h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2510h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2510h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: push bp 37 | mov bp,sp 38 | push bx 39 | push ds 40 | cmp word ptr [bp+0eh],1bh 41 | jne dj0 42 | mov ds,[bp+10h] 43 | mov bx,[bp+0eh] 44 | cmp word ptr [bx+01h],45ceh 45 | jne dj0 46 | mov ds,[bx+12h] 47 | mov bx,1102h 48 | cmp word ptr [bx],06c7h 49 | jne dj0 50 | cmp word ptr [bx+2],891bh 51 | jne dj0 52 | mov word ptr [bx+6],0c2e9h 53 | mov byte ptr [bx+8],04h 54 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 55 | dj0: pop ds 56 | pop bx 57 | pop bp 58 | djb: db 0eah 59 | old_vec LABEL dword 60 | old_vec_lo dw ? 61 | old_vec_hi dw ? 62 | interceptor endp 63 | 64 | path db 'HKY.EXE' 65 | par1 dw 0000h 66 | par2 dw 0080h 67 | par3 dw ? 68 | par4 dw 005ch 69 | par5 dw ? 70 | par6 dw 006ch 71 | par7 LABEL word 72 | 73 | bottom: 74 | cseg ENDS 75 | END main 76 | -------------------------------------------------------------------------------- /LOADERS/FW.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset par1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: push bp 37 | mov bp,sp 38 | push ds 39 | mov ds,[bp+4] 40 | cmp word ptr ds:[306ch],21cdh 41 | je dj1 42 | cmp word ptr ds:[45ebh],0c483h 43 | ddj: jne dj3 44 | mov byte ptr ds:[45ebh],90h 45 | mov word ptr ds:[45ech],21cdh 46 | dj2: jmp dj3 47 | dj1: cmp word ptr [bp+2],306eh 48 | jne dj3 49 | dec byte ptr [count] 50 | jnz dj4 51 | mov word ptr ds:[306bh],0c483h 52 | mov byte ptr ds:[306dh],04h 53 | mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 54 | dj4: mov ax,1 55 | pop ds 56 | pop bp 57 | iret 58 | dj3: pop ds 59 | pop bp 60 | djb: db 0eah 61 | old_vec LABEL dword 62 | old_vec_lo dw ? 63 | old_vec_hi dw ? 64 | interceptor endp 65 | 66 | count db 2 67 | path db 'FW.EXE' 68 | par1 dw 0000h 69 | par2 dw 0080h 70 | par3 dw ? 71 | par4 dw 005ch 72 | par5 dw ? 73 | par6 dw 006ch 74 | par7 LABEL word 75 | 76 | bottom: 77 | cseg ENDS 78 | END main 79 | -------------------------------------------------------------------------------- /LOADERS/ULTIMA6.ASM: -------------------------------------------------------------------------------- 1 | cseg SEGMENT 2 | top: 3 | assume cs:cseg,ds:cseg 4 | org 100h 5 | main proc 6 | mov sp,(((offset bottom - offset top + 80h) SHR 4) * 10h - 2) 7 | mov bx,((offset bottom - offset top + 80h) SHR 4) 8 | mov ah,4ah 9 | int 21h 10 | mov ax,3521h 11 | int 21h 12 | mov [old_vec_lo],bx 13 | mov [old_vec_hi],es 14 | mov dx,offset interceptor 15 | mov ax,2521h 16 | int 21h 17 | push cs 18 | pop es 19 | mov [par3],cs 20 | mov [par5],cs 21 | mov [par7],cs 22 | mov dx,offset path 23 | mov bx,offset data1 24 | mov ax,4b00h 25 | int 21h 26 | lds dx,cs:[old_vec] 27 | mov ax,2521h 28 | int 21h 29 | mov ax,4c00h 30 | adc al,0 31 | int 21h 32 | main endp 33 | 34 | interceptor proc far 35 | assume ds:nothing 36 | djt: cmp ah,3dh 37 | jne djb 38 | push ds 39 | push cx 40 | push bx 41 | mov bx,dx 42 | mov cx,0ch 43 | jl1: cmp word ptr [bx],2e65h 44 | jne dj1 45 | cmp byte ptr [bx+2],61h 46 | jne dj1 47 | inc byte ptr [data1] 48 | jmp dj0 49 | dj1: inc bx 50 | loop jl1 51 | cmp byte ptr [data1],0 52 | je dj0 53 | mov bx,dx 54 | mov cx,0ch 55 | dl2: cmp word ptr [bx],2e74h 56 | jne dj3 57 | cmp byte ptr [bx+2],61h 58 | je dj4 59 | dj3: inc bx 60 | loop dl2 61 | dj9: mov word ptr [djt],((offset djb - offset djt - 2) * 100h + 0ebh) 62 | dj0: pop bx 63 | pop cx 64 | pop ds 65 | djb: db 0eah 66 | old_vec LABEL dword 67 | old_vec_lo dw ? 68 | old_vec_hi dw ? 69 | dj4: xor cx,cx 70 | dec cx 71 | xor bx,bx 72 | dl3: cmp word ptr [bx],0eff7h 73 | jne dj5 74 | cmp word ptr [bx+2],6e65h 75 | je dj6 76 | dj5: inc bx 77 | loop dl3 78 | dj8: cmp byte ptr [data2],2 79 | je dj9 80 | inc byte ptr [data2] 81 | mov cx,ds 82 | add cx,1000h 83 | mov ds,cx 84 | jmp dj4 85 | dj6: mov cx,600h 86 | dl4: cmp word ptr [bx],0eff7h 87 | jne dj7 88 | inc bx 89 | inc bx 90 | mov byte ptr [bx],0 91 | jmp dl4 92 | dj7: inc bx 93 | loop dl4 94 | jmp dj8 95 | interceptor endp 96 | 97 | path db 'ULTIMA6.EXE' 98 | data1 db 0 99 | data2 db 0 100 | par2 dw 0080h 101 | par3 dw ? 102 | par4 dw 005ch 103 | par5 dw ? 104 | par6 dw 006ch 105 | par7 LABEL word 106 | 107 | bottom: 108 | cseg ENDS 109 | END main 110 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Patcher 2 | 3 | The following is a list of filenames, dates, and sizes. The filenames are the protected files which must be patched for their corresponding title. If more than one file from the same title is protected then they must all be in the same directory. The dates and sizes are there for you to compare with your files in order to determine what version you have. If the sizes do not match, or you have modified the files before, then you should backup the protected files so that you will not have to reinstall them in case the patch does not work. If the filenames do not match the patch still might work so you should try renaming them. 4 | 5 | |Software Title|Publisher|Date|Size|Protected File|Notes| 6 | |--------------|---------|----|----|--------------|-----| 7 | |2400A.D. |Origin Systems |09-23-88| 26496|2400AD.EXE | 8 | |4 x 4 Off Road Racing |Epyx |07-25-88| 24540|FRONT.EXE | 9 | |4D Sports Boxing |Mindscape |02-02-91| 21711|LOAD.EXE |L 10 | |4th & Inches |Accolade |09-11-88| 90367|4TH.EXE | 11 | |688 Attack Sub |Electronic Arts|06-12-89| 104572|GAME.EXE | 12 | |Advanced Flight Trainer |Electronic Arts|09-06-90| 95744|AFT.EXE | 13 | |Age of Empires |Microsoft |09-17-97|1605632|EMPIRES.EXE | 14 | |Age of Empires |Microsoft |12-17-97|1622016|EMPIRES.EXE | 15 | |Age of Empires |Microsoft |04-23-98|1622016|EMPIRES.EXE | 16 | |Age of Empires: Rise of Rome|Microsoft |11-28-98|1513984|EMPIRESX.EXE | 17 | |Age of Empires II |Microsoft |09-01-99|2097152|EMPIRES2.EXE | 18 | |Alone in the Dark |Interplay |08-25-92| 3616|ALONE.COM |L 19 | |An American Tail |Capstone |06-27-92| 60645|INSTALL.EXE | 20 | |Ancient Art of War |Broderbund |03-20-85| 99840|WAR.EXE | 21 | |Ancient Art of War at Sea |Broderbund |07-10-87| 162304|WAS.EXE | 22 | |Ancient Art of War in Skies |MicroProse |09-18-92| 407365|SKIES.EXE | 23 | |Ancient Art of War in Skies |MicroProse |12-20-92| 392945|SKIES.EXE | 24 | |Archer Maclean's Pool |Virgin Games |08-03-93| 478836|POOL.EXE | 25 | | | |08-03-93| 522227|POOL256.EXE | 26 | |Arctic Fox |Electronic Arts|03-26-87| 69088|AFOX.EXE | 27 | | | |03-26-87| 68992|AFOX16.EXE | 28 | |Armada 2525 |Interstel |06-27-91| 271280|2525.EXE | 29 | |Auto Duel |Origin Systems |07-25-88| 47344|AUTODUEL.EXE | 30 | |Bad Blood |Origin Systems |04-29-90| 115400|GAME.EXE | 31 | |Bad Street Brawler |Mindscape |04-21-88| 45529|BR.EXE | 32 | |Balance of Power |Mindscape |06-11-87| 298032|BOP.EXE | 33 | |Batman |Data East |11-08-89| 40851|JOKER.EXE | H 34 | | | |11-08-89| 40851|PENGUIN.EXE | 35 | |Battle Chess |Interplay |04-19-88| 83499|CHESS.EXE | 36 | |Battle Chess |Interplay |02-23-89| 83415|CHESS.EXE | 37 | |Battle Chess II |Interplay |10-11-90| 129697|CHESS2.EXE | 38 | | | |10-11-90| 29577|SETUP.EXE | 39 | |Battle Chess II |Interplay |04-29-92| 129783|CHESS2.EXE | 40 | | | |10-11-90| 29577|SETUP.EXE | 41 | |Battle Hawks 1942 |Lucasfilm Games|10-06-88| 148055|BH.EXE | 42 | |Battletech |Infocom |10-25-88| 152429|BTECH.EXE | 43 | |BC's Quest for Tires |Sierra On-Line |01-01-80| 19328|MAINC.EXE |1 44 | | | |01-01-80| 19456|MAINR.EXE | 45 | | | |01-01-80| 19712|MAINJRC.EXE | 46 | | | |01-01-80| 19456|MAINJRR.EXE | 47 | |Black Cauldron |Sierra On-Line |05-27-87| 2944|SIERRA.COM | 48 | |Bop'n Wrestle |Mindscape |12-12-86| 48880|BOP.EXE | 49 | |Budokan |Electronic Arts|10-31-89| 31687|BUDO.COM |L 50 | |California Games |Epyx |02-24-88| 63467|CALGAMES.EXE | 51 | |California Games II |Epyx |12-24-90| 32035|BEACH | 52 | |Carl Lewis Challenge |Psygnosis |07-02-92| 172835|AA.EXE | 53 | |Castles |Interplay |06-18-91| 228736|CASTLES1.EXE | 54 | | | |06-18-91| 27024|SETUP.EXE | 55 | |Castles |Interplay |06-20-91| 228784|CASTLES1.EXE | 56 | | | |06-20-91| 27038|SETUP.EXE | 57 | |Castles |Interplay |07-10-91| 230736|CASTLES1.EXE | 58 | | | |07-08-91| 26920|SETUP.EXE | 59 | |Castlevania |Konami |03-29-90| 107255|CCGA.EXE | 60 | | | |03-29-90| 116301|CEGA.EXE | 61 | | | |03-29-90| 105221|CTDY.EXE | 62 | |Centurion |Electronic Arts|05-29-90| 96272|OVL0.OVL | 63 | |Champions of Krynn |SSI |12-22-89| 267826|GAME.OVR | 64 | |Championship Boxing |Sierra On-Line |02-12-84| 38144|KO.EXE | 65 | |Chuck Yeager's Air Combat |Electronic Arts|06-15-91| 184134|YEAGER.EXE |L 66 | |Chuck Yeager's Air Combat |Electronic Arts|09-15-91| 184869|YEAGER.EXE |L 67 | |Civilization |MicroProse |12-03-91| 304512|CIV.EXE | 68 | |Civilization |MicroProse |07-21-92| 302982|CIV.EXE | 69 | |Civilization |MicroProse |10-13-92| 305030|CIV.EXE | 70 | |Civilization for Windows |MicroProse |11-22-93| 833024|CIV.EXE | 71 | |Civilization for Windows |MicroProse |12-14-93| 832512|CIV.EXE | 72 | |Civilization: Call To Power |Activision |03-14-99|6430720|CIVCTP.EXE | 73 | |Civilization: Call To Power |Activision |05-17-99|6521856|CIVCTP.EXE | 74 | |Civilization: Call To Power |Activision |08-16-99|6566912|CIVCTP.EXE | 75 | |Colonel's Bequest |Sierra On-Line |12-11-89| 76419|SCIV.EXE |Q 76 | |Contra |Konami |04-25-88| 28288|CONTRA.EXE | 77 | |Crossbow |Absolute Entert|01-12-89| 72640|CBOW.EXE | 78 | |Curse of the Azure Bonds |SSI |06-21-89| 272218|GAME.OVR | 79 | |Dark Castle |Three-Sixty |09-08-87| 110507|DC.EXE | 80 | |Darklands |MicroProse |09-15-92|1652687|DARKLAND.EXE | 81 | |Darklands |MicroProse |02-26-93|1675637|DARKLAND.EXE | 82 | |Dawn Raider |Softstar |07-04-90| 113710|DR.EXE | 83 | |Death Sword |Epyx |05-03-88| 157292|DS.EXE | 84 | |Death Track |Activision |09-20-86| 177687|DTRACK.EXE | 85 | |Die Hard II |Grandslam Video|06-18-92| 64760|DIE.EXE | 86 | |Disney Animation Studio |Walt Disney Sof|01-01-92| 46900|DAS.EXE | 87 | |Double Tetris |Soft-World Inte|11-27-90| 98320|FTF_VGA.EXE | 88 | | | |11-27-90| 89090|FTF_MONO.EXE | 89 | |Dragon's Lair |Bluth Group, Lt|02-08-90| 15141|DRAGON.EXE | 90 | |Dragons of Flame |SSI |10-19-89| 63485|GAME.EXE | 91 | |Elder Scrolls I |Bethesda Softwo|01-31-94| 313840|A.EXE |X 92 | |Empire |Interstel |07-19-88| 222303|EMPIRE.EXE | 93 | |England Football Championshi|Grandslam Video|05-12-91| 53860|ENGLAND.EXE | 94 | |Eye of the Beholder |SSI |02-20-91| 264496|EOB.EXE | 95 | |Face Off! |Gamestar |09-20-89| 149223|FACEOFF.EXE | 96 | |FlashBack |Delphine |04-21-93| 126860|FB.EXE | 97 | |FlashBack |Delphine |04-21-93| 128460|FB.EXE | 98 | |FlashBack |Delphine |04-21-93| 128188|FB.EXE | 99 | |FlashBack |SSI |06-08-93| 128532|FB.EXE | 100 | |Future Wars |Interplay |05-29-90| 154614|FW.EXE |L 101 | |Galaxy Empire |Kingformation S|05-02-91| 74364|GLS.EXE | 102 | |Galaxy Fleet |Kingformation S|08-15-92| 285722|GF.EXE | 103 | |Gauntlet |Mindscape |01-22-88| 17273|GINTRO.EXE | 104 | | | |01-22-88| 33817|GPROG.EXE | 105 | |Gauntlet II |Mindscape |07-28-89| 81356|GAUNTLET.EXE | 106 | | | |07-28-89| 81406|GFAST.EXE | 107 | |Gold Rush |Sierra On-Line |12-22-88| 2399|GRDIR | 108 | |Golden Axe |Sega |11-16-90| 40481|AXE.DAT | 109 | |Grand Prix Circuit |Accolade |10-08-88| 77497|GPCGA.EXE | 110 | | | |10-08-88| 86855|GPEGA.EXE | 111 | | | |10-08-88| 77401|GPTDY.EXE | 112 | |Hacker |Activision |03-28-86| 53760|HACKER.EXE | 113 | |Hardball II |Accolade |10-13-89| 167857|HB2CGA.EXE | 114 | | | |10-13-89| 170281|HB2EGA.EXE | 115 | | | |10-13-89| 163627|HB2TDY.EXE | 116 | |Hardball III |Accolade |07-15-92|1444448|HARDBALL.EXE | 117 | |Heroes of the Lance |SSI |10-26-88| 97005|START.EXE | 118 | |Hillsfar |SSI |05-04-89| 146660|MAIN.EXE |L 119 | |Indianapolis 500 |Electronic Arts|12-22-89| 159511|INDY.EXE | 120 | |Indy & Last Crusade: Graphic|Lucasfilm Games|05-24-89| 93737|INDY3.EXE |Q 121 | |Indy & Fate Of Atlantis |Lucasfilm Games|06-12-92| 112565|ATLANTIS.EXE | 122 | |IndyCar Racing |Papyrus |11-07-93| 732853|INDYCAR.EXE |Q 123 | |IndyCar Racing |Papyrus |11-24-93| 737105|INDYCAR.EXE |Q 124 | |IndyCar Racing |Papyrus |04-05-94| 742377|INDYCAR.EXE |Q 125 | |IndyCar Racing |Papyrus |04-05-94| 742273|INDYCAR.EXE |Q 126 | |IndyCar Racing |Papyrus |04-05-94| 742281|INDYCAR.EXE |Q 127 | |IndyCar Racing |Papyrus |04-05-94| 742285|INDYCAR.EXE |Q 128 | |IndyCar Racing |Papyrus |05-10-94| 743613|INDYCAR.EXE |Q 129 | |Italy 1990 |U.S. Gold |06-08-90| 62631|ITALY90.COM | 130 | |Jack Nicklaus Unlimited Golf|Accolade |09-19-90| 145860|GOLF.EXE |X 131 | | | |09-19-90| 140510|DESIGN.EXE | 132 | |John Madden Football |Electronic Arts|07-14-89| 224736|MFB.EXE | 133 | |King's Quest II |Sierra On-Line |12-01-87| 3121|SIERRA.COM | 134 | |Kingmaker |Avalon Hill |05-19-94| 168558|KING.EXE | 135 | |Kingmaker |Avalon Hill |10-11-94| 169182|KING.EXE | 136 | |Kings of the Beach |Electronic Arts|01-11-89| 69907|VBCGA |Q 137 | | | |01-11-89| 76485|VBEGA | 138 | | | |01-11-89| 77571|VBTDY | 139 | |Lakers vs. Celtics |Electronic Arts|09-08-89| 178721|BBALL.EXE | 140 | |Legends of Valour |SSI |12-10-92| 7013|TITLE.EXE | 141 | |Leisure Suit Larry I |Sierra On-Line |10-04-87| 4096|SIERRA.COM | 142 | |Lemmings |Psygnosis |05-10-91| 73092|CGALEMMI.EXE |X 143 | | | |05-10-91| 76092|TDYLEMMI.EXE | 144 | | | |05-10-91| 83194|VGALEMMI.EXE | 145 | |Life and Death |Software Toolwo|07-26-90| 340753|LND.EXE |Q 146 | |Lost Vikings |Interplay |06-10-93| 33552|SETUP.EXE | 147 | |Magic Candle |Mindcraft |03-09-89| 5916|P82.MCO | 148 | |Martian Dreams |Origin Systems |05-23-91| 341712|GAME.EXE | 149 | |Master Ninja |Paragon |07-12-85| 142080|MASTER.EXE | 150 | |Master of Orion |MicroProse |01-04-94| 563328|STARMAP.EXE | 151 | |Mean 18 |Accolade |02-28-86| 82157|GOLF.EXE | 152 | |Mean Streets |Access Software|10-16-89| 122951|MS.EXE | 153 | |Mechwarrior |Activision |11-02-89| 137871|MW_MAIN.EXE | 154 | |Might and Magic |New World |10-13-87| 119232|MM.EXE | 155 | |Might and Magic III |New World |09-02-91| 279856|MM3.EXE |L 156 | |Mike Ditka Ultimate Football|Accolade |10-20-91| 42591|MDFB.EXE | 157 | | | |10-20-91| 95085|DAT101.DAT | 158 | |Mike Ditka Ultimate Football|Accolade |11-01-91| 42623|MDFB.EXE | 159 | | | |11-01-91| 95216|DAT101.DAT | 160 | |Mission UFO |Cliffs StudyWar|07-02-92| 163318|UFO.EXE | 161 | |Moebius |Origin Systems |??-??-88| 47264|MOEBIUS.EXE | 162 | |Mortal Kombat |Virgin Games |12-17-93| 439131|MK.EXE | 163 | |Mortal Kombat |Virgin Games |01-03-94| 586311|MK.EXE | 164 | |Mortal Kombat II |Virgin Games |01-27-95| 861133|MK2.EXE | 165 | |Mortal Kombat II |Virgin Games |05-31-95| 861133|MK2.EXE | 166 | |Mortal Kombat II |Virgin Games |06-12-95| 861133|MK2.EXE | 167 | |Oh No More Lemmings |Psygnosis |11-14-91| 76348|TGALEMMI.EXE |X 168 | | | |11-14-91| 83242|VGALEMMI.EXE | 169 | |One on One |Electronic Arts|07-21-88| 71963|1ON1SUB | 170 | | | |07-21-88| 70455|1ON1TINY | 171 | |Perfect General |QQP |07-01-94| 304819|GENERAL.EXE | 172 | |Pipe Dream |Lucasfilm Games|09-25-89| 96097|PIPE.EXE | 173 | |Pirates! Gold |MicroProse |06-21-93| 350827|PIRATESG.EXE | 174 | |Pirates! Gold |MicroProse |07-14-93| 346115|PIRATESG.EXE | 175 | |Pirates! Gold |MicroProse |09-29-93| 289503|PIRATESG.EXE | 176 | |Platoon |Data East |10-18-88| 52608|PC.EXE |H 177 | | | |10-18-88| 55136|PE.EXE | 178 | | | |10-18-88| 54352|PH.EXE | 179 | | | |10-18-88| 54496|PT.EXE | 180 | |Pool of Radiance |SSI |12-12-88| 232379|GAME.OVR | 181 | |Populous |Electronic Arts|12-15-89| 84959|POPULOUS.EXE | 182 | |PowerMonger |Electronic Arts|05-13-92| 241969|GAME.EXE |Q 183 | |Preditor II |Image Works |03-28-91| 132777|PRED.EXE | 184 | |Prince of Persia |Broderbund |03-29-90| 124257|PRINCE.EXE | 185 | |Prince of Persia II |Broderbund |04-30-93| 292865|PRINCE.EXE | 186 | |Psychic War |Kyodai |10-11-89| 58649|PW.EXE | 187 | |Questron II |SSI |04-23-88| 137036|START.EXE | 188 | |Rad Warrior |Epyx |12-26-87| 151248|RW.EXE | 189 | |Railroad Tycoon Deluxe |MicroProse |06-10-93| 265234|RRT.EXE | 190 | |Rally |Europress Softw|12-11-93| 53896|MENU.EXE |X 191 | |Rally |Europress Softw|03-26-94| 64248|MENU.EXE |X 192 | |Rampage |Activision |04-20-88| 58876|RAMPAGE.EXE | 193 | |Rampart |Electronic Arts|04-03-92| 85381|RAMPAGE.EXE | 194 | |Red Storm Rising |MicroProse |04-12-89| 4517|REDSTORM.COM | 195 | | | |04-12-89| 44005|REDSTART.RSR | 196 | |Rush'n Attack |Konami |04-16-88| 22199|RUSC.EXE | 197 | | | |04-16-88| 22199|RUSE.EXE | 198 | |Secret of the Silver Blades |SSI |05-25-90| 277515|GAME.OVR | 199 | |Secret Weapons of Luftwaffe |Lucasfilm Games|08-05-91| 55564|SWOTL.EXE | 200 | |Sim City |Maxis |09-06-89| 190879|SIMCITY.EXE | 201 | |Sim City |Maxis |10-05-89| 191235|SIMCITY.EXE | 202 | |Sim Earth |Maxis |01-27-91| 406346|SIMEARTH.EXE | 203 | |Simpsons |Konami |12-04-91| 145376|SIMPSONS.EXE | 204 | |Ski or Die |Electronic Arts|02-07-90| 52753|SKICGA | 205 | | | |02-07-90| 52729|SKIEGA | 206 | | | |02-07-90| 51999|SKITDY | 207 | |Space 1889 |Paragon |10-18-90| 27520|SETUP.EXE | 208 | |Space Quest II |Sierra On-Line |11-10-87| 3121|SIERRA.COM | 209 | |Space Quest IV |Sierra On-Line |05-11-91| 104937|SCIDHUV.EXE |Q 210 | |Space Station Oblivion |Epyx |09-27-88| 6765|OBLIVION.EXE | 211 | |Spear of Destiny |Apogee |01-05-93| 255646|SPEAR.EXE |X 212 | |Star Control |Accolade |07-13-90| 56576|STARCON.OVL | 213 | |Star Trek 25th Anniversary |Interplay |04-18-92| 174776|STARTREK.EXE | 214 | |Stormovik |Electronic Arts|08-31-90| 250363|SU25.EXE | 215 | |Street Rod |California Drea|09-20-89| 259785|SR.EXE | 216 | |Street Sports Baseball |Epyx |04-19-88| 106076|SELECT.EXE | 217 | |Street Sports Basketball |Epyx |10-27-87| 5808|SSBKB.EXE | 218 | |Stunts |Broderbund |10-11-90| 19827|LOAD.EXE |L 219 | |Supaplex |Digital Integra|12-21-91| 45948|SUPAPLEX.EXE | 220 | |SuperSki II |Microids |02-25-92| 84005|SUPERSKI.EXE | 221 | |Super Tetris |Spectrum HoloBy|12-31-91| 292928|SUPERTET.EXE |X 222 | |Task Force 1942 |MicroProse |11-29-92| 473616|TF.EXE | 223 | |Test Drive |Accolade |10-25-87| 57472|TDCGA.EXE | 224 | | | |11-09-87| 66517|TDEGA.EXE | 225 | |Test Drive II |Accolade |02-26-89| 104149|TD2CGA.EXE |2 226 | | | |02-26-89| 114421|TD2EGA.EXE | 227 | | | |02-26-89| 103905|TD2TDY.EXE | 228 | |Test Drive III |Accolade |10-04-90| 137845|TD3.EXE | 229 | |Tetris Classic |Spectrum HoloBy|06-15-92| 272446|TETRISC.EXE |X 230 | |Their Finest Hour |Lucasfilm Games|10-02-89| 220135|BOB.EXE | 231 | |Thexder |Sierra On-Line |08-06-87| 2892|THEXDER.COM |Q 232 | |Thexder II |Sierra On-Line |09-24-90| 37378|GAME.EXE | 233 | |Tie Fighter |Lucasfilm Games|06-19-94| 408260|FRONT.OVL | 234 | |Times of Lore |Origin Systems |12-15-88| 79664|LORE.EXE | 235 | |Treasure of the Savage Front|SSI |03-07-92| 310572|GAME.OVR | 236 | |Tunnels & Trolls |New World |10-05-90| 344349|TNTCGA.EXE |X 237 | | | |10-05-90| 344607|TNTEGA.EXE | 238 | |Turbo Outrun |Sega |07-31-90| 36017|TOUTRUN.EXE |L 239 | |Ultima I |Origin Systems |12-29-87| 36880|ULTIMA.EXE | 240 | |Ultima II |Origin Systems |02-08-89| 37344|ULTIMAII.EXE | 241 | |Ultima II |Sierra On-Line |01-01-80| 35493|ULTIMAII.COM | 242 | |Ultima III |Origin Systems |02-10-87| 36692|ULTIMA.COM |3 243 | | | |02-10-87| 19572|BOOTUP.COM | 244 | |Ultima IV |Origin Systems |11-10-87| 98208|AVATAR.EXE | 245 | |Ultima V |Origin Systems |06-24-88| 36576|ULTIMA.EXE | 246 | |Ultima VI |Origin Systems |03-27-90| 205087|GAME.EXE |L 247 | |Universal Military Simulator|Rainbird Softwa|06-30-88| 275968|UMS.EXE | 248 | |Vette! (EGA) |Spectrum HoloBy|07-20-89| 247047|VETTE.EXE | 249 | |War in Middle Earth |Melbourne House|02-01-89| 139792|LORD.EXE | 250 | |Wargame Construction Set |SSI |01-01-80| 109056|WCS.EXE | 251 | |Wayne Gretzky Hockey II |Bethesda Softwo|10-17-90| 208256|HKY.EXE |L 252 | |Welltris |Spectrum HoloBy|10-03-89| 50838|WELLTRIS.EXE | 253 | |Wing Commander |Origin Systems |09-19-90| 302384|WC.EXE | 254 | |Winter Supersports |Flair Software |04-06-92| 2096|WINTER.EXE | 255 | |Wrath of the Demon |ReadySoft Inc. |08-12-91| 32897|WRATH.EXE | 256 | |X-Wing |Lucasfilm Games|02-15-93| 537230|FRONTEND.OVL | 257 | |X-Wing: B Wing |Lucasfilm Games|10-06-93| 583396|BFRONT.OVL | 258 | |X-Wing: Imperial Pursuit |Lucasfilm Games|06-04-93| 565728|FRONTEND.OVL | 259 | |X-Wing: Imperial Pursuit |Lucasfilm Games|06-12-93| 565824|FRONTEND.OVL | 260 | |Zany Golf |Electronic Arts|10-17-88| 65167|TZANY.COM | 261 | | | |10-17-88| 63153|ZANY.COM | 262 | 263 | H: If you are using MS DOS 5.0 or higher you may have to use LOADFIX.EXE to run this properly. 264 | 265 | Q: 4D Sports Boxing, Colonel's Bequest, Future Wars, Indiana Jones and the Last Crusade: The Graphic Adventure, IndyCar Racing, Kings of the Beach, Life and Death, PowerMonger, Space Quest IV, and Ultima VI still ask their questions but they will accept any answer. 266 | 267 | X: Elder Scrolls I, Jack Nicklaus Unlimited Golf, Lemmings, Oh No More Lemmings, Rally, Spear of Destiny, Tetris Classic, and Tunnels & Trolls, must be expanded with UNP before they can be unprotected. 268 | 269 | L: Instead of patching 4D Sports Boxing, Alone in the Dark, Budokan, Chuck Yeager's Air Combat, Future Wars, Hillsfar, Might and Magic III, Stunts, Turbo Outrun, Ultima VI, and Wayne Gretzky Hockey II a small program will be created which you must use to run them. 270 | 271 | 1: BC's Quest for Tires can now be copied using a normal disk copy, but it can still only be run from the A: drive. Trying to play it on a different drive may result in data loss for any disk in the A: drive. 272 | 273 | 2: If you are going to play Test Drive II on a hard disk you must have the DISKID.DAT file from the Play Disk not the Program Disk. 274 | 275 | 3: If patching your current Scenario Disk for Ultima III doesn't work then you must make a new one by: 1) making a normal copy of the Program Disk, 2) patching that copy, then 3) copying the following files from your old Scenario Disk: PARTY.ULT, ROSTER.ULT, & SOSARIA.ULT. Patching a Scenario Disk made with MKPLAY.EXE does not seem work. 276 | 277 | The Patcher will bring up a list of the above software titles and publishers and wait for your selection. You can maneuver through the list with the numeric keypad or the mouse, also you can use the alpha keys to quickly locate the first letter of the title. Once you have made your selection either type in its corresponding number and press enter, or double click on it. Clicking once on the input line is equivelant to pressing enter. 278 | 279 | Next The Patcher will ask for the directory were the software is installed. It will accept any DOS path, leaving it blank will default to the current directory. When you're done hit enter or click on the input line. 280 | 281 | Finally The Patcher will attempt to modify your software to bypass all signs of copy-protection and allow it to work fully on a hard drive. First it will determine which version of the program is closest to the one you have. It will then return one of three possible messages for each file which needs to be patched telling you how successful it was. If it returns OK then the patch was probably successful, meaning you will be able to use the software without any more hassles; saving you time, and your manuals and disks from wear & tear. If it returns SIZE then the size of the protected file is different meaning you have a different version of the software than the patch is intended for and it is unlikely the patch will work. If there is an ERROR make sure that you are entering the correct path and that all files which need to be patched are in the same directory. 282 | 283 | I AM NOT RESPONSIBLE FOR ANY EFFECTS THIS MAY CAUSE DIRECTLY OR INDIRECTLY ON ANY HARDWARE OR SOFTWARE. 284 | 285 | The Patcher IS TO BE USED FOR LAWFUL PURPOSES ONLY, NOT PIRACY! Nor is it to be used in violation of any software licensce agreement. 286 | 287 | DO NOT DAMAGE YOUR ORIGINALS. Write protect the orginal disk before attempting to make and patch the backup. 288 | 289 | - v1.0 01/02/91 290 | 291 | - v2.0 01/20/91 292 | Added scrolling. 293 | 294 | - v2.1 02/05/91 295 | 296 | - v2.2 02/14/91 297 | 298 | - v2.3 02/27/91 299 | 300 | - v2.4 03/11/91 301 | 302 | - v2.5 03/28/91 303 | 304 | - v3.0 04/02/91 305 | Added color and scroll bar. 306 | Improved patch storage. 307 | Improved patching method. 308 | 309 | - v3.1 04/24/91 310 | Improved patch association. 311 | 312 | - v3.2 07/22/91 313 | 314 | - v4.0 12/23/91 315 | Included MS Mouse support. 316 | Improved scrolling. 317 | 318 | - v4.1 01/04/92 319 | Scrolling is less "snowy". 320 | 321 | - v4.2 02/23/92 322 | Changed initial patch directory to current. 323 | 324 | - v4.3 03/15/92 325 | 326 | - v4.4 04/29/92 327 | 328 | - v4.5 07/12/92 329 | Fixed problem with other mouse buttons locking up the left mouse button. 330 | 331 | - v4.6 07/30/92 332 | Fixed problem with keyboard not working without a mouse caused by last fix. 333 | Added double clicking feature. 334 | 335 | - v4.7 09/08/92 336 | 337 | - v4.8 12/19/92 338 | 339 | - v4.9 01/14/93 340 | 341 | - v5.0 03/21/93 342 | Made the screen more readable for monochrome users. 343 | Put the mouse scrolling buttons together for easier use. 344 | Increased the number of possible patches. 345 | Tried to provide real documentation. 346 | 347 | - v5.1 05/26/93 348 | 349 | - v6.0 09/14/93 350 | Added patches : Ancient Art of War in the Skies (v2), Battle Chess (v1), 351 | Carl Lewis Challenge, Civilization v474.04, Dark Castle, Darklands, 352 | Dawn Raider, FlashBack (French), Galaxy Fleet, Heroes of the Lance, 353 | Indiana Jones and the Fate of Atlantis, Lost Vikings, 354 | Oh No More Lemmings, Prince of Persia II, Questron II, Rad Warrior, 355 | Railroad Tycoon Deluxe, Ski or Die, Spear of Destiny, 356 | Star Trek 25th Anniversary, Tetris Classic, Turbo Outrun, 357 | Wayne Gretzky Hockey II, Wrath of the Demon, Zany Golf. 358 | Revised patches: 2400A.D., Auto Duel, Mean Streets, Moebius, Sim City, 359 | Times of Lore, Ultima I, Ultima II, Ultima IV, Ultima V. 360 | Automatic version detection. 361 | Improved patch storage. 362 | Speed locate. 363 | 364 | - v6.1 02/05/94 365 | Added patches : Budokan, California Games II, Civilization v474.03 & 366 | v474.05, Civilization for Windows, Double Tetris, Dragons of Flame, 367 | England Football Championship, FlashBack (USA), Galaxy Empire, 368 | Jack Nicklaus Unlimited Golf, Martian Dreams, Mission UFO, 369 | Mortal Kombat (v1), Pirates! Gold (v1 & v2), Predator II, Psychic War, 370 | Space Quest II, Stormovik, Welltris, Winter Supersports, X-Wing, 371 | X-Wing: B-Wing, X-Wing: Imperial Pursuit v1.0 372 | Revised patches: Dawn Raider, FlashBack. 373 | 374 | - v6.2 04/06/94 375 | Added patches : Elder Scrolls I, Hardball III, IndyCar Racing v1.02, 376 | Mike Ditka Ultimate Football v1.01, Mortal Kombat (v2), Rampart, 377 | X-Wing: Imperial Pursuit v1.1. 378 | Improved version detection. 379 | 380 | - v6.3 08/26/94 381 | Added patches : Alone in the Dark, An American Tail, Archer Maclean's Pool, 382 | Armada 2525, Dragon's Lair, Italy 1990, Legends of Valour, 383 | Master of Orion, Simpsons, Street Rod, Supaplex, SuperSki II, Tie Fighter. 384 | Revised patches: Future Wars, Indiana Jones and the Fate of Atlantis. 385 | 386 | - v6.4 03/24/95 387 | Added patches : Die Hard II, FlashBack (Spanish), Mortal Kombat II (Disk), 388 | Rally, Super Tetris. 389 | Revised patches: Kings of the Beach. 390 | 391 | - v6.5 09/05/95 392 | Added patches : FlashBack (Australian), IndyCar Racing v1.03 & v1.05, 393 | Mortal Kombat II (CD), Perfect General. 394 | Revised patches: IndyCar Racing. 395 | 396 | - v6.6 01/13/96 397 | Added patches : Battle Chess II (v2), Castles v1.01, 398 | Civilization for Windows v1.2.0, Darklands v483.07, 399 | Disney Animation Studio, Kingmaker v1.51 & v1.52, 400 | IndyCar Racing v1.04 (US, Eng, Spa, Ita, Ger, Fre), Pirates! Gold (v3). 401 | Revised patches: Future Wars, Tunnels & Trolls. 402 | 403 | - v6.7 08/13/01 404 | Added patches : Age of Empires v1.0 (Eng, Ger, Fre), v1.0a (Eng, Ger, Fre) & 405 | v1.0b (Eng, Ger, Fre), Age of Empires: Rise of Rome Expansion, 406 | Age of Empires II 0.09.07.0222, Civilizaiton: Call To Power v1.0, v1.1 & v1.2 407 | Included Delay-timer fix to support faster CPUs. 408 | -------------------------------------------------------------------------------- /PATCHES.INC: -------------------------------------------------------------------------------- 1 | Const 2 | N2 : Array[0..$02] Of Byte = ($02, $90,$90); 3 | N3 : Array[0..$03] Of Byte = ($03, $90,$90,$90); 4 | N4 : Array[0..$04] Of Byte = ($04, $90,$90,$90,$90); 5 | Jmp : Array[0..$01] Of Byte = ($01, $EB); 6 | Jnz : Array[0..$01] Of Byte = ($01, $75); 7 | Ret : Array[0..$01] Of Byte = ($01, $C3); 8 | RetF : Array[0..$01] Of Byte = ($01, $CB); 9 | Ret0C : Array[0..$03] Of Byte = ($03, $C2,$0C,$00); 10 | BTrue : Array[0..$01] Of Byte = ($01, $01); 11 | AX0 : Array[0..$02] Of Byte = ($02, $33,$C0); 12 | AX1 : Array[0..$03] Of Byte = ($03, $B8,$01,$00); 13 | Jmp3 : Array[0..$02] Of Byte = ($02, $EB,$03); 14 | AAWS11 : Array[0..$03] Of Byte = ($03, $E9,$16,$02); 15 | AAWS12 : Array[0..$03] Of Byte = ($03, $E9,$F8,$01); 16 | AAWS2 : Array[0..$02] Of Byte = ($02, $EB,$3D); 17 | AD2400C : Array[0..$04] Of Byte = ($04, $22,$03,$60,$05); 18 | AD2400S : Array[0..$04] Of Byte = ($04, $A2,$1B,$00,$08); 19 | AutoDuelC : Array[0..$04] Of Byte = ($04, $23,$03,$C5,$0A); 20 | AutoDuelS : Array[0..$04] Of Byte = ($04, $E7,$16,$00,$08); 21 | Batman : Array[0..$03] Of Byte = ($03, $54,$EB,$16); 22 | BatlHawks : Array[0..$03] Of Byte = ($03, $E9,$1C,$02); 23 | BC2 : Array[0..$03] Of Byte = ($03, $E9,$A9,$03); 24 | Carl : Array[0..$03] Of Byte = ($03, $E9,$39,$08); 25 | CastlesA : Array[0..$03] Of Byte = ($03, $E9,$84,$01); 26 | CastlesB : Array[0..$03] Of Byte = ($03, $E9,$8D,$01); 27 | CB1 : Array[0..$0C] Of Byte = ($0C, $2E,$8C,$1E,$E6,$09,$9A,$2A,$11,$00,$00,$EB,$0B); 28 | CB2 : Array[0..$21] Of Byte = ($21, $A8,$01,$74,$0A,$AC,$32,$E4,$8B,$C8,$AC,$32,$E4,$EB,$04,$AD,$8B,$C8,$AD,$8B, 29 | $D8,$AC,$32,$E4,$81,$FE,$97,$98,$75,$03,$BE,$9A,$9E,$CB); 30 | Centurion : Array[0..$03] Of Byte = ($03, $E9,$8C,$01); 31 | CG2 : Array[0..$03] Of Byte = ($03, $E9,$EA,$00); 32 | Contra : Array[0..$02] Of Byte = ($02, $30,$2A); 33 | Crossbow : Array[0..$02] Of Byte = ($02, $EB,$45); 34 | DawnRaid : Array[0..$03] Of Byte = ($03, $E9,$6B,$01); 35 | DTm : Array[0..$03] Of Byte = ($03, $E9,$6E,$04); 36 | DTv : Array[0..$03] Of Byte = ($03, $E9,$11,$05); 37 | Empire : Array[0..$09] Of Byte = ($09, $C7,$06,$96,$63,$00,$00,$E9,$7D,$01); 38 | FBa1 : Array[0..$03] Of Byte = ($03, $E9,$56,$03); 39 | FBa2 : Array[0..$03] Of Byte = ($03, $E9,$9D,$02); 40 | FBf1 : Array[0..$03] Of Byte = ($03, $E9,$43,$03); 41 | FBf2 : Array[0..$03] Of Byte = ($03, $E9,$A6,$02); 42 | FBs1 : Array[0..$03] Of Byte = ($03, $E9,$5A,$03); 43 | FBs2 : Array[0..$03] Of Byte = ($03, $E9,$A5,$02); 44 | FO1 : Array[0..$03] Of Byte = ($03, $B8,$95,$59); 45 | FO2 : Array[0..$03] Of Byte = ($03, $B9,$C8,$70); 46 | FO3 : Array[0..$03] Of Byte = ($03, $E9,$9E,$00); 47 | GE : Array[0..$03] Of Byte = ($03, $E9,$42,$03); 48 | GPC : Array[0..$03] Of Byte = ($03, $E9,$49,$01); 49 | GR : Array[0..$02] Of Byte = ($02, $CC,$7A); 50 | Heroes : Array[0..$03] Of Byte = ($03, $E9,$8F,$00); 51 | IFA1 : Array[0..$0A] Of Byte = ($0A, $8C,$1E,$2E,$00,$FF,$1E,$2C,$00,$90,$90); 52 | IFA2 : Array[0..$26] Of Byte = ($26, $8B,$1E,$0E,$6D,$D1,$E3,$80,$3E,$46,$6E,$1A,$75,$12,$83,$3E,$8A,$6E,$0C,$90, 53 | $75,$0A,$81,$FB,$78,$03,$75,$04,$B8,$01,$00,$90,$89,$87,$E0,$71,$CB,$08,$00); 54 | KOB : Array[0..$04] Of Byte = ($04, $A3,$F8,$08,$C3); 55 | Krynn : Array[0..$03] Of Byte = ($03, $E9,$FC,$02); 56 | LOV : Array[0..$06] Of Byte = ($06, $C6,$06,$A1,$03,$02,$C3); 57 | LoreC : Array[0..$04] Of Byte = ($04, $70,$D8,$00,$00); 58 | LoreS : Array[0..$04] Of Byte = ($04, $E7,$1D,$00,$08); 59 | LND : Array[0..$02] Of Byte = ($02, $90,$A3); 60 | Mechwar : Array[0..$03] Of Byte = ($03, $E9,$73,$01); 61 | MK : Array[0..$05] Of Byte = ($05, $E9,$81,$00,$00,$00); 62 | MK2 : Array[0..$05] Of Byte = ($05, $E9,$75,$00,$00,$00); 63 | MM1 : Array[0..$02] Of Byte = ($02, $EB,$37); 64 | MNinja : Array[0..$03] Of Byte = ($03, $E9,$FC,$00); 65 | MoebiusC : Array[0..$04] Of Byte = ($04, $23,$03,$C0,$0A); 66 | MoebiusS : Array[0..$04] Of Byte = ($04, $A2,$1B,$00,$08); 67 | Oblivion : Array[0..$02] Of Byte = ($02, $EB,$09); 68 | Platoon : Array[0..$03] Of Byte = ($03, $E9,$30,$01); 69 | Populous : Array[0..$06] Of Byte = ($06, $B8,$05,$00,$E9,$2E,$05); 70 | RSR : Array[0..$06] Of Byte = ($06, $C4,$F3,$9C,$C4,$11,$90); 71 | Rushn : Array[0..$03] Of Byte = ($03, $E9,$B6,$00); 72 | Silver : Array[0..$03] Of Byte = ($03, $E9,$C9,$01); 73 | Ski : Array[0..$03] Of Byte = ($03, $E9,$6A,$01); 74 | StarTrek : Array[0..$03] Of Byte = ($03, $A1,$84,$01); 75 | SWOTL : Array[0..$03] Of Byte = ($03, $E9,$0D,$FF); 76 | SQIV : Array[0..$01] Of Byte = ($01, $04); 77 | TD2 : Array[0..$03] Of Byte = ($03, $E9,$25,$01); 78 | Treasure : Array[0..$03] Of Byte = ($03, $E9,$10,$02); 79 | UFO : Array[0..$03] Of Byte = ($03, $E9,$7B,$05); 80 | Ultima1C : Array[0..$04] Of Byte = ($04, $00,$00,$00,$00); 81 | Ultima1S : Array[0..$04] Of Byte = ($04, $72,$10,$00,$14); 82 | Ultima2C : Array[0..$04] Of Byte = ($04, $00,$01,$00,$00); 83 | Ultima2S : Array[0..$04] Of Byte = ($04, $00,$00,$00,$00); 84 | UltimaII : Array[0..$0F] Of Byte = ($0F, $8C,$C8,$05,$25,$07,$8E,$D8,$05,$10,$03,$8E,$D0,$BC,$00,$01); 85 | Ultima4C : Array[0..$04] Of Byte = ($04, $12,$00,$72,$17); 86 | Ultima4S : Array[0..$04] Of Byte = ($04, $37,$18,$80,$00); 87 | Ultima5C : Array[0..$04] Of Byte = ($04, $22,$03,$2D,$07); 88 | Ultima5S : Array[0..$04] Of Byte = ($04, $3B,$1B,$00,$08); 89 | Vette : Array[0..$03] Of Byte = ($03, $E9,$E8,$00); 90 | Mindscape : Array[0..$3F] Of Byte = ($3F, $44,$45,$4D,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$30,$31,$60,$44,$45,$4D,$30, 91 | $31,$32,$33,$34,$35,$36,$37,$38,$39,$30,$31,$60,$44,$45,$4D,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$30,$31,$60, 92 | $44,$45,$4D,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$30,$31); 93 | BC : Array[0..$80] Of Byte = ($80, $35,$5F,$AE,$42,$9F,$FE,$6C,$22,$21,$3F,$28,$72,$39,$1D,$91,$FE,$0F,$FE,$78,$22, 94 | $CF,$43,$3B,$29,$A5,$FB,$D1,$D4,$55,$B6,$72,$F5,$75,$77,$E2,$3A,$49,$C2,$59,$07,$3A,$D5,$11,$7C,$F4,$F3,$6C,$95, 95 | $1A,$DA,$C1,$70,$A7,$56,$C3,$A8,$E4,$EE,$8E,$DF,$00,$BB,$4F,$5A,$50,$59,$8E,$C6,$24,$F5,$19,$19,$43,$86,$8F,$92, 96 | $04,$18,$88,$E1,$0A,$43,$5D,$63,$9B,$BA,$99,$85,$9C,$FE,$FB,$49,$2B,$32,$26,$E7,$DA,$09,$E7,$8A,$85,$DB,$21,$3A, 97 | $D0,$D7,$58,$D9,$3F,$52,$D7,$47,$F2,$3C,$80,$A0,$FD,$B3,$30,$A4,$61,$B0,$CC,$37,$AB,$DF,$EB,$FE); 98 | KQ2 : Array[0..$80] Of Byte = ($80, $03,$56,$5F,$9C,$54,$35,$5F,$AE,$42,$9F,$FE,$6C,$22,$21,$3F,$28,$72,$39,$1D,$91, 99 | $FE,$0F,$FE,$78,$22,$CF,$43,$3B,$29,$A5,$FB,$D1,$D4,$55,$B6,$72,$F5,$75,$77,$E2,$3A,$49,$C2,$59,$07,$3A,$D5,$11, 100 | $7C,$F4,$F3,$6C,$95,$1A,$DA,$C1,$70,$A7,$56,$C3,$A8,$E4,$EE,$8E,$DF,$00,$BB,$4F,$5A,$50,$59,$8E,$C6,$24,$F5,$19, 101 | $19,$43,$86,$8F,$92,$04,$18,$88,$E1,$0A,$43,$5D,$63,$9B,$BA,$99,$85,$9C,$FE,$FB,$49,$2B,$32,$26,$E7,$DA,$09,$E7, 102 | $8A,$85,$DB,$21,$3A,$D0,$D7,$58,$D9,$3F,$52,$D7,$47,$F2,$3C,$80,$A0,$FD,$B3,$30,$A4,$61,$B0,$CC); 103 | Larry : Array[0..$80] Of Byte = ($80, $D5,$AA,$4E,$D6,$BE,$3D,$8C,$25,$4C,$A1,$10,$03,$56,$5F,$9C,$54,$35,$5F,$AE,$42, 104 | $9F,$FE,$6C,$22,$21,$3F,$28,$72,$39,$1D,$91,$FE,$0F,$FE,$78,$22,$CF,$43,$3B,$29,$A5,$FB,$D1,$D4,$55,$B6,$72,$F5, 105 | $75,$77,$E2,$3A,$49,$C2,$59,$07,$3A,$D5,$11,$7C,$F4,$F3,$6C,$95,$1A,$DA,$C1,$70,$A7,$56,$C3,$A8,$E4,$EE,$8E,$DF, 106 | $00,$BB,$4F,$5A,$50,$59,$8E,$C6,$24,$F5,$19,$19,$43,$86,$8F,$92,$04,$18,$88,$E1,$0A,$43,$5D,$63,$9B,$BA,$99,$85, 107 | $9C,$FE,$FB,$49,$2B,$32,$26,$E7,$DA,$09,$E7,$8A,$85,$DB,$21,$3A,$D0,$D7,$58,$D9,$3F,$52,$D7,$47); 108 | Thexder : Array [0..$80] Of Byte = ($80, $43,$B7,$45,$5D,$97,$49,$2F,$F2,$D8,$12,$7B,$0E,$C0,$3A,$D2,$65,$DE,$85,$64,$41, 109 | $22,$51,$01,$D4,$03,$B9,$D5,$AA,$4E,$D6,$BE,$3D,$8C,$25,$4C,$A1,$10,$03,$56,$5F,$9C,$54,$35,$5F,$AE,$42,$9F,$FE, 110 | $6C,$22,$21,$3F,$28,$72,$39,$1D,$91,$FE,$0F,$FE,$78,$22,$CF,$43,$3B,$29,$A5,$FB,$D1,$D4,$55,$B6,$72,$F5,$75,$77, 111 | $E2,$3A,$49,$C2,$59,$07,$3A,$D5,$11,$7C,$F4,$F3,$6C,$95,$1A,$DA,$C1,$70,$A7,$56,$C3,$A8,$E4,$EE,$8E,$DF,$00,$BB, 112 | $4F,$5A,$50,$59,$8E,$C6,$24,$F5,$19,$19,$43,$86,$8F,$92,$04,$18,$88,$E1,$0A,$43,$5D,$63,$9B,$BA); 113 | SQ2 : Array [0..$80] Of Byte = ($80, $91,$FE,$0F,$FE,$78,$22,$CF,$43,$3B,$29,$A5,$FB,$D1,$D4,$55,$B6,$72,$F5,$75,$77, 114 | $E2,$3A,$49,$C2,$59,$07,$3A,$D5,$11,$7C,$F4,$F3,$6C,$95,$1A,$DA,$C1,$70,$A7,$56,$C3,$A8,$E4,$EE,$8E,$DF,$00,$BB, 115 | $4F,$5A,$50,$59,$8E,$C6,$24,$F5,$19,$19,$43,$86,$8F,$92,$04,$18,$88,$E1,$0A,$43,$5D,$63,$9B,$BA,$99,$85,$9C,$FE, 116 | $FB,$49,$2B,$32,$26,$E7,$DA,$09,$E7,$8A,$85,$DB,$21,$3A,$D0,$D7,$58,$D9,$3F,$52,$D7,$47,$F2,$3C,$80,$A0,$FD,$B3, 117 | $30,$A4,$61,$B0,$CC,$37,$AB,$DF,$EB,$FE,$26,$8C,$20,$29,$BE,$B9,$E4,$50,$74,$4B,$1E,$75,$78,$63); 118 | AirCom0 : Array [0..$82] Of Byte = ($82, $BC,$FE,$01,$BB,$20,$00,$B4,$4A,$CD,$21,$B8,$1A,$35,$CD,$21,$89,$1E,$68,$01,$8C, 119 | $06,$6A,$01,$BA,$49,$01,$B8,$1A,$25,$CD,$21,$0E,$07,$8C,$0E,$7A,$01,$8C,$0E,$7E,$01,$8C,$0E,$82,$01,$BA,$6C,$01, 120 | $BB,$76,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$68,$01,$B8,$1A,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$55,$8B,$EC, 121 | $1E,$8E,$5E,$0A,$81,$3E,$3F,$01,$9A,$B6,$75,$0D,$C7,$06,$3F,$01,$EB,$03,$2E,$C7,$06,$49,$01,$EB,$1C,$1F,$5D,$EA, 122 | $00,$00,$00,$00,$59,$45,$41,$47,$45,$52,$2E,$45,$58,$45,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 123 | AirCom1 : Array [0..$82] Of Byte = ($82, $BC,$FE,$01,$BB,$20,$00,$B4,$4A,$CD,$21,$B8,$1A,$35,$CD,$21,$89,$1E,$68,$01,$8C, 124 | $06,$6A,$01,$BA,$49,$01,$B8,$1A,$25,$CD,$21,$0E,$07,$8C,$0E,$7A,$01,$8C,$0E,$7E,$01,$8C,$0E,$82,$01,$BA,$6C,$01, 125 | $BB,$76,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$68,$01,$B8,$1A,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$55,$8B,$EC, 126 | $1E,$8E,$5E,$0A,$81,$3E,$53,$01,$9A,$B4,$75,$0D,$C7,$06,$53,$01,$EB,$03,$2E,$C7,$06,$49,$01,$EB,$1C,$1F,$5D,$EA, 127 | $00,$00,$00,$00,$59,$45,$41,$47,$45,$52,$2E,$45,$58,$45,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 128 | MM3 : Array [0..$8E] Of Byte = ($8E, $BC,$FE,$01,$BB,$20,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$77,$01,$8C, 129 | $06,$79,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$86,$01,$8C,$0E,$8A,$01,$8C,$0E,$8E,$01,$BA,$7B,$01, 130 | $BB,$82,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$77,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$55,$8B,$EC, 131 | $1E,$81,$7E,$02,$EE,$03,$75,$20,$8E,$5E,$04,$81,$3E,$5A,$04,$9A,$43,$75,$15,$C7,$06,$5A,$04,$EB,$03,$8E,$5E,$30, 132 | $C6,$06,$B1,$01,$EB,$2E,$C7,$06,$49,$01,$EB,$2B,$1F,$5D,$EA,$00,$00,$00,$00,$4D,$4D,$33,$2E,$45,$58,$45,$00,$00, 133 | $80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 134 | Stunts : Array [0..$9A] Of Byte = ($9A, $BC,$0E,$02,$BB,$21,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$80,$01,$8C, 135 | $06,$82,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$92,$01,$8C,$0E,$96,$01,$8C,$0E,$9A,$01,$BA,$84,$01, 136 | $BB,$8E,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$80,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$80,$FC,$1A, 137 | $75,$31,$55,$8B,$EC,$1E,$50,$8B,$46,$04,$2D,$F1,$1D,$8E,$D8,$81,$3E,$D4,$43,$55,$8B,$75,$19,$C7,$06,$D4,$43,$C6, 138 | $06,$A1,$9F,$45,$A3,$D6,$43,$C7,$06,$D8,$43,$01,$CB,$2E,$C7,$06,$49,$01,$EB,$34,$58,$1F,$5D,$EA,$00,$00,$00,$00, 139 | $53,$54,$55,$4E,$54,$53,$2E,$43,$4F,$4D,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 140 | Fight : Array [0..$7B] Of Byte = ($7B, $BC,$EE,$01,$BB,$1F,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$62,$01,$8C, 141 | $06,$64,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$73,$01,$8C,$0E,$77,$01,$8C,$0E,$7B,$01,$BA,$66,$01, 142 | $BB,$6F,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$62,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$3D,$00,$25, 143 | $75,$13,$81,$FA,$F8,$09,$75,$0D,$26,$C6,$06,$3A,$04,$00,$2E,$C7,$06,$49,$01,$EB,$16,$EA,$00,$00,$00,$00,$46,$49, 144 | $47,$48,$54,$2E,$43,$4F,$4D,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 145 | Hillsfar : Array [0..$83] Of Byte = ($83, $BC,$FE,$01,$BB,$20,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$6B,$01,$8C, 146 | $06,$6D,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$7B,$01,$8C,$0E,$7F,$01,$8C,$0E,$83,$01,$BA,$6F,$01, 147 | $BB,$77,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$6B,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$80,$FC,$06, 148 | $75,$1C,$55,$8B,$EC,$1E,$8E,$5E,$12,$80,$3E,$3A,$1F,$55,$75,$0C,$C6,$06,$3A,$1F,$CB,$2E,$C7,$06,$49,$01,$EB,$1F, 149 | $1F,$5D,$EA,$00,$00,$00,$00,$4D,$41,$49,$4E,$2E,$45,$58,$45,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 150 | Ultima6 : Array [0..$EF] Of Byte = ($EF, $BC,$5E,$02,$BB,$26,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$93,$01,$8C, 151 | $06,$95,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$E7,$01,$8C,$0E,$EB,$01,$8C,$0E,$EF,$01,$BA,$D8,$01, 152 | $BB,$E3,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$93,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$80,$FC,$3D, 153 | $75,$44,$1E,$51,$53,$8B,$DA,$B9,$0C,$00,$81,$3F,$65,$2E,$75,$0D,$80,$7F,$02,$61,$75,$07,$2E,$FE,$06,$E3,$01,$EB, 154 | $26,$43,$E2,$EA,$2E,$80,$3E,$E3,$01,$00,$74,$1B,$8B,$DA,$B9,$0C,$00,$81,$3F,$74,$2E,$75,$06,$80,$7F,$02,$61,$74, 155 | $12,$43,$E2,$F1,$2E,$C7,$06,$49,$01,$EB,$47,$5B,$59,$1F,$EA,$00,$00,$00,$00,$33,$C9,$49,$33,$DB,$81,$3F,$F7,$EF, 156 | $75,$07,$81,$7F,$02,$65,$6E,$74,$1A,$43,$E2,$F0,$2E,$80,$3E,$E4,$01,$02,$74,$D4,$2E,$FE,$06,$E4,$01,$8C,$D9,$81, 157 | $C1,$00,$10,$8E,$D9,$EB,$D4,$B9,$00,$06,$81,$3F,$F7,$EF,$75,$07,$43,$43,$C6,$07,$00,$EB,$F3,$43,$E2,$F0,$EB,$D4, 158 | $55,$4C,$54,$49,$4D,$41,$36,$2E,$45,$58,$45,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 159 | WGH2 : Array [0..$9F] Of Byte = ($9F, $BC,$0E,$02,$BB,$21,$00,$B4,$4A,$CD,$21,$B8,$10,$35,$CD,$21,$89,$1E,$88,$01,$8C, 160 | $06,$8A,$01,$BA,$49,$01,$B8,$10,$25,$CD,$21,$0E,$07,$8C,$0E,$97,$01,$8C,$0E,$9B,$01,$8C,$0E,$9F,$01,$BA,$8C,$01, 161 | $BB,$93,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$88,$01,$B8,$10,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$55,$8B,$EC, 162 | $53,$1E,$83,$7E,$0E,$1B,$75,$30,$8E,$5E,$10,$8B,$5E,$0E,$81,$7F,$01,$CE,$45,$75,$23,$8E,$5F,$12,$BB,$02,$11,$81, 163 | $3F,$C7,$06,$75,$17,$81,$7F,$02,$1B,$89,$75,$10,$C7,$47,$06,$E9,$C2,$C6,$47,$08,$04,$2E,$C7,$06,$49,$01,$EB,$3C, 164 | $1F,$5B,$5D,$EA,$00,$00,$00,$00,$48,$4B,$59,$2E,$45,$58,$45,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 165 | Turbo : Array [0..$83] Of Byte = ($83, $BC,$FE,$01,$BB,$20,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$68,$01,$8C, 166 | $06,$6A,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$7B,$01,$8C,$0E,$7F,$01,$8C,$0E,$83,$01,$BA,$6C,$01, 167 | $BB,$77,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$68,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$80,$FC,$0A, 168 | $75,$19,$C7,$06,$03,$00,$8B,$02,$C7,$06,$89,$02,$03,$00,$C6,$06,$8B,$02,$0D,$2E,$C7,$06,$49,$01,$EB,$1C,$CF,$EA, 169 | $00,$00,$00,$00,$54,$4F,$55,$54,$52,$55,$4E,$2E,$45,$58,$45,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 170 | Budo : Array [0..$90] Of Byte = ($90, $BC,$0E,$02,$BB,$21,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$78,$01,$8C, 171 | $06,$7A,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$88,$01,$8C,$0E,$8C,$01,$8C,$0E,$90,$01,$BA,$7C,$01, 172 | $BB,$84,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$78,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$80,$FC,$FF, 173 | $75,$04,$BB,$FF,$00,$CF,$55,$8B,$EC,$1E,$50,$8B,$46,$02,$3D,$F0,$1F,$75,$15,$8E,$5E,$04,$C7,$06,$96,$2E,$B8,$00, 174 | $C6,$06,$98,$2E,$00,$2E,$C7,$06,$52,$01,$EB,$23,$58,$1F,$5D,$EA,$00,$00,$00,$00,$42,$55,$44,$4F,$2E,$43,$4F,$4D, 175 | $00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 176 | Alone : Array [0..$94] Of Byte = ($94, $BC,$8E,$02,$BB,$29,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$7B,$01,$8C, 177 | $06,$7D,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$8C,$01,$8C,$0E,$90,$01,$8C,$0E,$94,$01,$BA,$7F,$01, 178 | $BB,$88,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$7B,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$1E,$50,$8C, 179 | $D8,$2D,$E4,$16,$8E,$D8,$81,$3E,$83,$07,$55,$8B,$75,$1E,$C7,$06,$83,$07,$C7,$06,$C7,$06,$85,$07,$A0,$05,$C7,$06, 180 | $87,$07,$01,$00,$C6,$06,$89,$07,$CB,$2E,$C7,$06,$49,$01,$EB,$2F,$58,$1F,$EA,$00,$00,$00,$00,$41,$4C,$4F,$4E,$45, 181 | $2E,$43,$4F,$4D,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 182 | FW : Array [0..$AD] Of Byte = ($AD, $BC,$FE,$01,$BB,$20,$00,$B4,$4A,$CD,$21,$B8,$21,$35,$CD,$21,$89,$1E,$96,$01,$8C, 183 | $06,$98,$01,$BA,$49,$01,$B8,$21,$25,$CD,$21,$0E,$07,$8C,$0E,$A5,$01,$8C,$0E,$A9,$01,$8C,$0E,$AD,$01,$BA,$9B,$01, 184 | $BB,$A1,$01,$B8,$00,$4B,$CD,$21,$2E,$C5,$16,$96,$01,$B8,$21,$25,$CD,$21,$B8,$00,$4C,$14,$00,$CD,$21,$55,$89,$E5, 185 | $1E,$8E,$5E,$04,$81,$3E,$6C,$30,$CD,$21,$74,$15,$81,$3E,$EB,$45,$83,$C4,$75,$33,$C6,$06,$EB,$45,$90,$C7,$06,$EC, 186 | $45,$CD,$21,$EB,$26,$81,$7E,$02,$6E,$30,$75,$1F,$2E,$FE,$0E,$9A,$01,$75,$12,$C7,$06,$6B,$30,$83,$C4,$C6,$06,$6D, 187 | $30,$04,$2E,$C7,$06,$49,$01,$EB,$4A,$B8,$01,$00,$1F,$5D,$CF,$1F,$5D,$EA,$00,$00,$00,$00,$02,$46,$57,$2E,$45,$58, 188 | $45,$00,$00,$80,$00,$00,$00,$5C,$00,$00,$00,$6C,$00); 189 | 190 | 191 | Const 192 | MaxP = 2; 193 | 194 | Type 195 | RPatch = Record 196 | Ver : Real; 197 | FName: String[12]; 198 | FSize: LongInt; 199 | PLocs: Array[1..MaxP] of LongInt; 200 | PTyps: Array[1..MaxP] of Word; 201 | PNext: Word 202 | End; 203 | 204 | Const 205 | p2400AD : RPatch = ( 206 | Ver : 0; 207 | FName: '2400AD.EXE'; 208 | FSize: 26496; 209 | PLocs: ($E,$14); 210 | PTyps: (Ofs(AD2400S),Ofs(AD2400C)); 211 | PNext: 0); 212 | p4x4ORR : RPatch = ( 213 | Ver : 0; 214 | FName: 'FRONT.EXE'; 215 | FSize: 24540; 216 | PLocs: ($1F5A,0); 217 | PTyps: (Ofs(Ret),0); 218 | PNext: 0); 219 | p4DSB : RPatch = ( 220 | Ver : 1.0; 221 | FName: 'LFIGHT.COM'; 222 | FSize: 0; 223 | PLocs: (0,0); 224 | PTyps: (Ofs(Fight),0); 225 | PNext: 0); 226 | p4Inch : RPatch = ( 227 | Ver : 0; 228 | FName: '4TH.EXE'; 229 | FSize: 90367; 230 | PLocs: ($2928,$292A); 231 | PTyps: (Ofs(AX0),Ofs(Ret)); 232 | PNext: 0); 233 | p688AS : RPatch = ( 234 | Ver : 0; 235 | FName: 'GAME.EXE'; 236 | FSize: 104572; 237 | PLocs: ($7CA,0); 238 | PTyps: (Ofs(BTrue),0); 239 | PNext: 0); 240 | pAFT : RPatch = ( 241 | Ver : 1.2; 242 | FName: 'AFT.EXE'; 243 | FSize: 95744; 244 | PLocs: ($CB1,0); 245 | PTyps: (Ofs(Ret),0); 246 | PNext: 0); 247 | pAOEa : RPatch = ( 248 | Ver : 1.01; 249 | FName: 'EMPIRES.EXE'; 250 | FSize: 1622016; 251 | PLocs: ($D7617,0); 252 | PTyps: (Ofs(N2),0); 253 | PNext: 0); 254 | pAOEb : RPatch = ( 255 | Ver : 1.02; 256 | FName: 'EMPIRES.EXE'; 257 | FSize: 1622016; 258 | PLocs: ($E83D7,0); 259 | PTyps: (Ofs(N2),0); 260 | PNext: Ofs(pAOEa)); 261 | pAOEr : RPatch = ( 262 | Ver : 1.02; 263 | FName: 'EMPIRESX.EXE'; 264 | FSize: 1513984; 265 | PLocs: ($19090,0); 266 | PTyps: (Ofs(N2),0); 267 | PNext: Ofs(pAOEb)); 268 | pAOE : RPatch = ( 269 | Ver : 1.0; 270 | FName: 'EMPIRES.EXE'; 271 | FSize: 1605632; 272 | PLocs: ($D5967,0); 273 | PTyps: (Ofs(N2),0); 274 | PNext: Ofs(pAOEr)); 275 | pAOEII : RPatch = ( 276 | Ver : 0.09; 277 | FName: 'EMPIRES2.EXE'; 278 | FSize: 2097152; 279 | PLocs: ($1E467,0); 280 | PTyps: (Ofs(N2),0); 281 | PNext: 0); 282 | pAlone : RPatch = ( 283 | Ver : 0; 284 | FName: 'LALONE.COM'; 285 | FSize: 0; 286 | PLocs: (0,0); 287 | PTyps: (Ofs(Alone),0); 288 | PNext: 0); 289 | pATail : RPatch = ( 290 | Ver : 0; 291 | FName: 'INSTALL.EXE'; 292 | FSize: 60645; 293 | PLocs: ($5055,$66DC); 294 | PTyps: (Ofs(RetF),Ofs(Jmp)); 295 | PNext: 0); 296 | pAAW : RPatch = ( 297 | Ver : 0; 298 | FName: 'WAR.EXE'; 299 | FSize: 99840; 300 | PLocs: ($8AC6,$8AC9); 301 | PTyps: (Ofs(AX1),Ofs(Ret)); 302 | PNext: 0); 303 | pAAWS : RPatch = ( 304 | Ver : 0; 305 | FName: 'WAS.EXE'; 306 | FSize: 162304; 307 | PLocs: ($7AAE,0); 308 | PTyps: (Ofs(N3),0); 309 | PNext: 0); 310 | pAAWAv1 : RPatch = ( 311 | Ver : 0.01; 312 | FName: 'SKIES.EXE'; 313 | FSize: 407365; 314 | PLocs: ($25D4F,$25F78); 315 | PTyps: (Ofs(AAWS11),Ofs(AAWS2)); 316 | PNext: 0); 317 | pAAWAv2 : RPatch = ( 318 | Ver : 0.02; 319 | FName: 'SKIES.EXE'; 320 | FSize: 392945; 321 | PLocs: ($23EEB,$240F6); 322 | PTyps: (Ofs(AAWS12),Ofs(AAWS2)); 323 | PNext: Ofs(pAAWAv1)); 324 | pPool256 : RPatch = ( 325 | Ver : 0; 326 | FName: 'POOL256.EXE'; 327 | FSize: 522228; 328 | PLocs: ($1480A,0); 329 | PTyps: (Ofs(Oblivion),0); 330 | PNext: 0); 331 | pPool : RPatch = ( 332 | Ver : 0; 333 | FName: 'POOL.EXE'; 334 | FSize: 478836; 335 | PLocs: ($148D8,0); 336 | PTyps: (Ofs(Oblivion),0); 337 | PNext: Ofs(pPool256)); 338 | pAFox16 : RPatch = ( 339 | Ver : 0; 340 | FName: 'AFOX16.EXE'; 341 | FSize: 68992; 342 | PLocs: ($3A7D,$3A7F); 343 | PTyps: (Ofs(AX0),Ofs(Ret)); 344 | PNext: 0); 345 | pAFox : RPatch = ( 346 | Ver : 0; 347 | FName: 'AFOX.EXE'; 348 | FSize: 69088; 349 | PLocs: ($3D89,$3D8B); 350 | PTyps: (Ofs(AX0),Ofs(Ret)); 351 | PNext: Ofs(pAFox16)); 352 | pArmada : RPatch = ( 353 | Ver : 0; 354 | FName: '2525.EXE'; 355 | FSize: 271280; 356 | PLocs: ($AEE6,$AEE9); 357 | PTyps: (Ofs(AX1),Ofs(RetF)); 358 | PNext: 0); 359 | pAutoDuel : RPatch = ( 360 | Ver : 0; 361 | FName: 'AUTODUEL.EXE'; 362 | FSize: 47344; 363 | PLocs: ($E,$14); 364 | PTyps: (Ofs(AutoDuelS),Ofs(AutoDuelC)); 365 | PNext: 0); 366 | pBadBlood : RPatch = ( 367 | Ver : 0; 368 | FName: 'GAME.EXE'; 369 | FSize: 115400; 370 | PLocs: ($68C1,$68C4); 371 | PTyps: (Ofs(AX1),Ofs(RetF)); 372 | PNext: 0); 373 | pBadStBr : RPatch = ( 374 | Ver : 0; 375 | FName: 'BR.EXE'; 376 | FSize: 45529; 377 | PLocs: ($8F14,$AD65); 378 | PTyps: (Ofs(Jmp3),Ofs(Mindscape)); 379 | PNext: 0); 380 | pBOP : RPatch = ( 381 | Ver : 0; 382 | FName: 'BOP.EXE'; 383 | FSize: 298032; 384 | PLocs: ($3ACA,$3ACC); 385 | PTyps: (Ofs(AX0),Ofs(Ret)); 386 | PNext: 0); 387 | pBatmanJ : RPatch = ( 388 | Ver : 0; 389 | FName: 'JOKER.EXE'; 390 | FSize: 40851; 391 | PLocs: ($9D81,0); 392 | PTyps: (Ofs(Batman),0); 393 | PNext: 0); 394 | pBatmanP : RPatch = ( 395 | Ver : 0; 396 | FName: 'PENGUIN.EXE'; 397 | FSize: 40851; 398 | PLocs: ($9D81,0); 399 | PTyps: (Ofs(Batman),0); 400 | PNext: Ofs(pBatmanJ)); 401 | pBChess1 : RPatch = ( 402 | Ver : 0.1; 403 | FName: 'CHESS.EXE'; 404 | FSize: 83499; 405 | PLocs: ($6F06,0); 406 | PTyps: (Ofs(Ret),0); 407 | PNext: 0); 408 | pBChess2 : RPatch = ( 409 | Ver : 0.2; 410 | FName: 'CHESS.EXE'; 411 | FSize: 83415; 412 | PLocs: ($6EB4,0); 413 | PTyps: (Ofs(Ret),0); 414 | PNext: Ofs(pBChess1)); 415 | pBChessIIs: RPatch = ( 416 | Ver : 0; 417 | FName: 'SETUP.EXE'; 418 | FSize: 29577; 419 | PLocs: ($858,0); 420 | PTyps: (Ofs(Ret),0); 421 | PNext: 0); 422 | pBChessII2: RPatch = ( 423 | Ver : 0.001; 424 | FName: 'CHESS2.EXE'; 425 | FSize: 129783; 426 | PLocs: ($D516,0); 427 | PTyps: (Ofs(BC2),0); 428 | PNext: Ofs(pBChessIIs)); 429 | pBChessII1: RPatch = ( 430 | Ver : 0; 431 | FName: 'CHESS2.EXE'; 432 | FSize: 129697; 433 | PLocs: ($D51A,0); 434 | PTyps: (Ofs(BC2),0); 435 | PNext: Ofs(pBChessII2)); 436 | pBH1942 : RPatch = ( 437 | Ver : 0; 438 | FName: 'BH.EXE'; 439 | FSize: 148055; 440 | PLocs: ($2ADB,0); 441 | PTyps: (Ofs(BatlHawks),0); 442 | PNext: 0); 443 | pBTech : RPatch = ( 444 | Ver : 1.03; 445 | FName: 'BTECH.EXE'; 446 | FSize: 152429; 447 | PLocs: ($8016,0); 448 | PTyps: (Ofs(Jmp),0); 449 | PNext: 0); 450 | pBCsQjrr : RPatch = ( 451 | Ver : 0; 452 | FName: 'MAINJRR.EXE'; 453 | FSize: 19456; 454 | PLocs: ($25E,$260); 455 | PTyps: (Ofs(AX0),Ofs(Ret)); 456 | PNext: 0); 457 | pBCsQr : RPatch = ( 458 | Ver : 0; 459 | FName: 'MAINR.EXE'; 460 | FSize: 19456; 461 | PLocs: ($25E,$260); 462 | PTyps: (Ofs(AX0),Ofs(Ret)); 463 | PNext: Ofs(pBCsQjrr)); 464 | pBCsQjrc : RPatch = ( 465 | Ver : 0; 466 | FName: 'MAINJRC.EXE'; 467 | FSize: 19712; 468 | PLocs: ($25E,$260); 469 | PTyps: (Ofs(AX0),Ofs(Ret)); 470 | PNext: Ofs(pBCsQr)); 471 | pBCsQc : RPatch = ( 472 | Ver : 0; 473 | FName: 'MAINC.EXE'; 474 | FSize: 19328; 475 | PLocs: ($25E,$260); 476 | PTyps: (Ofs(AX0),Ofs(Ret)); 477 | PNext: Ofs(pBCsQjrc)); 478 | pBCauld : RPatch = ( 479 | Ver : 0; 480 | FName: 'SIERRA.COM'; 481 | FSize: 2944; 482 | PLocs: ($41,$28D); 483 | PTyps: (Ofs(BC),Ofs(N3)); 484 | PNext: 0); 485 | pBopn : RPatch = ( 486 | Ver : 0; 487 | FName: 'BOP.EXE'; 488 | FSize: 48880; 489 | PLocs: ($B47D,$B47F); 490 | PTyps: (Ofs(AX0),Ofs(Ret)); 491 | PNext: 0); 492 | pBudo : RPatch = ( 493 | Ver : 0; 494 | FName: 'LBUDO.COM'; 495 | FSize: 0; 496 | PLocs: (0,0); 497 | PTyps: (Ofs(Budo),0); 498 | PNext: 0); 499 | pCalGam : RPatch = ( 500 | Ver : 1.01; 501 | FName: 'CALGAMES.EXE'; 502 | FSize: 63467; 503 | PLocs: ($4360,$4362); 504 | PTyps: (Ofs(AX0),Ofs(Ret)); 505 | PNext: 0); 506 | pCalGam2 : RPatch = ( 507 | Ver : 1.0; 508 | FName: 'BEACH'; 509 | FSize: 32035; 510 | PLocs: ($10B8,$11B0); 511 | PTyps: (Ofs(CG2),Ofs(Ret)); 512 | PNext: 0); 513 | pCarl : RPatch = ( 514 | Ver : 0; 515 | FName: 'AA.EXE'; 516 | FSize: 172835; 517 | PLocs: ($FEB4,0); 518 | PTyps: (Ofs(Carl),0); 519 | PNext: 0); 520 | pCastlesBs: RPatch = ( 521 | Ver : 1.001; 522 | FName: 'SETUP.EXE'; 523 | FSize: 27038; 524 | PLocs: ($355D,0); 525 | PTyps: (Ofs(CastlesB),0); 526 | PNext: 0); 527 | pCastlesC : RPatch = ( 528 | Ver : 1.01; 529 | FName: 'CASTLES1.EXE'; 530 | FSize: 230736; 531 | PLocs: ($F5B8,$F5BE); 532 | PTyps: (Ofs(N2),Ofs(Jmp)); 533 | PNext: Ofs(pCastlesBs)); 534 | pCastlesAs: RPatch = ( 535 | Ver : 1.00; 536 | FName: 'SETUP.EXE'; 537 | FSize: 27024; 538 | PLocs: ($355D,0); 539 | PTyps: (Ofs(CastlesA),0); 540 | PNext: Ofs(pCastlesC)); 541 | pCastlesB : RPatch = ( 542 | Ver : 1.001; 543 | FName: 'CASTLES1.EXE'; 544 | FSize: 228784; 545 | PLocs: ($F2D3,$F2D9); 546 | PTyps: (Ofs(N2),Ofs(Jmp)); 547 | PNext: Ofs(pCastlesAs)); 548 | pCastlesCs: RPatch = ( 549 | Ver : 1.01; 550 | FName: 'SETUP.EXE'; 551 | FSize: 26920; 552 | PLocs: ($355D,0); 553 | PTyps: (Ofs(CastlesB),0); 554 | PNext: Ofs(pCastlesB)); 555 | pCastlesA : RPatch = ( 556 | Ver : 1.00; 557 | FName: 'CASTLES1.EXE'; 558 | FSize: 228736; 559 | PLocs: ($F298,$F29E); 560 | PTyps: (Ofs(N2),Ofs(Jmp)); 561 | PNext: Ofs(pCastlesCs)); 562 | pCastleT : RPatch = ( 563 | Ver : 0; 564 | FName: 'CTDY.EXE'; 565 | FSize: 105221; 566 | PLocs: ($B6AA,0); 567 | PTyps: (Ofs(RetF),0); 568 | PNext: 0); 569 | pCastleE : RPatch = ( 570 | Ver : 0; 571 | FName: 'CEGA.EXE'; 572 | FSize: 116301; 573 | PLocs: ($B814,0); 574 | PTyps: (Ofs(RetF),0); 575 | PNext: Ofs(pCastleT)); 576 | pCastleC : RPatch = ( 577 | Ver : 0; 578 | FName: 'CCGA.EXE'; 579 | FSize: 107255; 580 | PLocs: ($B606,0); 581 | PTyps: (Ofs(RetF),0); 582 | PNext: Ofs(pCastleE)); 583 | pCenturi : RPatch = ( 584 | Ver : 0; 585 | FName: 'OVL0.OVL'; 586 | FSize: 96272; 587 | PLocs: ($38F,0); 588 | PTyps: (Ofs(Centurion),0); 589 | PNext: 0); 590 | pKrynn : RPatch = ( 591 | Ver : 1.0; 592 | FName: 'GAME.OVR'; 593 | FSize: 267826; 594 | PLocs: ($4CD4,0); 595 | PTyps: (Ofs(Krynn),0); 596 | PNext: 0); 597 | pChampBox : RPatch = ( 598 | Ver : 0; 599 | FName: 'KO.EXE'; 600 | FSize: 38144; 601 | PLocs: ($92C1,0); 602 | PTyps: (Ofs(Ret),0); 603 | PNext: 0); 604 | { pAirCom1 : RPatch = ( 605 | Ver : 1.1; 606 | FName: 'YEAGER.EXE'; 607 | FSize: 283112; 608 | PLocs: ($A38,0); 609 | PTyps: (Ofs(N3),0); 610 | PNext: 0); 611 | pAirCom0 : RPatch = ( 612 | Ver : 1.0; 613 | FName: 'YEAGER.EXE'; 614 | FSize: 281864; 615 | PLocs: ($A24,0); 616 | PTyps: (Ofs(N3),0); 617 | PNext: Ofs(pAirCom1e));} 618 | pAirCom1l : RPatch = ( 619 | Ver : 1.1; 620 | FName: 'YEAGER.COM'; 621 | FSize: 0; 622 | PLocs: (0,0); 623 | PTyps: (Ofs(AirCom1),0); 624 | PNext: 0); 625 | pAirCom1 : RPatch = ( 626 | Ver : 1.1; 627 | FName: 'YEAGER.EXE'; 628 | FSize: 184869; 629 | PLocs: (0,0); 630 | PTyps: (0,0); 631 | PNext: Ofs(pAirCom1l)); 632 | pAirCom0l : RPatch = ( 633 | Ver : 1.0; 634 | FName: 'YEAGER.COM'; 635 | FSize: 0; 636 | PLocs: (0,0); 637 | PTyps: (Ofs(AirCom0),0); 638 | PNext: Ofs(pAirCom1)); 639 | pAirCom0 : RPatch = ( 640 | Ver : 1.0; 641 | FName: 'YEAGER.EXE'; 642 | FSize: 184134; 643 | PLocs: (0,0); 644 | PTyps: (0,0); 645 | PNext: Ofs(pAirCom0l)); 646 | pCivW1 : RPatch = ( 647 | Ver : 1.1; 648 | FName: 'CIV.EXE'; 649 | FSize: 833024; 650 | PLocs: ($65000,0); 651 | PTyps: (Ofs(RetF),0); 652 | PNext: 0); 653 | pCivW2 : RPatch = ( 654 | Ver : 1.2; 655 | FName: 'CIV.EXE'; 656 | FSize: 832512; 657 | PLocs: ($65000,0); 658 | PTyps: (Ofs(RetF),0); 659 | PNext: 0); 660 | pCiv5 : RPatch = ( 661 | Ver : 474.05; 662 | FName: 'CIV.EXE'; 663 | FSize: 305030; 664 | PLocs: ($40E00,0); 665 | PTyps: (Ofs(RetF),0); 666 | PNext: Ofs(pCivW2)); 667 | pCiv1 : RPatch = ( 668 | Ver : 474.01; 669 | FName: 'CIV.EXE'; 670 | FSize: 304512; 671 | PLocs: ($40E00,0); 672 | PTyps: (Ofs(RetF),0); 673 | PNext: Ofs(pCiv5)); 674 | pCiv4 : RPatch = ( 675 | Ver : 474.04; 676 | FName: 'CIV.EXE'; 677 | FSize: 302982; 678 | PLocs: ($40600,0); 679 | PTyps: (Ofs(RetF),0); 680 | PNext: Ofs(pCiv1)); 681 | pCivCTP12 : RPatch = ( 682 | Ver : 1.2; 683 | FName: 'CIVCTP.EXE'; 684 | FSize: 6566912; 685 | PLocs: ($13A0,0); 686 | PTyps: (Ofs(Ret),0); 687 | PNext: 0); 688 | pCivCTP11 : RPatch = ( 689 | Ver : 1.1; 690 | FName: 'CIVCTP.EXE'; 691 | FSize: 6521856; 692 | PLocs: ($13A0,0); 693 | PTyps: (Ofs(Ret),0); 694 | PNext: Ofs(pCivCTP12)); 695 | pCivCTP10 : RPatch = ( 696 | Ver : 1.0; 697 | FName: 'CIVCTP.EXE'; 698 | FSize: 6430720; 699 | PLocs: ($1330,0); 700 | PTyps: (Ofs(Ret),0); 701 | PNext: Ofs(pCivCTP11)); 702 | pColBeq : RPatch = ( 703 | Ver : 0; 704 | FName: 'SCIV.EXE'; 705 | FSize: 76419; 706 | PLocs: ($BDE,$1283E); 707 | PTyps: (Ofs(CB1),Ofs(CB2)); 708 | PNext: 0); 709 | pContra : RPatch = ( 710 | Ver : 0; 711 | FName: 'CONTRA.EXE'; 712 | FSize: 28288; 713 | PLocs: ($6914,0); 714 | PTyps: (Ofs(Contra),0); 715 | PNext: 0); 716 | pCrossbow : RPatch = ( 717 | Ver : 0; 718 | FName: 'CBOW.EXE'; 719 | FSize: 72640; 720 | PLocs: ($119D6,0); 721 | PTyps: (Ofs(Crossbow),0); 722 | PNext: 0); 723 | pAzure : RPatch = ( 724 | Ver : 1.0; 725 | FName: 'GAME.OVR'; 726 | FSize: 272218; 727 | PLocs: ($47A2,0); 728 | PTyps: (Ofs(RetF),0); 729 | PNext: 0); 730 | pDC : RPatch = ( 731 | Ver : 0; 732 | FName: 'DC.EXE'; 733 | FSize: 110507; 734 | PLocs: ($16017,$16019); 735 | PTyps: (Ofs(AX0),Ofs(RetF)); 736 | PNext: 0); 737 | pDarkland7: RPatch = ( 738 | Ver : 483.07; 739 | FName: 'DARKLAND.EXE'; 740 | FSize: 1675637; 741 | PLocs: ($8A6A8,0); 742 | PTyps: (Ofs(RetF),0); 743 | PNext: 0); 744 | pDarkland6: RPatch = ( 745 | Ver : 483.06; 746 | FName: 'DARKLAND.EXE'; 747 | FSize: 1652687; 748 | PLocs: ($860E8,0); 749 | PTyps: (Ofs(RetF),0); 750 | PNext: Ofs(pDarkland7)); 751 | pDawnRaid : RPatch = ( 752 | Ver : 0; 753 | FName: 'DR.EXE'; 754 | FSize: 113710; 755 | PLocs: ($1405,0); 756 | PTyps: (Ofs(DawnRaid),0); 757 | PNext: 0); 758 | pDSword : RPatch = ( 759 | Ver : 0; 760 | FName: 'DS.EXE'; 761 | FSize: 157292; 762 | PLocs: ($116F0,0); 763 | PTyps: (Ofs(Ret),0); 764 | PNext: 0); 765 | pDTm : RPatch = ( 766 | Ver : 0; 767 | FName: 'FTF_MONO.EXE'; 768 | FSize: 89090; 769 | PLocs: ($3593,0); 770 | PTyps: (Ofs(DTm),0); 771 | PNext: 0); 772 | pDTv : RPatch = ( 773 | Ver : 0; 774 | FName: 'FTF_VGA.EXE'; 775 | FSize: 98320; 776 | PLocs: ($3173,0); 777 | PTyps: (Ofs(DTv),0); 778 | PNext: Ofs(pDTm)); 779 | pDTrack : RPatch = ( 780 | Ver : 0; 781 | FName: 'DTRACK.EXE'; 782 | FSize: 177687; 783 | PLocs: ($2ADD,0); 784 | PTyps: (Ofs(Jmp),0); 785 | PNext: 0); 786 | pDH2 : RPatch = ( 787 | Ver : 0; 788 | FName: 'DIE.EXE'; 789 | FSize: 64760; 790 | PLocs: ($E426,0); 791 | PTyps: (Ofs(Ret),0); 792 | PNext: 0); 793 | pDAS : RPatch = ( 794 | Ver : 20.30; 795 | FName: 'DAS.EXE'; 796 | FSize: 46900; 797 | PLocs: ($A78,$A7A); 798 | PTyps: (Ofs(AX0),Ofs(Ret)); 799 | PNext: 0); 800 | pDragon : RPatch = ( 801 | Ver : 0; 802 | FName: 'DRAGON.EXE'; 803 | FSize: 15141; 804 | PLocs: ($393E,0); 805 | PTyps: (Ofs(Ret),0); 806 | PNext: 0); 807 | pFlame : RPatch = ( 808 | Ver : 1.0; 809 | FName: 'GAME.EXE'; 810 | FSize: 63485; 811 | PLocs: ($68E,0); 812 | PTyps: (Ofs(Ret),0); 813 | PNext: 0); 814 | pElder : RPatch = ( 815 | Ver : 0; 816 | FName: 'A.EXE'; 817 | FSize: 313840; 818 | PLocs: ($80E2,0); 819 | PTyps: (Ofs(Jmp),0); 820 | PNext: 0); 821 | pEmpire : RPatch = ( 822 | Ver : 2.05; {A} 823 | FName: 'EMPIRE.EXE'; 824 | FSize: 222303; 825 | PLocs: ($A218,0); 826 | PTyps: (Ofs(Empire),0); 827 | PNext: 0); 828 | pEngland : RPatch = ( 829 | Ver : 0; 830 | FName: 'ENGLAND.EXE'; 831 | FSize: 53860; 832 | PLocs: ($25B,0); 833 | PTyps: (Ofs(N3),0); 834 | PNext: 0); 835 | pEOB : RPatch = ( 836 | Ver : 0; 837 | FName: 'EOB.EXE'; 838 | FSize: 264496; 839 | PLocs: ($399CC,0); 840 | PTyps: (Ofs(RetF),0); 841 | PNext: 0); 842 | pFaceOff2 : RPatch = ( 843 | Ver : 0; 844 | FName: 'FACEOFF.EXE'; 845 | FSize: 149223; 846 | PLocs: ($EED9,0); 847 | PTyps: (Ofs(FO3),0); 848 | PNext: 0); 849 | pFaceOff : RPatch = ( 850 | Ver : 0; 851 | FName: 'FACEOFF.EXE'; 852 | FSize: 149223; 853 | PLocs: ($DF95,$DF9D); 854 | PTyps: (Ofs(FO1),Ofs(FO2)); 855 | PNext: Ofs(pFaceOff2)); 856 | pFB : RPatch = ( 857 | Ver : 1.003; 858 | FName: 'FB.EXE'; 859 | FSize: 128532; 860 | PLocs: ($D8B7,0); 861 | PTyps: (Ofs(N2),0); 862 | PNext: 0); 863 | pFBspa : RPatch = ( 864 | Ver : 1.002; 865 | FName: 'FB.EXE'; 866 | FSize: 128460; 867 | PLocs: ($7066,$DD8C); 868 | PTyps: (Ofs(FBs1),Ofs(FBs2)); 869 | PNext: Ofs(pFB)); 870 | pFBaus : RPatch = ( 871 | Ver : 1.001; 872 | FName: 'FB.EXE'; 873 | FSize: 128188; 874 | PLocs: ($7056,$DD78); 875 | PTyps: (Ofs(FBa1),Ofs(FBa2)); 876 | PNext: Ofs(pFBspa)); 877 | pFBfre : RPatch = ( 878 | Ver : 1.0; 879 | FName: 'FB.EXE'; 880 | FSize: 126860; 881 | PLocs: ($6EF8,$D8D2); 882 | PTyps: (Ofs(FBf1),Ofs(FBf2)); 883 | PNext: Ofs(pFBaus)); 884 | pFuture : RPatch = ( 885 | Ver : 0; 886 | FName: 'FW.COM'; 887 | FSize: 0; 888 | PLocs: (0,0); 889 | PTyps: (Ofs(FW),0); 890 | PNext: 0); 891 | pGEmpire : RPatch = ( 892 | Ver : 0; 893 | FName: 'GLS.EXE'; 894 | FSize: 74364; 895 | PLocs: ($3354,0); 896 | PTyps: (Ofs(GE),0); 897 | PNext: 0); 898 | pGFleet : RPatch = ( 899 | Ver : 0; 900 | FName: 'GF.EXE'; 901 | FSize: 285722; 902 | PLocs: ($120C4,0); 903 | PTyps: (Ofs(RetF),0); 904 | PNext: 0); 905 | pGauntlet2: RPatch = ( 906 | Ver : 0; 907 | FName: 'GPROG.EXE'; 908 | FSize: 33817; 909 | PLocs: ($5ED0,$7FA5); 910 | PTyps: (Ofs(Jmp3),Ofs(Mindscape)); 911 | PNext: 0); 912 | pGauntlet : RPatch = ( 913 | Ver : 0; 914 | FName: 'GINTRO.EXE'; 915 | FSize: 17273; 916 | PLocs: ($1CD9,$3F05); 917 | PTyps: (Ofs(Jmp3),Ofs(Mindscape)); 918 | PNext: Ofs(pGauntlet2)); 919 | pGauntII2 : RPatch = ( 920 | Ver : 0; 921 | FName: 'GFAST.EXE'; 922 | FSize: 81406; 923 | PLocs: ($130EC,$13105); 924 | PTyps: (Ofs(N3),Ofs(N2)); 925 | PNext: 0); 926 | pGauntII : RPatch = ( 927 | Ver : 0; 928 | FName: 'GAUNTLET.EXE'; 929 | FSize: 81356; 930 | PLocs: ($130C6,$130DF); 931 | PTyps: (Ofs(N3),Ofs(N2)); 932 | PNext: Ofs(pGauntII2)); 933 | pGoldRush : RPatch = ( 934 | Ver : 0; 935 | FName: 'GRDIR.'; 936 | FSize: 2399; 937 | PLocs: ($18C,0); 938 | PTyps: (Ofs(GR),0); 939 | PNext: 0); 940 | pGoldAxe : RPatch = ( 941 | Ver : 0; 942 | FName: 'AXE.DAT'; 943 | FSize: 40481; 944 | PLocs: ($5260,$526E); 945 | PTyps: (Ofs(N3),Ofs(N2)); 946 | PNext: 0); 947 | pGPCt : RPatch = ( 948 | Ver : 0; 949 | FName: 'GPTDY.EXE'; 950 | FSize: 77401; 951 | PLocs: ($D7CF,0); 952 | PTyps: (Ofs(GPC),0); 953 | PNext: 0); 954 | pGPCe : RPatch = ( 955 | Ver : 0; 956 | FName: 'GPEGA.EXE'; 957 | FSize: 86855; 958 | PLocs: ($FCF0,0); 959 | PTyps: (Ofs(GPC),0); 960 | PNext: Ofs(pGPCt)); 961 | pGPCc : RPatch = ( 962 | Ver : 0; 963 | FName: 'GPCGA.EXE'; 964 | FSize: 77497; 965 | PLocs: ($D86E,0); 966 | PTyps: (Ofs(GPC),0); 967 | PNext: Ofs(pGPCe)); 968 | pHacker : RPatch = ( 969 | Ver : 0; 970 | FName: 'HACKER.EXE'; 971 | FSize: 53760; 972 | PLocs: ($5C3E,0); 973 | PTyps: (Ofs(Ret),0); 974 | PNext: 0); 975 | pHBIIt : RPatch = ( 976 | Ver : 0; 977 | FName: 'HB2TDY.EXE'; 978 | FSize: 163627; 979 | PLocs: ($38EC,$38EE); 980 | PTyps: (Ofs(AX0),Ofs(RetF)); 981 | PNext: 0); 982 | pHBIIe : RPatch = ( 983 | Ver : 0; 984 | FName: 'HB2EGA.EXE'; 985 | FSize: 170281; 986 | PLocs: ($390A,$390C); 987 | PTyps: (Ofs(AX0),Ofs(RetF)); 988 | PNext: Ofs(pHBIIt)); 989 | pHBIIc : RPatch = ( 990 | Ver : 0; 991 | FName: 'HB2CGA.EXE'; 992 | FSize: 167857; 993 | PLocs: ($3892,$3894); 994 | PTyps: (Ofs(AX0),Ofs(RetF)); 995 | PNext: Ofs(pHBIIe)); 996 | pHBIII : RPatch = ( 997 | Ver : 0; 998 | FName: 'HARDBALL.EXE'; 999 | FSize: 1444448; 1000 | PLocs: ($D8912,0); 1001 | PTyps: (Ofs(RetF),0); 1002 | PNext: 0); 1003 | pHeroes : RPatch = ( 1004 | Ver : 1.0; 1005 | FName: 'START.EXE'; 1006 | FSize: 97005; 1007 | PLocs: ($10462,0); 1008 | PTyps: (Ofs(Heroes),0); 1009 | PNext: 0); 1010 | pHillsfar : RPatch = ( 1011 | Ver : 1.1; 1012 | FName: 'MAIN.COM'; 1013 | FSize: 0; 1014 | PLocs: (0,0); 1015 | PTyps: (Ofs(Hillsfar),0); 1016 | PNext: 0); 1017 | pIndy500 : RPatch = ( 1018 | Ver : 0; 1019 | FName: 'INDY.EXE'; 1020 | FSize: 159511; 1021 | PLocs: ($BCCF,0); 1022 | PTyps: (Ofs(N3),0); 1023 | PNext: 0); 1024 | pIndy3 : RPatch = ( 1025 | Ver : 0; 1026 | FName: 'INDY3.EXE'; 1027 | FSize: 93737; 1028 | PLocs: ($AEB3,0); 1029 | PTyps: (Ofs(Jmp),0); 1030 | PNext: 0); 1031 | pIndy4 : RPatch = ( 1032 | Ver : 0; 1033 | FName: 'ATLANTIS.EXE'; 1034 | FSize: 112565; 1035 | PLocs: ($763F,$19398); 1036 | PTyps: (Ofs(IFA1),Ofs(IFA2)); 1037 | PNext: 0); 1038 | pIndyCar5 : RPatch = ( 1039 | Ver : 1.05; 1040 | FName: 'INDYCAR.EXE'; 1041 | FSize: 743613; 1042 | PLocs: ($80C27,0); 1043 | PTyps: (Ofs(N2),0); 1044 | PNext: 0); 1045 | pIndyCar4 : RPatch = ( 1046 | Ver : 1.04; 1047 | FName: 'INDYCAR.EXE'; 1048 | FSize: 742377; 1049 | PLocs: ($803B7,0); 1050 | PTyps: (Ofs(N2),0); 1051 | PNext: Ofs(pIndyCar5)); 1052 | pIndyCar4s: RPatch = ( 1053 | Ver : 1.043; 1054 | FName: 'INDYCAR.EXE'; 1055 | FSize: 742285; 1056 | PLocs: ($803B7,0); 1057 | PTyps: (Ofs(N2),0); 1058 | PNext: Ofs(pIndyCar4)); 1059 | pIndyCar4e: RPatch = ( 1060 | Ver : 1.042; 1061 | FName: 'INDYCAR.EXE'; 1062 | FSize: 742281; 1063 | PLocs: ($803B7,0); 1064 | PTyps: (Ofs(N2),0); 1065 | PNext: Ofs(pIndyCar4s)); 1066 | pIndyCar4g: RPatch = ( 1067 | Ver : 1.041; 1068 | FName: 'INDYCAR.EXE'; 1069 | FSize: 742273; 1070 | PLocs: ($803B7,0); 1071 | PTyps: (Ofs(N2),0); 1072 | PNext: Ofs(pIndyCar4e)); 1073 | pIndyCar3 : RPatch = ( 1074 | Ver : 1.03; 1075 | FName: 'INDYCAR.EXE'; 1076 | FSize: 737105; 1077 | PLocs: ($7BD47,0); 1078 | PTyps: (Ofs(N2),0); 1079 | PNext: Ofs(pIndyCar4g)); 1080 | pIndyCar2 : RPatch = ( 1081 | Ver : 1.02; 1082 | FName: 'INDYCAR.EXE'; 1083 | FSize: 732853; 1084 | PLocs: ($7BC97,0); 1085 | PTyps: (Ofs(N2),0); 1086 | PNext: Ofs(pIndyCar3)); 1087 | pItaly : RPatch = ( 1088 | Ver : 0; 1089 | FName: 'ITALY90.COM'; 1090 | FSize: 62631; 1091 | PLocs: ($CD32,$E8B3); 1092 | PTyps: (Ofs(Jmp),Ofs(Ret)); 1093 | PNext: 0); 1094 | pJNUnD : RPatch = ( 1095 | Ver : 0; 1096 | FName: 'DESIGN.EXE'; 1097 | FSize: 140510; 1098 | PLocs: ($11A94,0); 1099 | PTyps: (Ofs(RetF),0); 1100 | PNext: 0); 1101 | pJNUn : RPatch = ( 1102 | Ver : 0; 1103 | FName: 'GOLF.EXE'; 1104 | FSize: 145860; 1105 | PLocs: ($3005,$3221); 1106 | PTyps: (Ofs(Ret),Ofs(Ret)); 1107 | PNext: Ofs(pJNUnD)); 1108 | pJMF : RPatch = ( 1109 | Ver : 0; 1110 | FName: 'MFB.EXE'; 1111 | FSize: 224736; 1112 | PLocs: ($394A,0); 1113 | PTyps: (Ofs(Ret),0); 1114 | PNext: 0); 1115 | pKQII : RPatch = ( 1116 | Ver : 0; 1117 | FName: 'SIERRA.COM'; 1118 | FSize: 3121; 1119 | PLocs: ($41,$2C1); 1120 | PTyps: (Ofs(KQ2),Ofs(N3)); 1121 | PNext: 0); 1122 | pKing2 : RPatch = ( 1123 | Ver : 1.52; 1124 | FName: 'KING.EXE'; 1125 | FSize: 169182; 1126 | PLocs: ($20024,0); 1127 | PTyps: (Ofs(RETF),0); 1128 | PNext: 0); 1129 | pKing1 : RPatch = ( 1130 | Ver : 1.51; 1131 | FName: 'KING.EXE'; 1132 | FSize: 168558; 1133 | PLocs: ($1FE08,0); 1134 | PTyps: (Ofs(RETF),0); 1135 | PNext: Ofs(pKing2)); 1136 | pKOBt : RPatch = ( 1137 | Ver : 0; 1138 | FName: 'VBTDY'; 1139 | FSize: 77571; 1140 | PLocs: ($1B60,$6B49); 1141 | PTyps: (Ofs(KOB),Ofs(Jmp)); 1142 | PNext: 0); 1143 | pKOBe : RPatch = ( 1144 | Ver : 0; 1145 | FName: 'VBEGA'; 1146 | FSize: 76485; 1147 | PLocs: ($1B60,$77AD); 1148 | PTyps: (Ofs(KOB),Ofs(Jmp)); 1149 | PNext: Ofs(pKOBt)); 1150 | pKOBc : RPatch = ( 1151 | Ver : 0; 1152 | FName: 'VBCGA'; 1153 | FSize: 69907; 1154 | PLocs: ($1B60,$70F2); 1155 | PTyps: (Ofs(KOB),Ofs(Jmp)); 1156 | PNext: Ofs(pKOBe)); 1157 | pLvsC : RPatch = ( 1158 | Ver : 0; 1159 | FName: 'BBALL.EXE'; 1160 | FSize: 178721; 1161 | PLocs: ($50F,0); 1162 | PTyps: (Ofs(Jmp),0); 1163 | PNext: 0); 1164 | pLOV : RPatch = ( 1165 | Ver : 0; 1166 | FName: 'TITLE.EXE'; 1167 | FSize: 7013; 1168 | PLocs: ($1161,0); 1169 | PTyps: (Ofs(LOV),0); 1170 | PNext: 0); 1171 | pLSLI : RPatch = ( 1172 | Ver : 0; 1173 | FName: 'SIERRA.COM'; 1174 | FSize: 4096; 1175 | PLocs: ($41,$28D); 1176 | PTyps: (Ofs(Larry),Ofs(N3)); 1177 | PNext: 0); 1178 | pLemmingV : RPatch = ( 1179 | Ver : 0; 1180 | FName: 'VGALEMMI.EXE'; 1181 | FSize: 83194; 1182 | PLocs: ($200,0); 1183 | PTyps: (Ofs(N3),0); 1184 | PNext: 0); 1185 | pLemmingT : RPatch = ( 1186 | Ver : 0; 1187 | FName: 'TGALEMMI.EXE'; 1188 | FSize: 76092; 1189 | PLocs: ($1BF,0); 1190 | PTyps: (Ofs(N3),0); 1191 | PNext: Ofs(pLemmingV)); 1192 | pLemmingC : RPatch = ( 1193 | Ver : 0; 1194 | FName: 'CGALEMMI.EXE'; 1195 | FSize: 73164; 1196 | PLocs: ($1A6,0); 1197 | PTyps: (Ofs(N3),0); 1198 | PNext: Ofs(pLemmingT)); 1199 | pLND : RPatch = ( 1200 | Ver : 1.06; 1201 | FName: 'LND.EXE'; 1202 | FSize: 340753; 1203 | PLocs: ($3A64,$3A68); 1204 | PTyps: (Ofs(LND),Ofs(Jmp)); 1205 | PNext: 0); 1206 | pLostVik : RPatch = ( 1207 | Ver : 0; 1208 | FName: 'SETUP.EXE'; 1209 | FSize: 33552; 1210 | PLocs: ($E6C,0); 1211 | PTyps: (Ofs(N2),0); 1212 | PNext: 0); 1213 | pMCandle : RPatch = ( 1214 | Ver : 1.10; 1215 | FName: 'P82.MCO'; 1216 | FSize: 5916; 1217 | PLocs: ($D3B,$D3D); 1218 | PTyps: (Ofs(AX0),Ofs(Ret)); 1219 | PNext: 0); 1220 | pMartian : RPatch = ( 1221 | Ver : 0; 1222 | FName: 'GAME.EXE'; 1223 | FSize: 341712; 1224 | PLocs: ($4B0E2,0); 1225 | PTyps: (Ofs(Jmp),0); 1226 | PNext: 0); 1227 | pMNinja : RPatch = ( 1228 | Ver : 0; 1229 | FName: 'MASTER.EXE'; 1230 | FSize: 142080; 1231 | PLocs: ($223AB,0); 1232 | PTyps: (Ofs(MNinja),0); 1233 | PNext: 0); 1234 | pOrion : RPatch = ( 1235 | Ver : 0; 1236 | FName: 'STARMAP.EXE'; 1237 | FSize: 563328; 1238 | PLocs: ($71967,0); 1239 | PTyps: (Ofs(RetF),0); 1240 | PNext: 0); 1241 | pMean18 : RPatch = ( 1242 | Ver : 0; 1243 | FName: 'GOLF.EXE'; 1244 | FSize: 82157; 1245 | PLocs: ($14094,$14096); 1246 | PTyps: (Ofs(AX0),Ofs(RetF)); 1247 | PNext: 0); 1248 | pMStreets : RPatch = ( 1249 | Ver : 1.2; 1250 | FName: 'MS.EXE'; 1251 | FSize: 122951; 1252 | PLocs: ($1A3C5,$1A3C6); 1253 | PTyps: (Ofs(BTrue),Ofs(Ret)); 1254 | PNext: 0); 1255 | pMechWar : RPatch = ( 1256 | Ver : 0; 1257 | FName: 'MW_MAIN.EXE'; 1258 | FSize: 137871; 1259 | PLocs: ($1C3A,$1C54); 1260 | PTyps: (Ofs(N4),Ofs(Mechwar)); 1261 | PNext: 0); 1262 | pMMI : RPatch = ( 1263 | Ver : 0; 1264 | FName: 'MM.EXE'; 1265 | FSize: 119232; 1266 | PLocs: ($DC44,$DC73); 1267 | PTyps: (Ofs(N2),Ofs(MM1)); 1268 | PNext: 0); 1269 | pMMIII : RPatch = ( 1270 | Ver : 0; 1271 | FName: 'MM3.COM'; 1272 | FSize: 0; 1273 | PLocs: (0,0); 1274 | PTyps: (Ofs(MM3),0); 1275 | PNext: 0); 1276 | pMDFB22 : RPatch = ( 1277 | Ver : 1.01; 1278 | FName: 'DAT101.DAT'; 1279 | FSize: 95216; 1280 | PLocs: ($287,0); 1281 | PTyps: (Ofs(Jmp),0); 1282 | PNext: 0); 1283 | pMDFB21 : RPatch = ( 1284 | Ver : 1.01; 1285 | FName: 'MDFB.EXE'; 1286 | FSize: 42623; 1287 | PLocs: ($6787,0); 1288 | PTyps: (Ofs(N2),0); 1289 | PNext: Ofs(pMDFB22)); 1290 | pMDFB2 : RPatch = ( 1291 | Ver : 1.00; 1292 | FName: 'DAT101.DAT'; 1293 | FSize: 95085; 1294 | PLocs: ($286,0); 1295 | PTyps: (Ofs(Jmp),0); 1296 | PNext: Ofs(pMDFB21)); 1297 | pMDFB : RPatch = ( 1298 | Ver : 1.00; 1299 | FName: 'MDFB.EXE'; 1300 | FSize: 42591; 1301 | PLocs: ($6771,0); 1302 | PTyps: (Ofs(N2),0); 1303 | PNext: Ofs(pMDFB2)); 1304 | pMisUFO : RPatch = ( 1305 | Ver : 0; 1306 | FName: 'UFO.EXE'; 1307 | FSize: 163318; 1308 | PLocs: ($1617,0); 1309 | PTyps: (Ofs(UFO),0); 1310 | PNext: 0); 1311 | pMoebius : RPatch = ( 1312 | Ver : 0; 1313 | FName: 'MOEBIUS.EXE'; 1314 | FSize: 47264; 1315 | PLocs: ($E,$14); 1316 | PTyps: (Ofs(MoebiusS),Ofs(MoebiusC)); 1317 | PNext: 0); 1318 | pKombat2D2: RPatch = ( 1319 | Ver : 0; 1320 | FName: 'MK2.EXE'; 1321 | FSize: 861133; 1322 | PLocs: ($9E369,0); 1323 | PTyps: (Ofs(MK2),0); 1324 | PNext: 0); 1325 | pKombat2D1: RPatch = ( 1326 | Ver : 0; 1327 | FName: 'MK2.EXE'; 1328 | FSize: 861133; 1329 | PLocs: ($9E351,0); 1330 | PTyps: (Ofs(MK2),0); 1331 | PNext: Ofs(pKombat2D2)); 1332 | pKombat2CD: RPatch = ( 1333 | Ver : 0; 1334 | FName: 'MK2.EXE'; 1335 | FSize: 861133; 1336 | PLocs: ($61F70,0); 1337 | PTyps: (Ofs(Ret),0); 1338 | PNext: 0); 1339 | pKombat2 : RPatch = ( 1340 | Ver : 0.001; 1341 | FName: 'MK.EXE'; 1342 | FSize: 586311; 1343 | PLocs: ($5F8E4,0); 1344 | PTyps: (Ofs(MK),0); 1345 | PNext: 0); 1346 | pKombat1 : RPatch = ( 1347 | Ver : 0; 1348 | FName: 'MK.EXE'; 1349 | FSize: 439131; 1350 | PLocs: ($3AAAC,0); 1351 | PTyps: (Ofs(MK),0); 1352 | PNext: Ofs(pKombat2)); 1353 | pOhNoV : RPatch = ( 1354 | Ver : 0; 1355 | FName: 'VGALEMMI.EXE'; 1356 | FSize: 83242; 1357 | PLocs: ($419B,0); 1358 | PTyps: (Ofs(N3),0); 1359 | PNext: 0); 1360 | pOhNoT : RPatch = ( 1361 | Ver : 0; 1362 | FName: 'TGALEMMI.EXE'; 1363 | FSize: 76348; 1364 | PLocs: ($415B,0); 1365 | PTyps: (Ofs(N3),0); 1366 | PNext: Ofs(pOhNoV)); 1367 | p1on12 : RPatch = ( 1368 | Ver : 0; 1369 | FName: '1ON1TINY'; 1370 | FSize: 70455; 1371 | PLocs: ($59FF,0); 1372 | PTyps: (Ofs(N3),0); 1373 | PNext: 0); 1374 | p1on1 : RPatch = ( 1375 | Ver : 0; 1376 | FName: '1ON1SUB'; 1377 | FSize: 71963; 1378 | PLocs: ($59FF,0); 1379 | PTyps: (Ofs(N3),0); 1380 | PNext: Ofs(p1on12)); 1381 | pPGeneral : RPatch = ( 1382 | Ver : 1.02; 1383 | FName: 'GENERAL.EXE'; 1384 | FSize: 304819; 1385 | PLocs: ($2A9A0,$2A9A3); 1386 | PTyps: (Ofs(AX1),Ofs(RetF)); 1387 | PNext: 0); 1388 | pPipe : RPatch = ( 1389 | Ver : 0; 1390 | FName: 'PIPE.EXE'; 1391 | FSize: 96097; 1392 | PLocs: ($4ADB,$5368); 1393 | PTyps: (Ofs(N2),Ofs(N2)); 1394 | PNext: 0); 1395 | pPirates1 : RPatch = ( 1396 | Ver : 0.01; 1397 | FName: 'PIRATESG.EXE'; 1398 | FSize: 350827; 1399 | PLocs: ($143F3,0); 1400 | PTyps: (Ofs(N2),0); 1401 | PNext: 0); 1402 | pPirates2 : RPatch = ( 1403 | Ver : 0.02; 1404 | FName: 'PIRATESG.EXE'; 1405 | FSize: 346115; 1406 | PLocs: ($13E0C,0); 1407 | PTyps: (Ofs(N2),0); 1408 | PNext: Ofs(pPirates1)); 1409 | pPirates3 : RPatch = ( 1410 | Ver : 0.03; 1411 | FName: 'PIRATESG.EXE'; 1412 | FSize: 289503; 1413 | PLocs: ($11FA8,0); 1414 | PTyps: (Ofs(N2),0); 1415 | PNext: Ofs(pPirates2)); 1416 | pPlatT : RPatch = ( 1417 | Ver : 0; 1418 | FName: 'PT.EXE'; 1419 | FSize: 54496; 1420 | PLocs: ($D129,0); 1421 | PTyps: (Ofs(Platoon),0); 1422 | PNext: 0); 1423 | pPlatH : RPatch = ( 1424 | Ver : 0; 1425 | FName: 'PH.EXE'; 1426 | FSize: 54352; 1427 | PLocs: ($D099,0); 1428 | PTyps: (Ofs(Platoon),0); 1429 | PNext: Ofs(pPlatT)); 1430 | pPlatE : RPatch = ( 1431 | Ver : 0; 1432 | FName: 'PE.EXE'; 1433 | FSize: 55136; 1434 | PLocs: ($D3A9,0); 1435 | PTyps: (Ofs(Platoon),0); 1436 | PNext: Ofs(pPlatH)); 1437 | pPlatC : RPatch = ( 1438 | Ver : 0; 1439 | FName: 'PC.EXE'; 1440 | FSize: 52608; 1441 | PLocs: ($C9C9,0); 1442 | PTyps: (Ofs(Platoon),0); 1443 | PNext: Ofs(pPlatE)); 1444 | pPoolRad : RPatch = ( 1445 | Ver : 1.0; 1446 | FName: 'GAME.OVR'; 1447 | FSize: 232379; 1448 | PLocs: ($A5A,0); 1449 | PTyps: (Ofs(RetF),0); 1450 | PNext: 0); 1451 | pPopulous : RPatch = ( 1452 | Ver : 0; 1453 | FName: 'POPULOUS.EXE'; 1454 | FSize: 84959; 1455 | PLocs: ($D82C,0); 1456 | PTyps: (Ofs(Populous),0); 1457 | PNext: 0); 1458 | pPMonger : RPatch = ( 1459 | Ver : 0; 1460 | FName: 'GAME.EXE'; 1461 | FSize: 241969; 1462 | PLocs: ($37935,0); 1463 | PTyps: (Ofs(N2),0); 1464 | PNext: 0); 1465 | pPred2 : RPatch = ( 1466 | Ver : 0; 1467 | FName: 'PRED.EXE'; 1468 | FSize: 132777; 1469 | PLocs: ($21C,$223); 1470 | PTyps: (Ofs(Jmp3),Ofs(Jmp)); 1471 | PNext: 0); 1472 | pPrince : RPatch = ( 1473 | Ver : 1.0; 1474 | FName: 'PRINCE.EXE'; 1475 | FSize: 124257; 1476 | PLocs: ($4B70,0); 1477 | PTyps: (Ofs(Jmp),0); 1478 | PNext: 0); 1479 | pPrince2 : RPatch = ( 1480 | Ver : 1.0; 1481 | FName: 'PRINCE.EXE'; 1482 | FSize: 292865; 1483 | PLocs: ($88B4,0); 1484 | PTyps: (Ofs(N2),0); 1485 | PNext: 0); 1486 | pPW : RPatch = ( 1487 | Ver : 0; 1488 | FName: 'PW.EXE'; 1489 | FSize: 58649; 1490 | PLocs: ($5F9F,0); 1491 | PTyps: (Ofs(Ret),0); 1492 | PNext: 0); 1493 | pQuest2 : RPatch = ( 1494 | Ver : 1.0; 1495 | FName: 'START.EXE'; 1496 | FSize: 137036; 1497 | PLocs: ($1B8E3,0); 1498 | PTyps: (Ofs(N2),0); 1499 | PNext: 0); 1500 | pRW : RPatch = ( 1501 | Ver : 0; 1502 | FName: 'RW.EXE'; 1503 | FSize: 151248; 1504 | PLocs: ($5720,0); 1505 | PTyps: (Ofs(Ret),0); 1506 | PNext: 0); 1507 | pRrTDlx : RPatch = ( 1508 | Ver : 0; 1509 | FName: 'RRT.EXE'; 1510 | FSize: 265234; 1511 | PLocs: ($3E200,0); 1512 | PTyps: (Ofs(RetF),0); 1513 | PNext: 0); 1514 | pRally2 : RPatch = ( 1515 | Ver : 0.001; 1516 | FName: 'MENU.EXE'; 1517 | FSize: 64248; 1518 | PLocs: ($8C7F,0); 1519 | PTyps: (Ofs(Ret),0); 1520 | PNext: 0); 1521 | pRally1 : RPatch = ( 1522 | Ver : 0.00; 1523 | FName: 'MENU.EXE'; 1524 | FSize: 53896; 1525 | PLocs: ($8DDE,0); 1526 | PTyps: (Ofs(Ret),0); 1527 | PNext: Ofs(pRally2)); 1528 | pRampage : RPatch = ( 1529 | Ver : 0; 1530 | FName: 'RAMPAGE.EXE'; 1531 | FSize: 58876; 1532 | PLocs: ($E340,0); 1533 | PTyps: (Ofs(RetF),0); 1534 | PNext: 0); 1535 | pRampart : RPatch = ( 1536 | Ver : 0; 1537 | FName: 'RAMPART.EXE'; 1538 | FSize: 85381; 1539 | PLocs: ($819E,0); 1540 | PTyps: (Ofs(Ret),0); 1541 | PNext: 0); 1542 | pRSR2 : RPatch = ( 1543 | Ver : 0; 1544 | FName: 'REDSTART.RSR'; 1545 | FSize: 44005; 1546 | PLocs: ($155C,0); 1547 | PTyps: (Ofs(N2),0); 1548 | PNext: 0); 1549 | pRSR : RPatch = ( 1550 | Ver : 0; 1551 | FName: 'REDSTORM.COM'; 1552 | FSize: 4517; 1553 | PLocs: ($CAE,0); 1554 | PTyps: (Ofs(RSR),0); 1555 | PNext: Ofs(pRSR2)); 1556 | pRushn2 : RPatch = ( 1557 | Ver : 0; 1558 | FName: 'RUSE.EXE'; 1559 | FSize: 22199; 1560 | PLocs: ($5591,0); 1561 | PTyps: (Ofs(Rushn),0); 1562 | PNext: 0); 1563 | pRushn : RPatch = ( 1564 | Ver : 0; 1565 | FName: 'RUSC.EXE'; 1566 | FSize: 22199; 1567 | PLocs: ($5591,0); 1568 | PTyps: (Ofs(Rushn),0); 1569 | PNext: Ofs(pRushn2)); 1570 | pSilver : RPatch = ( 1571 | Ver : 1.0; 1572 | FName: 'GAME.OVR'; 1573 | FSize: 277515; 1574 | PLocs: ($584B,0); 1575 | PTyps: (Ofs(Silver),0); 1576 | PNext: 0); 1577 | pSWOTL : RPatch = ( 1578 | Ver : 0; 1579 | FName: 'SWOTL.EXE'; 1580 | FSize: 55564; 1581 | PLocs: ($2F8,0); 1582 | PTyps: (Ofs(SWOTL),0); 1583 | PNext: 0); 1584 | pSimCity2 : RPatch = ( 1585 | Ver : 1.02; 1586 | FName: 'SIMCITY.EXE'; 1587 | FSize: 191235; 1588 | PLocs: ($20FCA,0); 1589 | PTyps: (Ofs(RetF),0); 1590 | PNext: 0); 1591 | pSimCity0 : RPatch = ( 1592 | Ver : 1.00; 1593 | FName: 'SIMCITY.EXE'; 1594 | FSize: 190879; 1595 | PLocs: ($20F0C,0); 1596 | PTyps: (Ofs(RetF),0); 1597 | PNext: Ofs(pSimCity2)); 1598 | pSimEarth : RPatch = ( 1599 | Ver : 1.00; 1600 | FName: 'SIMEARTH.EXE'; 1601 | FSize: 406346; 1602 | PLocs: ($1B96C,0); 1603 | PTyps: (Ofs(RetF),0); 1604 | PNext: 0); 1605 | pSimpsons : RPatch = ( 1606 | Ver : 0; 1607 | FName: 'SIMPSONS.EXE'; 1608 | FSize: 145376; 1609 | PLocs: ($1ED29,0); 1610 | PTyps: (Ofs(N2),0); 1611 | PNext: 0); 1612 | pSkiT : RPatch = ( 1613 | Ver : 0; 1614 | FName: 'SKITGA'; 1615 | FSize: 51999; 1616 | PLocs: ($732,0); 1617 | PTyps: (Ofs(Ski),0); 1618 | PNext: 0); 1619 | pSkiE : RPatch = ( 1620 | Ver : 0; 1621 | FName: 'SKIEGA'; 1622 | FSize: 52729; 1623 | PLocs: ($732,0); 1624 | PTyps: (Ofs(Ski),0); 1625 | PNext: Ofs(pSkiT)); 1626 | pSkiC : RPatch = ( 1627 | Ver : 0; 1628 | FName: 'SKICGA'; 1629 | FSize: 52753; 1630 | PLocs: ($732,0); 1631 | PTyps: (Ofs(Ski),0); 1632 | PNext: Ofs(pSkiE)); 1633 | p1889 : RPatch = ( 1634 | Ver : 0; 1635 | FName: 'SETUP.EXE'; 1636 | FSize: 27520; 1637 | PLocs: ($11F9,$13B2); 1638 | PTyps: (Ofs(N3),Ofs(N3)); 1639 | PNext: 0); 1640 | pSQII : RPatch = ( 1641 | Ver : 2.0; {A} 1642 | FName: 'SIERRA.COM'; 1643 | FSize: 3121; 1644 | PLocs: ($41,$2C1); 1645 | PTyps: (Ofs(SQ2),Ofs(N3)); 1646 | PNext: 0); 1647 | pSQIV : RPatch = ( 1648 | Ver : 0; 1649 | FName: 'SCIDHUV.EXE'; 1650 | FSize: 104937; 1651 | PLocs: ($67E4,0); 1652 | PTyps: (Ofs(SQIV),0); 1653 | PNext: 0); 1654 | pOblivion : RPatch = ( 1655 | Ver : 0; 1656 | FName: 'OBLIVION.EXE'; 1657 | FSize: 6765; 1658 | PLocs: ($B49,0); 1659 | PTyps: (Ofs(Oblivion),0); 1660 | PNext: 0); 1661 | pSOD : RPatch = ( 1662 | Ver : 0; 1663 | FName: 'SPEAR.EXE'; 1664 | FSize: 255646; 1665 | PLocs: ($7F4E,0); 1666 | PTyps: (Ofs(Jmp3),0); 1667 | PNext: 0); 1668 | pStarcon : RPatch = ( 1669 | Ver : 0; 1670 | FName: 'STARCON.OVL'; 1671 | FSize: 56576; 1672 | PLocs: ($1992,0); 1673 | PTyps: (Ofs(N2),0); 1674 | PNext: 0); 1675 | pStarTrek : RPatch = ( 1676 | Ver : 0; 1677 | FName: 'STARTREK.EXE'; 1678 | FSize: 174776; 1679 | PLocs: ($366B,$366D); 1680 | PTyps: (Ofs(N2),Ofs(StarTrek)); 1681 | PNext: 0); 1682 | pStorm : RPatch = ( 1683 | Ver : 0; 1684 | FName: 'SU25.EXE'; 1685 | FSize: 250363; 1686 | PLocs: ($21C37,0); 1687 | PTyps: (Ofs(N2),0); 1688 | PNext: 0); 1689 | pRod : RPatch = ( 1690 | Ver : 1.0; 1691 | FName: 'SR.EXE'; 1692 | FSize: 259785; 1693 | PLocs: ($31C8,$31CB); 1694 | PTyps: (Ofs(AX1),Ofs(RetF)); 1695 | PNext: 0); 1696 | pSSBas2 : RPatch = ( 1697 | Ver : 0; 1698 | FName: 'SELECT.EXE'; 1699 | FSize: 106076; 1700 | PLocs: ($1876,0); 1701 | PTyps: (Ofs(N2),0); 1702 | PNext: 0); 1703 | pSSBas : RPatch = ( 1704 | Ver : 0; 1705 | FName: 'SELECT.EXE'; 1706 | FSize: 106076; 1707 | PLocs: ($28C,$292); 1708 | PTyps: (Ofs(N3),Ofs(N3)); 1709 | PNext: Ofs(pSSBas2)); 1710 | pSSBak : RPatch = ( 1711 | Ver : 0; 1712 | FName: 'SSBKB.EXE'; 1713 | FSize: 5808; 1714 | PLocs: ($292,0); 1715 | PTyps: (Ofs(RetF),0); 1716 | PNext: 0); 1717 | pStunts : RPatch = ( 1718 | Ver : 1.0; 1719 | FName: 'LSTUNTS.COM'; 1720 | FSize: 0; 1721 | PLocs: (0,0); 1722 | PTyps: (Ofs(Stunts),0); 1723 | PNext: 0); 1724 | pSupa : RPatch = ( 1725 | Ver : 0; 1726 | FName: 'SUPAPLEX.EXE'; 1727 | FSize: 45948; 1728 | PLocs: ($262,0); 1729 | PTyps: (Ofs(N3),0); 1730 | PNext: 0); 1731 | pSuper2 : RPatch = ( 1732 | Ver : 0; 1733 | FName: 'SUPERSKI.EXE'; 1734 | FSize: 84005; 1735 | PLocs: ($56EC,0); 1736 | PTyps: (Ofs(Ret0C),0); 1737 | PNext: 0); 1738 | pSupTet : RPatch = ( 1739 | Ver : 0; 1740 | FName: 'SUPERTET.EXE'; 1741 | FSize: 292928; 1742 | PLocs: ($213DF,0); 1743 | PTyps: (Ofs(N2),0); 1744 | PNext: 0); 1745 | pTF1942 : RPatch = ( 1746 | Ver : 41101.1; 1747 | FName: 'TF.EXE'; 1748 | FSize: 473616; 1749 | PLocs: ($483AB,$483AE); 1750 | PTyps: (Ofs(AX1),Ofs(RetF)); 1751 | PNext: 0); 1752 | pTDe : RPatch = ( 1753 | Ver : 0; 1754 | FName: 'TDEGA.EXE'; 1755 | FSize: 66517; 1756 | PLocs: ($87ED,$87EF); 1757 | PTyps: (Ofs(AX0),Ofs(Ret)); 1758 | PNext: 0); 1759 | pTDc : RPatch = ( 1760 | Ver : 0; 1761 | FName: 'TDCGA.EXE'; 1762 | FSize: 57472; 1763 | PLocs: ($6FD6,$6FD8); 1764 | PTyps: (Ofs(AX0),Ofs(Ret)); 1765 | PNext: Ofs(pTDe)); 1766 | pTDIIt : RPatch = ( 1767 | Ver : 0; 1768 | FName: 'TD2TDY.EXE'; 1769 | FSize: 103905; 1770 | PLocs: ($10927,$10A3D); 1771 | PTyps: (Ofs(TD2),Ofs(Jnz)); 1772 | PNext: 0); 1773 | pTDIIe : RPatch = ( 1774 | Ver : 0; 1775 | FName: 'TD2EGA.EXE'; 1776 | FSize: 114421; 1777 | PLocs: ($133C3,$134D9); 1778 | PTyps: (Ofs(TD2),Ofs(Jnz)); 1779 | PNext: Ofs(pTDIIt)); 1780 | pTDIIc : RPatch = ( 1781 | Ver : 0; 1782 | FName: 'TD2CGA.EXE'; 1783 | FSize: 104149; 1784 | PLocs: ($10C78,$10D8E); 1785 | PTyps: (Ofs(TD2),Ofs(Jnz)); 1786 | PNext: Ofs(pTDIIe)); 1787 | pTDIII : RPatch = ( 1788 | Ver : 0; 1789 | FName: 'TD3.EXE'; 1790 | FSize: 137845; 1791 | PLocs: ($3CCC,0); 1792 | PTyps: (Ofs(N2),0); 1793 | PNext: 0); 1794 | pTetris : RPatch = ( 1795 | Ver : 0; 1796 | FName: 'TETRISC.EXE'; 1797 | FSize: 272446; 1798 | PLocs: ($1F48C,0); 1799 | PTyps: (Ofs(N3),0); 1800 | PNext: 0); 1801 | pBOB : RPatch = ( 1802 | Ver : 0; 1803 | FName: 'BOB.EXE'; 1804 | FSize: 220135; 1805 | PLocs: ($7658,0); 1806 | PTyps: (Ofs(N2),0); 1807 | PNext: 0); 1808 | pThexder : RPatch = ( 1809 | Ver : 0; 1810 | FName: 'THEXDER.COM'; 1811 | FSize: 2892; 1812 | PLocs: ($41,$24F); 1813 | PTyps: (Ofs(Thexder),Ofs(N3)); 1814 | PNext: 0); 1815 | pThexderII: RPatch = ( 1816 | Ver : 0; 1817 | FName: 'GAME.EXE'; 1818 | FSize: 37378; 1819 | PLocs: ($8EFA,0); 1820 | PTyps: (Ofs(Ret),0); 1821 | PNext: 0); 1822 | pTie : RPatch = ( 1823 | Ver : 1.0; 1824 | FName: 'FRONT.OVL'; 1825 | FSize: 408260; 1826 | PLocs: ($3D196,$3D199); 1827 | PTyps: (Ofs(AX1),Ofs(RetF)); 1828 | PNext: 0); 1829 | pLore : RPatch = ( 1830 | Ver : 0; 1831 | FName: 'LORE.EXE'; 1832 | FSize: 79664; 1833 | PLocs: ($E,$14); 1834 | PTyps: (Ofs(LoreS),Ofs(LoreC)); 1835 | PNext: 0); 1836 | pSavage : RPatch = ( 1837 | Ver : 1.0; 1838 | FName: 'GAME.OVR'; 1839 | FSize: 310572; 1840 | PLocs: ($4171,0); 1841 | PTyps: (Ofs(Treasure),0); 1842 | PNext: 0); 1843 | pTNTe : RPatch = ( 1844 | Ver : 0; 1845 | FName: 'TNTEGA.EXE'; 1846 | FSize: 344607; 1847 | PLocs: ($40,0); 1848 | PTyps: (Ofs(Jmp3),0); 1849 | PNext: 0); 1850 | pTNTc : RPatch = ( 1851 | Ver : 0; 1852 | FName: 'TNTCGA.EXE'; 1853 | FSize: 344349; 1854 | PLocs: ($40,0); 1855 | PTyps: (Ofs(Jmp3),0); 1856 | PNext: Ofs(pTNTe)); 1857 | pTurbo : RPatch = ( 1858 | Ver : 0; 1859 | FName: 'TOUTRUN.COM'; 1860 | FSize: 0; 1861 | PLocs: (0,0); 1862 | PTyps: (Ofs(Turbo),0); 1863 | PNext: 0); 1864 | pUltimaI : RPatch = ( 1865 | Ver : 0; 1866 | FName: 'ULTIMA.EXE'; 1867 | FSize: 36880; 1868 | PLocs: ($E,$14); 1869 | PTyps: (Ofs(Ultima1S),Ofs(Ultima1C)); 1870 | PNext: 0); 1871 | pUltimaIIo : RPatch = ( 1872 | Ver : 0.001; 1873 | FName: 'ULTIMAII.EXE'; 1874 | FSize: 37344; 1875 | PLocs: ($E,$14); 1876 | PTyps: (Ofs(Ultima2S),Ofs(Ultima2C)); 1877 | PNext: 0); 1878 | pUltimaII : RPatch = ( 1879 | Ver : 0; 1880 | FName: 'ULTIMAII.COM'; 1881 | FSize: 35493; 1882 | PLocs: ($0,0); 1883 | PTyps: (Ofs(UltimaII),0); 1884 | PNext: Ofs(pUltimaIIo)); 1885 | pUltimaIII2: RPatch = ( 1886 | Ver : 0; 1887 | FName: 'BOOTUP.COM'; 1888 | FSize: 19572; 1889 | PLocs: ($116E,0); 1890 | PTyps: (Ofs(N3),0); 1891 | PNext: 0); 1892 | pUltimaIII : RPatch = ( 1893 | Ver : 0; 1894 | FName: 'ULTIMA.COM'; 1895 | FSize: 36692; 1896 | PLocs: ($5C8D,0); 1897 | PTyps: (Ofs(N3),0); 1898 | PNext: Ofs(pUltimaIII2)); 1899 | pUltimaIV : RPatch = ( 1900 | Ver : 0; 1901 | FName: 'AVATAR.EXE'; 1902 | FSize: 98208; 1903 | PLocs: ($E,$14); 1904 | PTyps: (Ofs(Ultima4S),Ofs(Ultima4C)); 1905 | PNext: 0); 1906 | pUltimaV : RPatch = ( 1907 | Ver : 0; 1908 | FName: 'ULTIMA.EXE'; 1909 | FSize: 36576; 1910 | PLocs: ($E,$14); 1911 | PTyps: (Ofs(Ultima5S),Ofs(Ultima5C)); 1912 | PNext: 0); 1913 | pUltimaVI : RPatch = ( 1914 | Ver : 0; 1915 | FName: 'ULTIMA6.COM'; 1916 | FSize: 0; 1917 | PLocs: (0,0); 1918 | PTyps: (Ofs(Ultima6),0); 1919 | PNext: 0); 1920 | pUMS : RPatch = ( 1921 | Ver : 0; 1922 | FName: 'UMS.EXE'; 1923 | FSize: 275968; 1924 | PLocs: ($22B3C,0); 1925 | PTyps: (Ofs(RetF),0); 1926 | PNext: 0); 1927 | pVette : RPatch = ( 1928 | Ver : 0; 1929 | FName: 'VETTE.EXE'; 1930 | FSize: 247047; 1931 | PLocs: ($3B969,0); 1932 | PTyps: (Ofs(Vette),0); 1933 | PNext: 0); 1934 | pWarME : RPatch = ( 1935 | Ver : 0; 1936 | FName: 'LORD.EXE'; 1937 | FSize: 139792; 1938 | PLocs: ($A630,0); 1939 | PTyps: (Ofs(N2),0); 1940 | PNext: 0); 1941 | pWCS : RPatch = ( 1942 | Ver : 0; 1943 | FName: 'WCS.EXE'; 1944 | FSize: 109056; 1945 | PLocs: ($2172,0); 1946 | PTyps: (Ofs(Jmp3),0); 1947 | PNext: 0); 1948 | pWGHII : RPatch = ( 1949 | Ver : 0; 1950 | FName: 'HKY.COM'; 1951 | FSize: 0; 1952 | PLocs: (0,0); 1953 | PTyps: (Ofs(WGH2),0); 1954 | PNext: 0); 1955 | pWelltris : RPatch = ( 1956 | Ver : 0; 1957 | FName: 'WELLTRIS.EXE'; 1958 | FSize: 50838; 1959 | PLocs: ($1F34,$2781); 1960 | PTyps: (Ofs(N3),Ofs(Jmp)); 1961 | PNext: 0); 1962 | pWingCom : RPatch = ( 1963 | Ver : 0; 1964 | FName: 'WC.EXE'; 1965 | FSize: 302384; 1966 | PLocs: ($498BF,0); 1967 | PTyps: (Ofs(RetF),0); 1968 | PNext: 0); 1969 | pWinter : RPatch = ( 1970 | Ver : 0; 1971 | FName: 'WINTER.EXE'; 1972 | FSize: 2096; 1973 | PLocs: ($3AD,0); 1974 | PTyps: (Ofs(Jmp),0); 1975 | PNext: 0); 1976 | pWrath : RPatch = ( 1977 | Ver : 1.01; 1978 | FName: 'WRATH.EXE'; 1979 | FSize: 32897; 1980 | PLocs: ($3319,$331C); 1981 | PTyps: (Ofs(N3),Ofs(N3)); 1982 | PNext: 0); 1983 | pXWingP2 : RPatch = ( 1984 | Ver : 1.1; 1985 | FName: 'FRONTEND.OVL'; 1986 | FSize: 565824; 1987 | PLocs: ($7E828,$7E82B); 1988 | PTyps: (Ofs(AX1),Ofs(RetF)); 1989 | PNext: 0); 1990 | pXWingP1 : RPatch = ( 1991 | Ver : 1.002; 1992 | FName: 'FRONTEND.OVL'; 1993 | FSize: 565728; 1994 | PLocs: ($7E7C8,$7E7CB); 1995 | PTyps: (Ofs(AX1),Ofs(RetF)); 1996 | PNext: Ofs(pXWingP2)); 1997 | pXWing : RPatch = ( 1998 | Ver : 1.001; 1999 | FName: 'FRONTEND.OVL'; 2000 | FSize: 537230; 2001 | PLocs: ($7C1B0,$7C1B3); 2002 | PTyps: (Ofs(AX1),Ofs(RetF)); 2003 | PNext: Ofs(pXWingP1)); 2004 | pXWingB : RPatch = ( 2005 | Ver : 1.0; 2006 | FName: 'BFRONT.OVL'; 2007 | FSize: 583396; 2008 | PLocs: ($7FC42,$7FC45); 2009 | PTyps: (Ofs(AX1),Ofs(RetF)); 2010 | PNext: Ofs(pXWing)); 2011 | pZanyt : RPatch = ( 2012 | Ver : 0; 2013 | FName: 'TZANY.COM'; 2014 | FSize: 65167; 2015 | PLocs: ($FE14,0); 2016 | PTyps: (Ofs(N2),0); 2017 | PNext: 0); 2018 | pZanye : RPatch = ( 2019 | Ver : 0; 2020 | FName: 'ZANY.COM'; 2021 | FSize: 63153; 2022 | PLocs: ($F636,0); 2023 | PTyps: (Ofs(N2),0); 2024 | PNext: Ofs(pZanyt)); 2025 | 2026 | Numpats = 176; 2027 | Titles : Array [1..Numpats] of Record 2028 | Title: String[32]; 2029 | Brand: String[27]; 2030 | Patch: Word 2031 | End = ( 2032 | (Title: '2400A.D. '; 2033 | Brand: 'Origin Systems '; 2034 | Patch: Ofs(p2400AD)), 2035 | (Title: '4 x 4 Off Road Racing '; 2036 | Brand: 'Epyx '; 2037 | Patch: Ofs(p4x4ORR)), 2038 | (Title: '4D Sports Boxing '; 2039 | Brand: 'Mindscape '; 2040 | Patch: Ofs(p4DSB)), 2041 | (Title: '4th & Inches '; 2042 | Brand: 'Accolade '; 2043 | Patch: Ofs(p4Inch)), 2044 | (Title: '688 Attack Sub '; 2045 | Brand: 'Electronic Arts '; 2046 | Patch: Ofs(p688AS)), 2047 | (Title: 'Advanced Flight Trainer '; 2048 | Brand: 'Electronic Arts '; 2049 | Patch: Ofs(pAFT)), 2050 | (Title: 'Age of Empires '; 2051 | Brand: 'Microsoft '; 2052 | Patch: Ofs(pAOE)), 2053 | (Title: 'Age of Empires II '; 2054 | Brand: 'Microsoft '; 2055 | Patch: Ofs(pAOEII)), 2056 | (Title: 'Alone in the Dark '; 2057 | Brand: 'Interplay '; 2058 | Patch: Ofs(pAlone)), 2059 | (Title: 'An American Tail '; 2060 | Brand: 'Capstone '; 2061 | Patch: Ofs(pATail)), 2062 | (Title: 'Ancient Art of War '; 2063 | Brand: 'Broderbund '; 2064 | Patch: Ofs(pAAW)), 2065 | (Title: 'Ancient Art of War at Sea '; 2066 | Brand: 'Broderbund '; 2067 | Patch: Ofs(pAAWS)), 2068 | (Title: 'Ancient Art of War in the Skies '; 2069 | Brand: 'MicroProse '; 2070 | Patch: Ofs(pAAWAv2)), 2071 | (Title: 'Archer Maclean''s Pool '; 2072 | Brand: 'Virgin Games '; 2073 | Patch: Ofs(pPool)), 2074 | (Title: 'Arctic Fox '; 2075 | Brand: 'Electronic Arts '; 2076 | Patch: Ofs(pAFox)), 2077 | (Title: 'Armada 2525 '; 2078 | Brand: 'Interstel '; 2079 | Patch: Ofs(pArmada)), 2080 | (Title: 'Auto Duel '; 2081 | Brand: 'Origin Systems '; 2082 | Patch: Ofs(pAutoDuel)), 2083 | (Title: 'Bad Blood '; 2084 | Brand: 'Origin Systems '; 2085 | Patch: Ofs(pBadBlood)), 2086 | (Title: 'Bad Street Brawler '; 2087 | Brand: 'Mindscape '; 2088 | Patch: Ofs(pBadStBr)), 2089 | (Title: 'Balance of Power '; 2090 | Brand: 'Mindscape '; 2091 | Patch: Ofs(pBOP)), 2092 | (Title: 'Batman '; 2093 | Brand: 'Data East '; 2094 | Patch: Ofs(pBatmanP)), 2095 | (Title: 'Battle Chess '; 2096 | Brand: 'Interplay '; 2097 | Patch: Ofs(pBChess2)), 2098 | (Title: 'Battle Chess II '; 2099 | Brand: 'Interplay '; 2100 | Patch: Ofs(pBChessII1)), 2101 | (Title: 'Battle Hawks 1942 '; 2102 | Brand: 'Lucasfilm Games '; 2103 | Patch: Ofs(pBH1942)), 2104 | (Title: 'Battletech '; 2105 | Brand: 'Infocom '; 2106 | Patch: Ofs(pBTech)), 2107 | (Title: 'BC''s Quest for Tires '; 2108 | Brand: 'Sierra On-Line '; 2109 | Patch: Ofs(pBCsQc)), 2110 | (Title: 'Black Cauldron '; 2111 | Brand: 'Sierra On-Line '; 2112 | Patch: Ofs(pBCauld)), 2113 | (Title: 'Bop''n Wrestle '; 2114 | Brand: 'Mindscape '; 2115 | Patch: Ofs(pBopn)), 2116 | (Title: 'Budokan '; 2117 | Brand: 'Electronic Arts '; 2118 | Patch: Ofs(pBudo)), 2119 | (Title: 'California Games '; 2120 | Brand: 'Epyx '; 2121 | Patch: Ofs(pCalGam)), 2122 | (Title: 'California Games II '; 2123 | Brand: 'Epyx '; 2124 | Patch: Ofs(pCalGam2)), 2125 | (Title: 'Carl Lewis Challenge '; 2126 | Brand: 'Psygnosis '; 2127 | Patch: Ofs(pCarl)), 2128 | (Title: 'Castles '; 2129 | Brand: 'Interplay '; 2130 | Patch: Ofs(pCastlesA)), 2131 | (Title: 'Castlevania '; 2132 | Brand: 'Konami '; 2133 | Patch: Ofs(pCastleC)), 2134 | (Title: 'Centurion '; 2135 | Brand: 'Electronic Arts '; 2136 | Patch: Ofs(pCenturi)), 2137 | (Title: 'Champions of Krynn '; 2138 | Brand: 'Strategic Simulations, Inc.'; 2139 | Patch: Ofs(pKrynn)), 2140 | (Title: 'Championship Boxing '; 2141 | Brand: 'Sierra On-Line '; 2142 | Patch: Ofs(pChampBox)), 2143 | (Title: 'Chuck Yeager''s Air Combat '; 2144 | Brand: 'Electronic Arts '; 2145 | Patch: Ofs(pAirCom0)), 2146 | (Title: 'Civilization '; 2147 | Brand: 'MicroProse '; 2148 | Patch: Ofs(pCiv4)), 2149 | (Title: 'Civilization: Call To Power '; 2150 | Brand: 'Activision '; 2151 | Patch: Ofs(pCivCTP10)), 2152 | (Title: 'Colonel''s Bequest '; 2153 | Brand: 'Sierra On-Line '; 2154 | Patch: Ofs(pColBeq)), 2155 | (Title: 'Contra '; 2156 | Brand: 'Konami '; 2157 | Patch: Ofs(pContra)), 2158 | (Title: 'Crossbow '; 2159 | Brand: 'Absolute Entertainment '; 2160 | Patch: Ofs(pCrossbow)), 2161 | (Title: 'Curse of the Azure Bonds '; 2162 | Brand: 'Strategic Simulations, Inc.'; 2163 | Patch: Ofs(pAzure)), 2164 | (Title: 'Dark Castle '; 2165 | Brand: 'Three-Sixty '; 2166 | Patch: Ofs(pDC)), 2167 | (Title: 'Darklands '; 2168 | Brand: 'MicroProse '; 2169 | Patch: Ofs(pDarkland6)), 2170 | (Title: 'Dawn Raider '; 2171 | Brand: 'Softstar '; 2172 | Patch: Ofs(pDawnRaid)), 2173 | (Title: 'Death Sword '; 2174 | Brand: 'Epyx '; 2175 | Patch: Ofs(pDSword)), 2176 | (Title: 'Death Track '; 2177 | Brand: 'Activision '; 2178 | Patch: Ofs(pDTrack)), 2179 | (Title: 'Die Hard II '; 2180 | Brand: 'Grandslam Video Ltd. '; 2181 | Patch: Ofs(pDH2)), 2182 | (Title: 'Disney Animation Studio '; 2183 | Brand: 'Walt Disney Software Produc'; 2184 | Patch: Ofs(pDAS)), 2185 | (Title: 'Double Tetris '; 2186 | Brand: 'Soft-World Internationl '; 2187 | Patch: Ofs(pDTv)), 2188 | (Title: 'Dragon''s Lair '; 2189 | Brand: 'Bluth Group, Ltd. '; 2190 | Patch: Ofs(pDragon)), 2191 | (Title: 'Dragons of Flame '; 2192 | Brand: 'Strategic Simulations, Inc.'; 2193 | Patch: Ofs(pFlame)), 2194 | (Title: 'Elder Scrolls I '; 2195 | Brand: 'Bethesda Softworks '; 2196 | Patch: Ofs(pElder)), 2197 | (Title: 'Empire '; 2198 | Brand: 'Interstel '; 2199 | Patch: Ofs(pEmpire)), 2200 | (Title: 'England Football Championship '; 2201 | Brand: 'Grandslam Video Ltd. '; 2202 | Patch: Ofs(pEngland)), 2203 | (Title: 'Eye of the Beholder '; 2204 | Brand: 'Strategic Simulations, Inc.'; 2205 | Patch: Ofs(pEOB)), 2206 | (Title: 'Face Off! '; 2207 | Brand: 'Game Star '; 2208 | Patch: Ofs(pFaceOff)), 2209 | (Title: 'FlashBack '; 2210 | Brand: 'Strategic Simulations, Inc.'; 2211 | Patch: Ofs(pFBfre)), 2212 | (Title: 'Future Wars '; 2213 | Brand: 'Interplay '; 2214 | Patch: Ofs(pFuture)), 2215 | (Title: 'Galaxy Empire '; 2216 | Brand: 'Kingformation Software '; 2217 | Patch: Ofs(pGEmpire)), 2218 | (Title: 'Galaxy Fleet '; 2219 | Brand: 'Kingformation Software '; 2220 | Patch: Ofs(pGFleet)), 2221 | (Title: 'Gauntlet '; 2222 | Brand: 'Mindscape '; 2223 | Patch: Ofs(pGauntlet)), 2224 | (Title: 'Gauntlet II '; 2225 | Brand: 'Mindscape '; 2226 | Patch: Ofs(pGauntII)), 2227 | (Title: 'Gold Rush '; 2228 | Brand: 'Sierra On-Line '; 2229 | Patch: Ofs(pGoldRush)), 2230 | (Title: 'Golden Axe '; 2231 | Brand: 'Sega '; 2232 | Patch: Ofs(pGoldAxe)), 2233 | (Title: 'Grand Prix Circuit '; 2234 | Brand: 'Accolade '; 2235 | Patch: Ofs(pGPCc)), 2236 | (Title: 'Hacker '; 2237 | Brand: 'Activision '; 2238 | Patch: Ofs(pHacker)), 2239 | (Title: 'Hardball II '; 2240 | Brand: 'Accolade '; 2241 | Patch: Ofs(pHBIIc)), 2242 | (Title: 'Hardball III '; 2243 | Brand: 'Accolade '; 2244 | Patch: Ofs(pHBIII)), 2245 | (Title: 'Heroes of the Lance '; 2246 | Brand: 'Strategic Simulations, Inc.'; 2247 | Patch: Ofs(pHeroes)), 2248 | (Title: 'Hillsfar '; 2249 | Brand: 'Strategic Simulations, Inc.'; 2250 | Patch: Ofs(pHillsfar)), 2251 | (Title: 'Indianapolis 500 '; 2252 | Brand: 'Electronic Arts '; 2253 | Patch: Ofs(pIndy500)), 2254 | (Title: 'Indy & Last Crusade: Graphic '; 2255 | Brand: 'Lucasfilm Games '; 2256 | Patch: Ofs(pIndy3)), 2257 | (Title: 'Indy & Fate of Atlantis '; 2258 | Brand: 'Lucasfilm Games '; 2259 | Patch: Ofs(pIndy4)), 2260 | (Title: 'IndyCar Racing '; 2261 | Brand: 'Papyrus '; 2262 | Patch: Ofs(pIndyCar2)), 2263 | (Title: 'Italy 1990 '; 2264 | Brand: 'U.S. Gold '; 2265 | Patch: Ofs(pItaly)), 2266 | (Title: 'Jack Nicklaus Unlimited Golf '; 2267 | Brand: 'Accolade '; 2268 | Patch: Ofs(pJNUn)), 2269 | (Title: 'John Madden Football '; 2270 | Brand: 'Electronic Arts '; 2271 | Patch: Ofs(pJMF)), 2272 | (Title: 'King''s Quest II '; 2273 | Brand: 'Sierra On-Line '; 2274 | Patch: Ofs(pKQII)), 2275 | (Title: 'Kingmaker '; 2276 | Brand: 'Avalon Hill '; 2277 | Patch: Ofs(pKing1)), 2278 | (Title: 'Kings of the Beach '; 2279 | Brand: 'Electronic Arts '; 2280 | Patch: Ofs(pKOBc)), 2281 | (Title: 'Lakers vs. Celtics '; 2282 | Brand: 'Electronic Arts '; 2283 | Patch: Ofs(pLvsC)), 2284 | (Title: 'Legends of Valour '; 2285 | Brand: 'Strategic Simulations, Inc.'; 2286 | Patch: Ofs(pLOV)), 2287 | (Title: 'Leisure Suit Larry I '; 2288 | Brand: 'Sierra On-Line '; 2289 | Patch: Ofs(pLSLI)), 2290 | (Title: 'Lemmings '; 2291 | Brand: 'Psygnosis '; 2292 | Patch: Ofs(pLemmingC)), 2293 | (Title: 'Life and Death '; 2294 | Brand: 'Software Toolworks '; 2295 | Patch: Ofs(pLND)), 2296 | (Title: 'Lost Vikings '; 2297 | Brand: 'Iterplay '; 2298 | Patch: Ofs(pLostVik)), 2299 | (Title: 'Magic Candle '; 2300 | Brand: 'Mindcraft '; 2301 | Patch: Ofs(pMCandle)), 2302 | (Title: 'Martian Dreams '; 2303 | Brand: 'Origin Systems '; 2304 | Patch: Ofs(pMartian)), 2305 | (Title: 'Master Ninja '; 2306 | Brand: 'Paragon '; 2307 | Patch: Ofs(pMNinja)), 2308 | (Title: 'Master of Orion '; 2309 | Brand: 'MicroProse '; 2310 | Patch: Ofs(pOrion)), 2311 | (Title: 'Mean 18 '; 2312 | Brand: 'Accolade '; 2313 | Patch: Ofs(pMean18)), 2314 | (Title: 'Mean Streets '; 2315 | Brand: 'Access Software Inc. '; 2316 | Patch: Ofs(pMStreets)), 2317 | (Title: 'Mechwarrior '; 2318 | Brand: 'Activision '; 2319 | Patch: Ofs(pMechWar)), 2320 | (Title: 'Might and Magic '; 2321 | Brand: 'New World Computing, Inc. '; 2322 | Patch: Ofs(pMMI)), 2323 | (Title: 'Might and Magic III '; 2324 | Brand: 'New World Computing, Inc. '; 2325 | Patch: Ofs(pMMIII)), 2326 | (Title: 'Mike Ditka Ultimate Football '; 2327 | Brand: 'Accolade '; 2328 | Patch: Ofs(pMDFB)), 2329 | (Title: 'Mission UFO '; 2330 | Brand: 'Cliffs StudyWare '; 2331 | Patch: Ofs(pMisUFO)), 2332 | (Title: 'Moebius '; 2333 | Brand: 'Origin Systems '; 2334 | Patch: Ofs(pMoebius)), 2335 | (Title: 'Mortal Kombat '; 2336 | Brand: 'Virgin Games '; 2337 | Patch: Ofs(pKombat1)), 2338 | (Title: 'Mortal Kombat II (CD) '; 2339 | Brand: 'Virgin Games '; 2340 | Patch: Ofs(pKombat2CD)), 2341 | (Title: 'Mortal Kombat II (Disk) '; 2342 | Brand: 'Virgin Games '; 2343 | Patch: Ofs(pKombat2D1)), 2344 | (Title: 'Oh No More Lemmings '; 2345 | Brand: 'Psygnosis '; 2346 | Patch: Ofs(pOhNoT)), 2347 | (Title: 'One on One '; 2348 | Brand: 'Electronic Arts '; 2349 | Patch: Ofs(p1on1)), 2350 | (Title: 'Perfect General '; 2351 | Brand: 'Quantum Quality Productions'; 2352 | Patch: Ofs(pPGeneral)), 2353 | (Title: 'Pipe Dream '; 2354 | Brand: 'Lucasfilm Games '; 2355 | Patch: Ofs(pPipe)), 2356 | (Title: 'Pirates! Gold '; 2357 | Brand: 'MicroProse '; 2358 | Patch: Ofs(pPirates3)), 2359 | (Title: 'Platoon '; 2360 | Brand: 'Data East '; 2361 | Patch: Ofs(pPlatC)), 2362 | (Title: 'Pool of Radiance '; 2363 | Brand: 'Strategic Simulations, Inc.'; 2364 | Patch: Ofs(pPoolRad)), 2365 | (Title: 'Populous '; 2366 | Brand: 'Electronic Arts '; 2367 | Patch: Ofs(pPopulous)), 2368 | (Title: 'PowerMonger '; 2369 | Brand: 'Electronic Arts '; 2370 | Patch: Ofs(pPMonger)), 2371 | (Title: 'Predator II '; 2372 | Brand: 'Image Works '; 2373 | Patch: Ofs(pPred2)), 2374 | (Title: 'Prince of Persia '; 2375 | Brand: 'Broderbund '; 2376 | Patch: Ofs(pPrince)), 2377 | (Title: 'Prince of Persia II '; 2378 | Brand: 'Broderbund '; 2379 | Patch: Ofs(pPrince2)), 2380 | (Title: 'Psychic War '; 2381 | Brand: 'Kyodai '; 2382 | Patch: Ofs(pPW)), 2383 | (Title: 'Questron II '; 2384 | Brand: 'Strategic Simulations, Inc.'; 2385 | Patch: Ofs(pQuest2)), 2386 | (Title: 'Rad Warrior '; 2387 | Brand: 'Epyx '; 2388 | Patch: Ofs(pRW)), 2389 | (Title: 'Railroad Tycoon Deluxe '; 2390 | Brand: 'MicroProse '; 2391 | Patch: Ofs(pRrTDlx)), 2392 | (Title: 'Rally '; 2393 | Brand: 'Europress Software '; 2394 | Patch: Ofs(pRally1)), 2395 | (Title: 'Rampage '; 2396 | Brand: 'Activision '; 2397 | Patch: Ofs(pRampage)), 2398 | (Title: 'Rampart '; 2399 | Brand: 'Electronic Arts '; 2400 | Patch: Ofs(pRampart)), 2401 | (Title: 'Red Storm Rising '; 2402 | Brand: 'MicroProse '; 2403 | Patch: Ofs(pRSR)), 2404 | (Title: 'Rush''n Attack '; 2405 | Brand: 'Konami '; 2406 | Patch: Ofs(pRushn)), 2407 | (Title: 'Secret of the Silver Blades '; 2408 | Brand: 'Strategic Simulations, Inc.'; 2409 | Patch: Ofs(pSilver)), 2410 | (Title: 'Secret Weapons of the Luftwaffe '; 2411 | Brand: 'Lucasfilm Games '; 2412 | Patch: Ofs(pSWOTL)), 2413 | (Title: 'Sim City '; 2414 | Brand: 'Maxis '; 2415 | Patch: Ofs(pSimCity0)), 2416 | (Title: 'Sim Earth '; 2417 | Brand: 'Maxis '; 2418 | Patch: Ofs(pSimEarth)), 2419 | (Title: 'Simpsons '; 2420 | Brand: 'Konami '; 2421 | Patch: Ofs(pSimpsons)), 2422 | (Title: 'Ski or Die '; 2423 | Brand: 'Electronic Arts '; 2424 | Patch: Ofs(pSkiC)), 2425 | (Title: 'Space 1889 '; 2426 | Brand: 'Paragon Software '; 2427 | Patch: Ofs(p1889)), 2428 | (Title: 'Space Quest II '; 2429 | Brand: 'Sierra On-Line '; 2430 | Patch: Ofs(pSQII)), 2431 | (Title: 'Space Quest IV '; 2432 | Brand: 'Sierra On-Line '; 2433 | Patch: Ofs(pSQIV)), 2434 | (Title: 'Space Station Oblivion '; 2435 | Brand: 'Epyx '; 2436 | Patch: Ofs(pOblivion)), 2437 | (Title: 'Spear of Destiny '; 2438 | Brand: 'Apogee '; 2439 | Patch: Ofs(pSOD)), 2440 | (Title: 'Star Control '; 2441 | Brand: 'Accolade '; 2442 | Patch: Ofs(pStarCon)), 2443 | (Title: 'Star Trek 25th Anniversary '; 2444 | Brand: 'Interplay '; 2445 | Patch: Ofs(pStarTrek)), 2446 | (Title: 'Stormovik '; 2447 | Brand: 'Electronic Arts '; 2448 | Patch: Ofs(pStorm)), 2449 | (Title: 'Street Rod '; 2450 | Brand: 'California Dreams '; 2451 | Patch: Ofs(pRod)), 2452 | (Title: 'Street Sports Baseball '; 2453 | Brand: 'Epyx '; 2454 | Patch: Ofs(pSSBas)), 2455 | (Title: 'Street Sports Basketball '; 2456 | Brand: 'Epyx '; 2457 | Patch: Ofs(pSSBak)), 2458 | (Title: 'Stunts '; 2459 | Brand: 'Broderbund '; 2460 | Patch: Ofs(pStunts)), 2461 | (Title: 'Supaplex '; 2462 | Brand: 'Digital Integration '; 2463 | Patch: Ofs(pSupa)), 2464 | (Title: 'SuperSki II '; 2465 | Brand: 'Microids '; 2466 | Patch: Ofs(pSuper2)), 2467 | (Title: 'Super Tetris '; 2468 | Brand: 'Spectrum HoloByte '; 2469 | Patch: Ofs(pSupTet)), 2470 | (Title: 'Task Force 1942 '; 2471 | Brand: 'MicroProse '; 2472 | Patch: Ofs(pTF1942)), 2473 | (Title: 'Test Drive '; 2474 | Brand: 'Accolade '; 2475 | Patch: Ofs(pTDc)), 2476 | (Title: 'Test Drive II '; 2477 | Brand: 'Accolade '; 2478 | Patch: Ofs(pTDIIc)), 2479 | (Title: 'Test Drive III '; 2480 | Brand: 'Accolade '; 2481 | Patch: Ofs(pTDIII)), 2482 | (Title: 'Tetris Classic '; 2483 | Brand: 'Spectrum HoloByte '; 2484 | Patch: Ofs(pTetris)), 2485 | (Title: 'Their Finest Hour '; 2486 | Brand: 'Lucasfilm Games '; 2487 | Patch: Ofs(pBOB)), 2488 | (Title: 'Thexder '; 2489 | Brand: 'Sierra On-Line '; 2490 | Patch: Ofs(pThexder)), 2491 | (Title: 'Thexder II '; 2492 | Brand: 'Sierra On-Line '; 2493 | Patch: Ofs(pThexderII)), 2494 | (Title: 'Tie Fighter '; 2495 | Brand: 'Lucasfilm Games '; 2496 | Patch: Ofs(pTie)), 2497 | (Title: 'Times of Lore '; 2498 | Brand: 'Origin Systems '; 2499 | Patch: Ofs(pLore)), 2500 | (Title: 'Treasures of the Savage Frontier'; 2501 | Brand: 'Strategic Simulations, Inc.'; 2502 | Patch: Ofs(pSavage)), 2503 | (Title: 'Tunnels & Trolls '; 2504 | Brand: 'New World Computing, Inc. '; 2505 | Patch: Ofs(pTNTc)), 2506 | (Title: 'Turbo Outrun '; 2507 | Brand: 'Sega '; 2508 | Patch: Ofs(pTurbo)), 2509 | (Title: 'Ultima I '; 2510 | Brand: 'Origin Systems '; 2511 | Patch: Ofs(pUltimaI)), 2512 | (Title: 'Ultima II '; 2513 | Brand: 'Sierra / Origin Systems '; 2514 | Patch: Ofs(pUltimaII)), 2515 | (Title: 'Ultima III '; 2516 | Brand: 'Origin Systems '; 2517 | Patch: Ofs(pUltimaIII)), 2518 | (Title: 'Ultima IV '; 2519 | Brand: 'Origin Systems '; 2520 | Patch: Ofs(pUltimaIV)), 2521 | (Title: 'Ultima V '; 2522 | Brand: 'Origin Systems '; 2523 | Patch: Ofs(pUltimaV)), 2524 | (Title: 'Ultima VI '; 2525 | Brand: 'Origin Systems '; 2526 | Patch: Ofs(pUltimaVI)), 2527 | (Title: 'Universal Military Simulator '; 2528 | Brand: 'Rainbird Software '; 2529 | Patch: Ofs(pUMS)), 2530 | (Title: 'Vette! '; 2531 | Brand: 'Spectrum HoloByte '; 2532 | Patch: Ofs(pVette)), 2533 | (Title: 'War in Middle Earth '; 2534 | Brand: 'Melbourne House '; 2535 | Patch: Ofs(pWarME)), 2536 | (Title: 'Wargame Construction Set '; 2537 | Brand: 'Strategic Simulations, Inc.'; 2538 | Patch: Ofs(pWCS)), 2539 | (Title: 'Wayne Gretzky Hockey II '; 2540 | Brand: 'Bethesda Softworks '; 2541 | Patch: Ofs(pWGHII)), 2542 | (Title: 'Welltris '; 2543 | Brand: 'Spectrum HoloByte '; 2544 | Patch: Ofs(pWelltris)), 2545 | (Title: 'Wing Commander '; 2546 | Brand: 'Origin Systems '; 2547 | Patch: Ofs(pWingCom)), 2548 | (Title: 'Winter Supersports '; 2549 | Brand: 'Flair Software Ltd. '; 2550 | Patch: Ofs(pWinter)), 2551 | (Title: 'Wrath of the Demon '; 2552 | Brand: 'ReadySoft Inc. '; 2553 | Patch: Ofs(pWrath)), 2554 | (Title: 'X-Wing '; 2555 | Brand: 'Lucasfilm Games '; 2556 | Patch: Ofs(pXWingB)), 2557 | (Title: 'Zany Golf '; 2558 | Brand: 'Electronic Arts '; 2559 | Patch: Ofs(pZanye)) 2560 | ); 2561 | --------------------------------------------------------------------------------