Rodland in colour

edited March 2014 in Games
As promised (some time ago already ;) ), here is my hack attempt to add some colour to Rodland :

98.png

The download:
http://www.sendspace.com/file/21r8ky

Sprites take colour of the background. If they had their own colour it would look much worse, I guess :) I tried to make this hack interesting and colours change every few levels.

If anybody knows how, I could use some help with converting this snapshot to tape image. I know how to do it with 48 kB but 128 kB with all this paging was never my forte.
Post edited by Ralf on
«134

Comments

  • edited August 2012
    naaah, did you really do that?

    naaaah.
  • edited August 2012
    great work Ralf, playing it now :)
  • edited August 2012
    I'm enjoying this too. Seeing this, even with the lofty position of hindsight one still has to question why the original game was monochrome grey on black!

    Nice one Ralph.
  • edited August 2012
    Ralf wrote: »
    If anybody knows how, I could use some help with converting this snapshot to tape image. I know how to do it with 48 kB but 128 kB with all this paging was never my forte.

    Tomaz Kac's Z802TZX v1.2 did the job. I used the following options:
    z802tzx Rodland.z80 -v -s 2 -b 0 -$ Rod-land.scr
    

    Note: I renamed Ralf's file to Rodland.z80 and took the loading screen SCR file from the WOS archive.

    Worked with Spectaculator 7.51 although I've just played it for a couple of levels for a quick test. I'm going to test it on real hardware soon.
  • edited August 2012
    wow, excellent :-)
  • edited August 2012
    It looks fantastic. Great job!!!
    As a young boy chasing dragons with my wooden sword so mighty
  • edited August 2012
    This looks great, well done mate!
  • edited August 2012
    Well done indeed. I may copy this to tape and put it in the Rodland box with the original!

    :)
  • edited August 2012
    R-Tape wrote: »
    I'm enjoying this too. Seeing this, even with the lofty position of hindsight one still has to question why the original game was monochrome grey on black!

    Nice one Ralph.

    Because the programmers were lazy! Anyway, what a lovely colourful game now - who cares about a bit of clash?
  • edited August 2012
    Graz wrote: »
    Well done indeed. I may copy this to tape and put it in the Rodland box with the original!

    :)

    I really second that, a tape with Curro Jimenez, After the War, Goody and Rodland in tape must be done! :)
  • edited August 2012
    I'm glad to report that the TZX file I made works with the +2A (real hardware) as well. Congratulations to Ralf for such a great job, the game - already good - looks even better now :)
  • edited August 2012
    Thanks guys!

    I also wonder why they haven't add a bit of colour in the original game. It is beyond doubt that they knew how to do it so I guess somebody really didn't like colour clash ;)


    If anybody interested, here's my hack code:
    DEVICE ZXSPECTRUM48	
    	
    ;changed 38662 LDIR to NOP NOP		
    ;changed 38675 LDIR to NOP NOP	
    ;changed 45983 - making screen brighter or darker when all flowers are collected ( 64 replaced by 0)	
    ;changed 62453 (with proper page) change 7 to 70 - colour of cutscene pictures
    
    		ORG 32780
    		
    ;CHANGE ATTRIBUTE AFTER SOME ROUND
    ;round number stored at 38095 and read at 37954
    		
    ;Change - 37954:LD A,(38095) to JP 32780		
    ColorMod
    		LD A,(38095) 			;round nr - original code
    				
    		CP 3					;the round AFTER WHICH the colour change will happen
    		JR Z,ColorMod1
    		CP 4
    		JR Z,ColorMod2
    		CP 12
    		JR Z,ColorMod3
    		CP 13
    		JR Z,ColorMod4
    		CP 29
    		JR Z,ColorMod5
    		CP 30
    		JR Z,ColorMod6
    		JP 37957
    		
    ColorMod1
    		LD DE,68*256+68			;boss crocodile=green
    		JR ColorMod_Change2	
    
    ColorMod2
    		LD HL,69*256+69			;ladder		
    		LD DE,70*256+70			;sprite
    		LD BC,67*256+67			;blocks		
    		JR ColorMod_Change1
    		
    ColorMod3
    		LD DE,69*256+69			;boss whale=blue
    		JR ColorMod_Change2	
    		
    ColorMod4
    		LD HL,71*256+71			;ladder		
    		LD DE,70*256+70			;sprite
    		LD BC,68*256+68			;blocks		
    		JR ColorMod_Change1		
    		
    ColorMod5
    		LD DE,7*256+7			;boss elephant=white
    		JR ColorMod_Change2
    		
    ColorMod6
    		LD HL,70*256+70			;ladder		
    		LD DE,67*256+67			;sprite
    		LD BC,66*256+66			;blocks		
    		JR ColorMod_Change1						
    
    ;set values			
    ColorMod_Change1		
    		LD (ColorTable+4),BC	;blocks
    		LD (ColorTable+6),HL	;ladder
    		LD (ColorTable+8),HL	;ladder
    ColorMod_Change2					
    		LD (ColorTable+2),DE	;sprite	
    		JP 37957
    	
    ;--------
    ;set colors at game start,replace 37948:JP Z,38043 to JP Z,32875 (202 107 128)
    ColorStart					;32875
    	LD HL,71*256+71
    	LD (ColorTable+2),HL
    	LD HL,65*256+65
    	LD (ColorTable+4),HL		
    	LD HL,70*256+70
    	LD (ColorTable+6),HL	
    	LD (ColorTable+8),HL
    	JP 38043
    	
    ;--------
    ;clear attributes when displaying congratulations after boss fight	
    ;replace 46236:	LD HL,16522 to JP 32899 (195 131 128)
    RepaintAfterBoss ;32899
    	LD HL,22528
    	LD DE,22529
    	LD BC,703
    	LD (HL),71
    	LDIR
    	LD HL,16522	;original code
    	JP 46239
    
    
    ;-----------
    		ORG 32920		
    ;HL- screen adress of a tile, either in screen memory starting from 16384 
    ;or second paged screen, starting from 49152
    ;BC points to tile nr
    ;the program jumps here from 36162 - LD A,(BC) INC C AND A changed to JP 32920 (195 152 128)
    Mod1	LD A,(BC)						;original code, tile nr
    		INC C
    		
    		LD (StoreHL),HL					;store registers
    		LD (StoreA),A
    		LD (StoreDE),DE
    		
    		OR A							;skip some tile nrs
    		JR Z,Mod2
    		CP 20
    		JR Z,Mod2
    ;find attribute address		
    		LD A,H							
    		RRCA							;routine works for both screens
    		RRCA
    		RRCA							
    		OR 80							
    		OR H
    		LD H,A							
    ;find color		
    		LD A,(StoreA)					
    		ADD A,(ColorTable-((ColorTable/256)*256))	
    		LD E,A							
    		LD D,ColorTable/256				;basically does DE=ColorTable+A
    
    		LD A,(DE)						;get top line color
    		LD (HL),A						;write top line attribute
    		INC L
    		LD (HL),A
    		
    		INC DE							;get bottom line color
    		LD A,(DE)						
    		LD DE,31			
    		ADD HL,DE						;go down			
    		LD (HL),A						;write bottom line attribute
    		INC L
    		LD (HL),A
    		
    Mod2	LD HL,(StoreHL)					;restore registers
    		LD DE,(StoreDE)
    		LD A,(StoreA)		
    		AND A							;original code
    		JP 36165						;back to main code
    		
    StoreHL		.WORD 0	
    StoreDE		.WORD 0
    StoreA		.BYTE 0	
    
    	
    ColorTable
    	.BYTE 1,1				;unused
    	.BYTE 71,71				;sprites
    	.BYTE 65,65				;blocks
    	.BYTE 70,70				;ladder on blocks
    	.BYTE 70,70				;ladder
    	.BYTE 66,68				;flowers
    	.BYTE 5,5				;door
    	.BYTE 5,5				;door
    	.BYTE 5,5				;door
    	.BYTE 5,5				;door
    	.BYTE 9,9				;A=20 - end of level marker
    	.BYTE 1,1				;50 bonus
    	.BYTE 5,5				;100 bonus
    	.BYTE 4,4				;200 bonus				
    	.BYTE 2,2				;300 bonus				
    	.BYTE 6,6				;400 bonus				
    	.BYTE 7,7				;500 bonus				
    	
    	SAVEBIN <Rodland_Mod.bin>,32780,300
    
  • edited August 2012
    "you're a wizball, ralf".
  • Good job Ralf. Now finish the doom trilogy! ;-)
  • edited August 2012
    bump/

    everyone should give this a whirl
  • edited August 2012
    Sprites will nicer if always use white color for players+enemies and only other graphic will recoloured
  • edited August 2012
    I ended up on the crocodile screen on a HALT at $93b0 with interrupts disabled. I don't know if that's a new bug or an old one?
  • edited August 2012
    Ralf wrote: »
    As promised (some time ago already ;) ), here is my hack attempt to add some colour to Rodland :

    98.png

    The download:
    http://www.sendspace.com/file/21r8ky

    Sprites take colour of the background. If they had their own colour it would look much worse, I guess :) I tried to make this hack interesting and colours change every few levels.

    If anybody knows how, I could use some help with converting this snapshot to tape image. I know how to do it with 48 kB but 128 kB with all this paging was never my forte.

    Here screenshot with white sprites:
    98w.png
  • edited August 2012
    Well done Ralf. A spendid job; I always loved the Amiga version, but seeing the Speccy the sprites reworked you should of been hired in the first instance to do the sprites officially ;-)
  • edited August 2012
    Very very nice indeed! :)

    My ma got me this game for christmas in 1995 along with a joblot of other Speccy cassettes she'd found somewhere.

    Just out of curiousity, like the other recolours, this is a newer title, and I haven't looked at your bit disassembly in detail, was there any evidence that there would be colour for the actual release but they changed their minds? like some of the others you've done?
    You can't expect me to have lunch with a man who's favourite part of the chicken is the right wing!
  • edited August 2012
    velesoft wrote: »
    Sprites will nicer if always use white color for players+enemies and only other graphic will recoloured
    I quite like it with the different colour sprites tbh..

    I ended up on the crocodile screen on a HALT at $93b0 with interrupts disabled. I don't know if that's a new bug or an old one?
    had a few goes now and that's not happened. using spin emu
  • edited August 2012
    Looks great!!!
  • edited August 2012
    Thank you Ralf for doing this.

    Is someone keeping track of all these games? Ralf will soon need his own homepage. Can't remember if WOS can host mods.
  • edited August 2012
    Just out of curiousity, like the other recolours, this is a newer title, and I haven't looked at your bit disassembly in detail, was there any evidence that there would be colour for the actual release but they changed their minds? like some of the others you've done?

    No evidence in the code. No unused colour code from previous versions. If they ever considered making it colourful, they haven't left any traces.

    I ended up on the crocodile screen on a HALT at $93b0 with interrupts disabled. I don't know if that's a new bug or an old one?

    It never happened to me. Strange, I don't mess with interrupts anywhere as you can see in my code

    Here screenshot with white sprites:

    I quite like different colours for sprites. Otherwise I wouldn't implement it :) However feel free to insert some pokes and make it all white. Just remember that you can't have green crocodiles and white player, they are always the same colour.

    I wondered also about making the flowers all one colour which would reduce clash too but in the end did what I did.
  • edited August 2012
    Thanks for that.
  • edited August 2012
    Thanks! Looks really fantastic now!
  • edited August 2012
    Ralf, you might want to add this bit to your hack code:
    org #F589
    
    	cpl
    	and #1F
    	jr z,#F581
    

    It fixes anykey checking during cutscenes, since that isn't done quite right in the original and may cause unintended cutscene skipping.

    And once again, great job.
  • edited August 2012
    great work!
  • edited August 2012
    Very good!!! Itś one of my favourites games for speccy. With colours I like so much.
  • edited August 2012
    I ended up on the crocodile screen on a HALT at $93b0 with interrupts disabled. I don't know if that's a new bug or an old one?
    I had no problems at all playing the game on a +2A. Probably you should use a different emulator (I presume you ran the game under emulation).
Sign In or Register to comment.