Salute from optimux@yahoo.com
-----------------------------
REX HARD en La Busca del Sol Dorado

Original TAPE protection cracked -Basic Loader by Optimux
I arrived to the End of this Game a lot of years ago.
It's no easy, but it's possible to do it.

Keyboard Guide
--------------
Cursor Keys: 	  Change Perspective Angle
Q,A,Z,X-JoyStick: Movements
Space/Fire:	  Gun Fire
Scape:		  Abort/Start Game
Enter:		  Lower (to put/get Objects) and Jump 
1,2,3,4:	  Put/Get an Object (bend over an Object)

For Jump:	  Press Enter and them any movement


Game Mini Help
--------------

About the Laberynth in Indian City, you must walk over the houses to jump over boxes which have the special objects (ALL are needed) to use in Indian Temples.

The roof from which you must jump to get first objects are at north-east limit in the first house, near the river, over a corridor over the water which you can see in the "RexHard.GIF", in this exact position, JUMP over the roof, and you can access to object boxes and laberynth. Rest of game you can do it with intelligence and patient.


You can download the map of REX HARD at:
----------------------------------------
ftp://ftp.nvg.unit.no/pub/cpc/gamedocs/maps/rexhard.zip

The "rexhard.zip" map have 1.51 MB



ASM code from "REX HARD.BIN" original tape protected binary loader BLOCK 0
--------------------------------------------------------------------------
Generated with MONA3 by optimux@yahoo.com at 19/11/99 10:59

Original source loads in memory at &0100 and have entry point at same direction
Code has been loaded at &2000 by force with 256 bytes of size

2000  ED73DAC7       LD   (#C7DA),SP  
2004  2ADAC7         LD   HL,(#C7DA)  
2007  2B             DEC  HL          
2008  F9             LD   SP,HL         ; Stack pointer changed
2009  AF             XOR  A           
200A  CD0EBC         CALL #BC0E         ; Change MODE A=0
200D  216801         LD   HL,#0168 	; ---> #2068 Colour DATA for MODE 0    
2010  4E             LD   C,(HL)      
2011  23             INC  HL          
2012  41             LD   B,C         
2013  E5             PUSH HL          
2014  CD38BC         CALL #BC38         ; Force screen BORDER
2017  E1             POP  HL          
2018  0610           LD   B,#10       
201A  C5       L201A PUSH BC          
201B  3E10           LD   A,#10       
201D  90             SUB  B           
201E  4E             LD   C,(HL)      
201F  41             LD   B,C         
2020  23             INC  HL          
2021  E5             PUSH HL          
2022  CD32BC         CALL #BC32       ; Force INK's with palete at &2068
2025  E1             POP  HL          
2026  C1             POP  BC          
2027  10F1           DJNZ L201A       
2029  3E3F           LD   A,#3F       
202B  218500         LD   HL,#0085    
202E  CD68BC         CALL #BC68       ; Force TAPE Speed 
2031  3E34           LD   A,#34       ; Force BYTE of adjust of Sinchrony at "#34" (small protection)
2033  2100C0         LD   HL,#C000    ; Screen at &c000
2036  110040         LD   DE,#4000    
2039  CDA1BC         CALL #BCA1       ; TAPE LOAD without HEADER (SCREEN) (small system TAPE protection)
203C  3E10           LD   A,#10       ; Force BYTE fo adjust
203E  21CC1F         LD   HL,#1FCC    
2041  11A673         LD   DE,#73A6    
2044  CDA1BC         CALL #BCA1       ; TAPE LOAD without HEADER (MAIN CODE)
2047  0610           LD   B,#10       
2049  C5       L2049 PUSH BC          
204A  78             LD   A,B         
204B  3D             DEC  A           
204C  010000         LD   BC,#0000    
204F  CD32BC         CALL #BC32       ; Clear INK's to BLACK Sreen ( Screen area is going to be use as Code space)
2052  C1             POP  BC          
2053  10F4           DJNZ L2049       
2055  3E01           LD   A,#01       
2057  CD0EBC         CALL #BC0E       ; Set MODE 1 (GAME MODE)
205A  3E23           LD   A,#23       
205C  2100C0         LD   HL,#C000    
205F  118C3C         LD   DE,#3C8C    
2062  CDA1BC         CALL #BCA1       ; TAPE LOAD without HEADER (MUSIC and final CODE over SCREEN memory to save space)
2065  C300C0         JP   #C000       ; Entry point at #C000 to RUN "Rex Hard"
2068  00	; Ink 0,0     ; Program END and BEGINING of PALETE COLOUR DATA in MODE 0		      
2069  00	; Ink 1,0     
206A  01        ; Ink 2,1     
206B  02        ; Ink 3,2
206C  03	; etc...
206D  06
206E  09
206F  0A
2070  0D
2071  0F
2072  05
2073  1A
2074  02
2075  10
2076  0A
2077  03
2078  06	; Ink 16,6  and End of INK DATA
2079  00
207A  00             NOP              
207B  00             NOP              
207C  00             NOP              
207D  00             NOP              
207E  00             NOP              
207F  00             NOP              
2080  00             NOP

... and more NOP's until &2100 - NOP == No OPeration

-----------------------------------------------------------------------------


BASIC code from "an REXHARD TAPE loader" to an advantage play
-------------------------------------------------------------

10 '*******************************
20 '***    POKES REX HARD       ***
30 '*******************************
100 CLS:BORDER 0:MODE 1
110 WINDOW 37,3,1,7:PRINT"          POKES REX HARD                    ================"
130 WINDOW 30,6,7,29
140 MEMORY 6999:suma=0
150 FOR DIr=7000 TO 7083
160 READ a$:a$="&"+a$:va=VAL(a$)
170 suma=suma+va:POKE DIr,va
180 NEXT DIr
190 IF suma<>8582 THEN MODE 1:PRINT" ERROR EN DATAS!":END 
200 RESTORE 430:CLS
210 FOR pok=1 TO 5
220 READ tit$,dir
230 PRINT:PRINT tit$;"...";
240 t$=INKEY$:IF t$="s"OR t$="S" THEN POKE DIr,201:t$="SI.":GOTO 270 
250 IF t$<>"n" AND t$<>"N" THEN GOTO 240
260 t$="NO."
270 PRINT t$
280 NEXT pok
290 PRINT:PRINT"  PULSA UNA TECLA PARA CARGAR EL JUEGO"
300 IF INKEY$="" THEN GOTO 300
310 CALL 7000
320 END
330 'ACOPLAMIENTO A FICHERO BINARIO.
340 DATA cd,65,bc,3e,01,cd,6b,bc,21,a4
350 DATA 1b,06,08,11,b8,88,cd,77,bc,21
360 DATA 00,01,cd,83,bc,cd,7a,bc,21,7d
370 DATA 1b,22,66,01,c3,00,01,3e,21,32
380 DATA bf,eb,3e,cd,32,12,e7,3e,3e,32
390 DATA 25,eb,3e,f3,32,cb,e4,af,fe,00
400 DATA 28,0b,21,21,2f,22,c3,c0,3e,02
410 DATA 32,d5,c0,c3,00,c0,52,45,58,20
420 DATA 48,41,52,44
430 DATA ENERGIA ILIMITADA,7048,DISPAROS INFINITOS,7038,TIEMPO ILIMITADO,7053,SIN ENEMIGOS,7043,COMENZAR EN POBLADO,7059
440 'SPEED WRITE 1 - SAVE"POKES REX HARD" - ,P    

-----------------------------------------------------------------------------

ASM code from "an REXHARD loader" to an advantage play
------------------------------------------------------
Generated with MONA3 by optimux@yahoo.com at 19/11/99 10:59

1B56  46             LD   B,(HL)      
1B57  323865         LD   (#6538),A   
1B5A  BC             CP   H           
1B5B  3E01           LD   A,#01       
1B5D  CD6BBC         CALL #BC6B       
1B60  21A41B         LD   HL,L1BA4    
1B63  0608           LD   B,#08       
1B65  11B888         LD   DE,#88B8    
1B68  CD77BC         CALL #BC77       
1B6B  210001         LD   HL,#0100    
1B6E  CD83BC         CALL #BC83       
1B71  CD7ABC         CALL #BC7A       
1B74  217D1B         LD   HL,L1B7D    
1B77  226601         LD   (#0166),HL  
1B7A  C30001         JP   #0100       
1B7D  3EC9     L1B7D LD   A,#C9       
1B7F  32BFEB         LD   (#EBBF),A   ; Unlimited Shots POKE! and tipical "C9" or RETURN
1B82  3EC9           LD   A,#C9       
1B84  3212E7         LD   (#E712),A   ; Without Enemy! 		POKE &E712,&C9
1B87  3EC9           LD   A,#C9       
1B89  3225EB         LD   (#EB25),A   ; Unlimited Energy! 	POKE &EB25,&C9
1B8C  3EC9           LD   A,#C9       
1B8E  32CBE4         LD   (#E4CB),A   ; Infinite Time! 		POKE &E4CB,&C9
1B91  AF             XOR  A           
1B92  FEC9           CP   #C9         
1B94  280B           JR   Z,L1BA1     
1B96  21212F         LD   HL,#2F21	; Start in City! 	POKE &C0C3,&21:POKE &C0C4,&2F:POKE &C0D5,2    
1B99  22C3C0         LD   (#C0C3),HL 	 
1B9C  3E02           LD   A,#02       
1B9E  32D5C0         LD   (#C0D5),A   
1BA1  C300C0   L1BA1 JP   #C000       	; Start GAME!
1BA4  52       L1BA4 LD   D,D         
1BA5  45             LD   B,L         
1BA6  58             LD   E,B         
1BA7  2048           JR   NZ,L1BF1    
1BA9  41             LD   B,C         
1BAA  52             LD   D,D         
1BAB  44             LD   B,H         





