FOR VERSION 1.2
prefix /world.geograph
follow world.geograph
at offset $D8D3, 90 -> 80

protection type
block 8 unreadable
it is a GS/OS app
where is the call to Read_Block?

1	04FC	04FC
2	B6E2	BBDE
3	0179	BD57
4	1168	CEBF
5	09D3	D892

The Flaming Bird Disassembler    Written by Ferox - (c) 1994 Phoenix corporation
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
05/103D: A90900                     LDA   #$0009          ; block 9
05/1040: 8D7C10                     STA   $107C                                 
05/1043: 22A800E1                   JSL   GSOS                                  
05/1047: 2200                       DW    $0022           ; READ_BLOCK          
05/1049: 76100500                   ADRL  $00051076                             
05/104D: B026                       BCS   $1075           ; error, cannot verify disk
05/104F: A21100                     LDX   #$0011                                
05/1052: BD8010                     LDA   $1080,X                               
05/1055: DD5A13                     CMP   $135A,X                               
05/1058: D01A                       BNE   $1074           ; so leave in err
05/105A: CA                         DEX                                         
05/105B: CA                         DEX                                         
05/105C: 10F4                       BPL   $1052                                 
05/105E: CE7C10                     DEC   $107C           ; block 8 please
05/1061: 22A800E1                   JSL   GSOS                                  
05/1065: 2200                       DW    $0022           ; READ_BLOCK          
05/1067: 76100500                   ADRL  $00051076                             
05/106B: 9007                       BCC   $1074           ; no err => copy
05/106D: C92700                     CMP   #$0027          ; no I/O err -> copy
05/1070: D002                       BNE   $1074                                 
05/1072: 18                         CLC                   ; original!
05/1073: 60                         RTS                                         
05/1074: 38                         SEC                                         
05/1075: 60                         RTS                                         
05/1076: 0000                       DW    $0000           ;  device num         
05/1078: 5A130500                   ADRL  $0005135A       ;  buffer ptr         
05/107C: 0800                       DW    $0008           ;  block num          
05/107E: 0000                       BRK   $00                                   
05/1080: 4D454343                   ASC   'MECC'                                
05/1084: 0E576F726C                 STR   'World GeoGraph'                      
05/1093: 00                         DB    $00                                   

--- GS/OS information for Read_Block

05/1076: 0000                       DW    $0000           ;  device num         
05/1078: 5A130500                   ADRL  $0005135A       ;  buffer ptr         
05/107C: 0800                       DW    $0008           ;  block num          

----

The main protection routine check

05/0A54: 203D10                     JSR   $103D           ; Check protection
05/0A57: 904B                       BCC   $0AA4           ; OK, original, leave                      
05/0A59: A90100                     LDA   #$0001          ; next device
05/0A5C: 8D7610                     STA   $1076                                 
05/0A5F: 203D10                     JSR   $103D           ; read again
05/0A62: 9040                       BCC   $0AA4           ; ah, we're good
05/0A64: EE7610                     INC   $1076           ; no, next device
05/0A67: C91000                     CMP   #$0010                                
05/0A6A: F005                       BEQ   $0A71           ; until there's no more
05/0A6C: C91100                     CMP   #$0011                                
05/0A6F: D0EE                       BNE   $0A5F           ; or go to next

05/0A71: A204CA2200                 _InitCursor           ; tell the gentle user
05/0A78: 48                         PHA                   ; to insert the disk
05/0A79: F40500                     PEA   ^$0AA5          ; I mean, the original one
05/0A7C: F4A50A                     PEA   $0AA5                                 
05/0A7F: F40000                     PEA   $0000                                 
05/0A82: F40000                     PEA   $0000                                 
05/0A85: A215172200                 _Alert                                      
05/0A8C: A2120A2200                 _WaitCursor                                 
05/0A93: 20E40B                     JSR   $0BE4                                 
05/0A96: 68                         PLA                                         
05/0A97: C90100                     CMP   #$0001                                
05/0A9A: F0BD                       BEQ   $0A59                                 
05/0A9C: A9FFFF                     LDA   #$FFFF          ; unless the user quits
05/0A9F: 8FDD1202                   STAL  $0212DD                               
05/0AA3: 38                         SEC                                         
05/0AA4: 60                         RTS                                         

05/0AA5: 3C00                       DW    $003C           ; Alert rect          
05/0AA7: 9600                       DW    $0096                                 
05/0AA9: 7800                       DW    $0078                                 
05/0AAB: EA01                       DW    $01EA                                 
05/0AAD: B582                       DW    $82B5           ; Alert ID            
05/0AAF: 80                         HEX   80              ; First stage byte    
05/0AB0: 80                         HEX   80              ; Second stage byte   
05/0AB1: 80                         HEX   80              ; Third stage byte    
05/0AB2: 80                         HEX   80              ; fourth stage byte   
05/0AB3: F30A0500                   ADRL  $00050AF3       ; Ptr to item templat 
05/0AB7: DB0A0500                   ADRL  $00050ADB       ; Ptr to item templat 
05/0ABB: C30A0500                   ADRL  $00050AC3       ; Ptr to item templat 
05/0ABF: 00000000                   ADRL  $00000000                             
05/0AC3: 0100                       DW    $0001           ; Item ID             
05/0AC5: 2B00                       DW    $002B           ; Item rect           
05/0AC7: CC00                       DW    $00CC                                 
05/0AC9: 3800                       DW    $0038                                 
05/0ACB: 1201                       DW    $0112                                 
05/0ACD: 0A00                       DW    $000A           ; Std button          
05/0ACF: 9E150200                   ADRL  $0002159E       ; Item descriptor     
05/0AD3: 0000                       DW    $0000           ; Item value          
05/0AD5: 0000                       DW    $0000           ; Bit flag            
05/0AD7: 00000000                   ADRL  $00000000       ; Ptr to color table  
05/0ADB: 0200                       DW    $0002           ; Item ID             
05/0ADD: 2B00                       DW    $002B           ; Item rect           
05/0ADF: 4200                       DW    $0042                                 
05/0AE1: 3800                       DW    $0038                                 
05/0AE3: 8800                       DW    $0088                                 
05/0AE5: 0A00                       DW    $000A           ; Std button          
05/0AE7: AF150200                   ADRL  $000215AF       ; Item descriptor     
05/0AEB: 0000                       DW    $0000           ; Item value          
05/0AED: 0000                       DW    $0000           ; Bit flag            
05/0AEF: 00000000                   ADRL  $00000000       ; Ptr to color table  
05/0AF3: 0300                       DW    $0003           ; Item ID             
05/0AF5: 0800                       DW    $0008           ; Item rect           
05/0AF7: 1E00                       DW    $001E                                 
05/0AF9: 2600                       DW    $0026                                 
05/0AFB: 5401                       DW    $0154                                 
05/0AFD: 0F80                       DW    $800F           ; Static text         
05/0AFF: 0B0B0500                   ADRL  $00050B0B       ; Item descriptor     
05/0B03: 0000                       DW    $0000           ; Item value          
05/0B05: 0000                       DW    $0000           ; Bit flag            
05/0B07: 00000000                   ADRL  $00000000       ; Ptr to color table  
05/0B0B: 40506C6561                 STR   'Please insert your World GeoGrI      
05/0B4C: 22A800E1                   JSL   GSOS                                  
05/0B50: 1000                       DW    $0010           ; Open                
05/0B52: A60B0500                   ADRL  $00050BA6                             
05/0B56: B04B                       BCS   $0BA3                                 
05/0B58: ADA60B                     LDA   $0BA6                                 
05/0B5B: 8DBF0B                     STA   $0BBF                                 
05/0B5E: 22A800E1                   JSL   GSOS                                  
05/0B62: 1200                       DW    $0012           ; Read                
05/0B64: BF0B0500                   ADRL  $00050BBF                             
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
:_                                                                              

The Flaming Bird Disassembler    Written by Ferox - (c) 1994 Phoenix corporation
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
05/09C4: 3A                         DEC                                         
05/09C5: 8F4E1502                   STAL  $02154E                               
05/09C9: 8F501502                   STAL  $021550                               
05/09CD: 8F521502                   STAL  $021552                               
05/09D1: 204C0B                     JSR   $0B4C           ; Check PRODUCT.INFO  
05/09D4: 9005                       BCC   $09DB           ; no err, skip protec 
05/09D6: 20540A                     JSR   $0A54           ; Call protection
05/09D9: B023                       BCS   $09FE           ; We have a copy!
05/09DB: 20A80E                     JSR   $0EA8           ; or we have an original
05/09DE: 201F0E                     JSR   $0E1F                                 
05/09E1: 20F80C                     JSR   $0CF8                                 
05/09E4: 20520F                     JSR   $0F52                                 
05/09E7: F40018                     PEA   $1800                                 
05/09EA: F41400                     PEA   $0014                                 
05/09ED: F41000                     PEA   $0010                                 
05/09F0: A21B0F2200                 _SetPurgeStat                               
05/09F7: A20F2A2200                 _DrawMenuBar                                
05/09FE: AD440C                     LDA   $0C44                                 
05/0A01: 48                         PHA                                         
05/0A02: AD420C                     LDA   $0C42                                 
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
:_                                                                              

Block: $0073 (115)      Volume name: WORLD.GEOGRAPH  Saturday   14-Feb-16 11:52 
Prefix: /WORLD.GEOGRAPH/                                                        
Following: WORLD.GEOGRAPH, Type S16, Rel block 109, Byte $00D8D3                
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode 
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 
    Z 000: AD 58 13 48 A5 24 18 69 00 05 48 A2 14 02 22 00   -X.H%$.i..H"..".   
  b Z 010: 00 E1 20 46 0C AD 58 13 48 A2 15 02 22 00 00 E1   .a F.-X.H".."..a   
B y Z 020: 20 46 0C AD 58 13 48 A5 24 18 69 00 07 48 A2 17    F.-X.H%$.i..H".   
L   Z 030: 02 22 00 00 E1 20 46 0C F4 FF FF A2 17 0D 22 00   ."..a F.t"..".   
O G Z 040: 00 E1 A2 16 02 22 00 00 E1 20 46 0C A2 05 02 22   .a".."..a F.".."   
C l Z 050: 00 00 E1 20 46 0C A2 1C 02 22 00 00 E1 AD 58 13   ..a F.".."..a-X.   
K e Z 060: 48 A5 24 18 69 00 08 48 A2 1B 02 22 00 00 E1 20   H%$.i..H".."..a    
  n Z 070: 46 0C 20 CD 0B 20 A8 10 20 5D 12 A2 12 02 22 00   F. M. (. ]."..".   
W   Z 080: 00 E1 20 46 0C AD 58 13 48 A5 24 18 69 00 09 48   .a F.-X.H%$.i..H   
A B Z 090: A2 13 02 22 00 00 E1 20 46 0C AF E1 12 02 48 AF   ".."..a F./a..H/   
R r Z 0A0: DF 12 02 48 A2 13 09 22 00 00 E1 A2 12 0A 22 00   _..H".."..a"..".   
D e Z 0B0: 00 E1 20 00 00 20 9B 00 A9 00 00 8F DD 12 02 8F   .a .. ..)...]...   
E d Z 0C0: 39 15 02 3A 8F 4E 15 02 8F 50 15 02 8F 52 15 02   9..:.N...P...R..   
N o Z 0D0: 20 4C 0B>90<05 20 54 0A B0 23 20 A8 0E 20 1F 0E    L... T.0# (. ..   
  n Z 0E0: 20 F8 0C 20 52 0F F4 00 18 F4 14 00 F4 10 00 A2    x. R.t..t..t.."   
    Z 0F0: 1B 0F 22 00 00 E1 A2 0F 2A 22 00 00 E1 AD 44 0C   .."..a".*"..a-D.   
                                                                                
Arrows move cursor, ESC for command mode, \ = flip, ^F = find (RTN to cancel),  
^S = search, ^X = cancel chg, TAB = toggle hex/ascii, A for hi bit.             

FOR VERSION 1.1:

SEG 1	A305
SEG 2	1072	B377		
SEG 3	B96	BF46 WITH OMF HEADER OF SEGMENT 3
	This is segment INIT

PREFIX /WORLD.GEOGRAPH
FOLLOW FILE WORLD.GEOGRAPH
AT OFFSET $BF46: 38 -> 18

The Flaming Bird Disassembler    Written by Ferox - (c) 1994 Phoenix corporation
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
03/0B66: B02D                       BCS   $0B95                                 
03/0B68: ADB413                     LDA   $13B4                                 
03/0B6B: 29FF00                     AND   #$00FF                                
03/0B6E: C99800                     CMP   #$0098                                
03/0B71: D023                       BNE   $0B96                                 
03/0B73: A9800C                     LDA   #$0C80                                
03/0B76: 8D6910                     STA   $1069                                 
03/0B79: 22A800E1                   JSL   GSOS                                  
03/0B7D: 2200                       DW    $0022                                 
03/0B7F: 63100300                   ADRL  $00031063                             
03/0B83: 9010                       BCC   $0B95                                 
03/0B85: 9C6910                     STZ   $1069                                 
03/0B88: 22A800E1                   JSL   GSOS                                  
03/0B8C: 2200                       DW    $0022                                 
03/0B8E: 63100300                   ADRL  $00031063                             
03/0B92: 9002                       BCC   $0B96                                 
03/0B94: 18                         CLC                                         
03/0B95: 60                         RTS                                         
03/0B96: 38                         SEC                                         
03/0B97: 60                         RTS                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
:                                                                               

Block: $0069 (105)      Volume name: WORLD.GEOGRAPH  Saturday   30-Jul-17  7:57 
Prefix: /WORLD.GEOGRAPH/                                                        
Following: WORLD.GEOGRAPH, Type S16, Rel block 96, Byte $00BF46                 
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode 
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 
    Z 100: 22 A8 00 E1 12 00 B1 0B 00 00 08 22 A8 00 E1 14   "(.a..1...."(.a.   
  b Z 110: 00 98 0B 00 00 28 B0 2D AD B4 13 29 FF 00 C9 98   .....(0--4.).I.   
B y Z 120: 00 D0 23 A9 80 0C 8D 69 10 22 A8 00 E1 22 00 63   .P#)...i."(.a".c   
L   Z 130: 10 00 00 90 10 9C 69 10 22 A8 00 E1 22 00 63 10   ......i."(.a".c.   
O G Z 140: 00 00 90 02 18 60>38<60 00 00 A2 0B 00 00 00 00   .....`8`..".....   
C l Z 150: 00 00 0E 31 2F 50 52 4F 44 55 43 54 2E 49 4E 46   ...1/PRODUCT.INF   
K e Z 160: 4F 00 00 5F 13 00 00 56 00 00 00 00 00 00 00 48   O.._...V.......H   
  n Z 170: 48 F4 A5 15 F4 A5 15 A2 0E 09 22 00 00 E1 68 8D   Ht%.t%.".."..ah.   
W   Z 180: 34 0C 68 8D 36 0C AD 36 0C 48 AD 34 0C 48 A2 04   4.h.6.-6.H-4.H".   
A B Z 190: 1B 22 00 00 E1 F4 14 1B F4 14 1B F4 26 00 F4 4F   ."..at..t..t&.tO   
R r Z 1A0: 16 F4 4F 16 F4 01 00 A2 14 20 22 00 00 E1 F4 5F   .tO.t..". "..at_   
D e Z 1B0: 16 F4 5F 16 F4 67 16 F4 67 16 F4 0A 00 F4 3C 00   .t_.tg.tg.t..t<.   
E d Z 1C0: F4 00 00 A2 04 D6 22 00 00 E1 F4 F3 15 F4 F3 15   t..".V"..ats.ts.   
N o Z 1D0: F4 5C 00 F4 57 16 F4 57 16 F4 00 00 A2 14 20 22   t\.tW.tW.t..". "   
  n Z 1E0: 00 00 E1 60 00 00 00 00 B0 01 60 48 AA A0 72 0C   ..a`....0.`H* r.   
    Z 1F0: A9 72 0C E0 10 01 D0 05 A9 8A 0C 80 1C E0 01 02   )r.`..P.)....`..   
                                                                                
Arrows move cursor, ESC for command mode, \ = flip, ^F = find (RTN to cancel),  
^S = search, ^X = cancel chg, TAB = toggle hex/ascii, A for hi bit.             

FOR VERSION 1.0
1	A291	
2	1072	B303
3	0B9F	BEA2

Prefix /WORLD.GEOGRAPH
Follow file WORLD.GEOGRAPH
At offset $BEDB: 38 -> 18

The Flaming Bird Disassembler    Written by Ferox - (c) 1994 Phoenix corporation
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
03/0B6F: B02D                       BCS   $0B9E                                 
03/0B71: ADBD13                     LDA   $13BD                                 
03/0B74: 29FF00                     AND   #$00FF                                
03/0B77: C99800                     CMP   #$0098                                
03/0B7A: D023                       BNE   $0B9F                                 
03/0B7C: A9800C                     LDA   #$0C80                                
03/0B7F: 8D7210                     STA   $1072                                 
03/0B82: 22A800E1                   JSL   GSOS                                  
03/0B86: 2200                       DW    $0022                                 
03/0B88: 6C100300                   ADRL  $0003106C                             
03/0B8C: 9010                       BCC   $0B9E                                 
03/0B8E: 9C7210                     STZ   $1072                                 
03/0B91: 22A800E1                   JSL   GSOS                                  
03/0B95: 2200                       DW    $0022                                 
03/0B97: 6C100300                   ADRL  $0003106C                             
03/0B9B: 9002                       BCC   $0B9F                                 
03/0B9D: 18                         CLC                                         
03/0B9E: 60                         RTS                                         
03/0B9F: 38                         SEC                                         
03/0BA0: 60                         RTS                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
: