News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_remax

Converted GX4000 .cpr - The topic (repository link in first post)

Started by remax, 22:14, 04 May 15

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

ukmarkh

First off, I love Commando Tracer! I ploughed endless hours into this game, so thanks for doing this.


Secondly, thanks to everyone for doing this, I'm not just jumping on the bandwagon, I really appreciate everyone's efforts.


We all need to keep the CPC alive, in our own special way.


8)




Phantomz

Quote from: ukmarkh on 16:40, 02 February 16
We all need to keep the CPC alive, in our own special way.

Indeed, well I'm doing my bit.  ;D

I've done another game for you guys, this one is " Satan ".

Part 2 Access Code = 66666666 Enter it with UP on Joypad 2

I've remapped the controls and changed the onscreen prompts etc, you can just press joypad 1 button 1 to start with the default controls I've mapped or redefine your own.

Controls can be Redefine, but by defaut they are as follows;

Part 1, Pause with Joypad 1 Button 2, Abort with Console Pause Button

Part 2, UP-DOWN with Joypad 1 Button 2, Teleport with Joypad 2 Button 1, Access Item Menu / Pause with Joypad 2 Button 2, Abort with Console Pause Button

I've included a Poked version too.  ;)


I've also done a small update to " Robocop " you can now use the Console Pause Button to Pause without Redefining controls first.

They are both here and on the wiki page.

Hope you enjoy them.  :D


||C|-|E||

Ahhhh... Satan. I played that one a lot when I was a kid. I think that I even finished it or, at least, the first part. Huuum... or maybe it was the second one, where you are a magician. I need to play it again  :picard: .

Gryzor

Commando Tracer? I don't even know the game! Should I check it out?


Phew, this thread is going for 700 Likes now :)

dragon


TFM

Quote from: Gryzor on 14:17, 05 February 16
Commando Tracer? I don't even know the game! Should I check it out?
Phew, this thread is going for 700 Likes now :)


Yes! Didn't know either. Don't get what to do, but it's so nice!  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

CraigsBar

Quote from: robcfg on 17:13, 29 January 16
Heh...


It seems that Piotr already converted a GX4000 into a 6128 Plus, so it's possible to upgrade the GX4000 to 128Kb RAM.
Since most of these new connections are directly onto the asic wouldn't it be nice to have an 'Amiga' style expansion that had an upturned socket to snap on over the asic to add the extra ram, keyboard, floppy etc thus only needing the device fitting on, and the minor case cuts for the new connectors? I'd buy one!
IRC:  #Retro4All on Freenode

TFM

Lot's of rumors out there, but nobody tells (at least here) where to buy an ASIC.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

gerald

Quote from: CraigsBar on 17:43, 05 February 16
Since most of these new connections are directly onto the asic wouldn't it be nice to have an 'Amiga' style expansion that had an upturned socket to snap on over the asic to add the extra ram, keyboard, floppy etc thus only needing the device fitting on, and the minor case cuts for the new connectors? I'd buy one!
The CPC ASIC has a 0.65mm pitch while Amiga upturned socket have a 1.27mm pitch and are pretty common.
While 0.65mm socket exists, these are clamshell style : no way to use them like that (and these are not cheap)

CraigsBar

Quote from: gerald on 20:30, 05 February 16
The CPC ASIC has a 0.65mm pitch while Amiga upturned socket have a 1.27mm pitch and are pretty common.
While 0.65mm socket exists, these are clamshell style : no way to use them like that (and these are not cheap)
Damn! It would have been a sweet upgrade if it were possible. I guess not then.
IRC:  #Retro4All on Freenode

dragon

Turrican have three buttons. I have try made a code desviation to made 1+2 button for button3 . But i thing exist an interrupts that crash the game,because is executed in high rom all time. So simply not work


So, nuchuk tecnic? what keys?. Or someone can manufacture a snes 6 button game pad with use the two joystick ports :).


Phantomz

Quote from: dragon on 14:48, 07 February 16
So, nuchuk tecnic? what keys?. Or someone can manufacture a snes 6 button game pad with use the two joystick ports :).

A modded Mega Drive game pad would be nice to give us the 3rd button or some sort of adaptor that you plug into the gx4000 then plug a mega drive pad in, if it's possible.  ;D

dragon

Quote from: Phantomz on 19:49, 07 February 16
A modded Mega Drive game pad would be nice to give us the 3rd button or some sort of adaptor that you plug into the gx4000 then plug a mega drive pad in, if it's possible.  ;D

No problem, turrican maybe can have all buttons in gx4000. The price is a corruption in the title screen. in form such as fire 1 button 1, fire 2 button 2  fire 3 button 1+2. Is the better i can do with cng soft compression. And the crappy game strucutre that uses the same memory zone that me XD.

If it works in real hardware of course :) .

It works in real gx4000 phantom?

Phantomz

Quote from: dragon on 23:18, 07 February 16
No problem, turrican maybe can have all buttons in gx4000. The price is a corruption in the title screen. in form such as fire 1 button 1, fire 2 button 2  fire 3 button 1+2. Is the better i can do with cng soft compression. And the crappy game strucutre that uses the same memory zone that me XD.

If it works in real hardware of course :).

It works in real gx4000 phantom?

No, looks like you might have made a typing mistake when you made the cpr, getting " DRAGO       .BAS not found???

dragon

That because i forgot the n in nocash  is dragon.bas you can compile it :)


But fixed.

Phantomz

Quote from: dragon on 23:39, 07 February 16
That because i forgot the n in nocash  is dragon.bas you can compile it :)


But fixed.

Right, that one loaded up just fine, the buttons are working as you have stated, nice job  8)

I found out the cheat option you have added, I don't know how many levels the game has, but when I was skipping, I think it locked up on 5.2 or 5.3 is that because it's the last level ?

dragon

Quote from: Phantomz link=topic=10511.msg119187#msg119187 =1454885722
Right, that one loaded up just fine, the buttons are working as you have stated, nice job  8)

I found out the cheat option you have added, I don't know how many levels the game has, but when I was skipping, I think it locked up on 5.2 or 5.3 is that because it's the last level ?

I don't know i not play it to the finish.

Also if you press 1+2 when cheat is activated  in joypad 2 level is reset to 1, maybe works without cheat activated.

Maybe youtube can tell if it is the last level.

Phantomz

Quote from: dragon on 00:02, 08 February 16
I don't know i not play it to the finish.

Also if you press 1+2 when cheat is activated  in joypad 2 level is reset to 1, maybe works without cheat activated.

Maybe youtube can tell if it is the last level.

I just tested it, 5.2 is the last level, I killed the last boss and you can complete the game, if you press the level skip whilst on 5.2 the game will crash out and you will need to reload it.

Here is another game from myself, this one is " Xenon :)

Trainer
Joypad 1 Button 1 for Yes, Button 2 for No
Level Select is Joypad 1 Button 1 or UP = Level 1, LEFT = Level 2, RIGHT = Level 3, Down = Level 4.

Ingame
I've made the game default to Joypad 1, so you can just press Button 1 on Joypad 1 to Start game.
Joypad 1 Button 2 to Change Mode.
Pause with console Pause Button / Unpause with Joypad 1 Button 1
Use Joypad 2 Buttons 1 and 2 for Menu Options.


Phantomz

@dragon

Any chance you could do the level select Trainer mod on XOR version of " Terminator 2 "

I can make it like normal, Up Down Left Right etc, but I can't changed the text due to compression , therefore it might be best if you do your normal XOR level select mod. Cheers  :D

dragon

I think is better i try teach you an entry level to patch xor games :) .

First of all, execute the game to xor menu, then pause winape, and search a free memory zone.(a bunch of 0000 in the down windows of the debuger) in this case we can take &4000 for example

Xor, uses always(at least for now). The same rutine compression/with litte variations., that is perfect for us.

The final of the subrutine is always finish with these commands: jr xxxx,pop bc,exx,ret. The last three commands in z80 opcode are "c1 d9 c9".

So,if when you are in  xor menu,Pause winape and search i "c1 d9 c9". You can view the finish of subrutine is in  01b5,01b6,01b7

Make a breakpoint in 01b5 for example  (button right of mouse). You can view is selected in red colour.

You can see what happends? xor descompress many times using the subroutine, so winape stops in 01b5 many times :) .

This subrutine is always descompresed, so we can patch it with hex editor :)

We go to put the program in &4000 so search it in hex editor and patch with a JP &4000 ->c3 00 40.

After this when subroutine finish of decompress the code, it jump to &4000. So if you execute the game now it crash :) .

------>>>>>finish of first part -<<<<<<<<

We go now to patch the game, select in winape  menu assembler-> show assembler. you view and empy white screen notepad type style not worry all is o.k

We write the program here.

First of all, we ned tell the program we need it begin in &4000 So we write in it

ORG &4000

Now is itme to make the game works witth outpatch it.

So write in the winape assembler note pad the instructions we lost when we patch the hex code

write:

pop bc
exx
ret

So we have


ORG &4000

pop bc
exx
ret

And now?, now we save it.

reset winape(settitngs reset always not close it XD). And then in the winape assembler notepad menu select  assmbler->assembler (the ctrl+f9 option).

You can see he assamble it!. So who we put it in a .bin,?. remember the memory windows with all hex codes in winape debugger?.
search &4000 in this windows. You can view here your instrucions!! pop bc,exx,Ret  !!c1 d9 c9!!

So simply select the c1 d9 c9 with the mouse, then right button and select "save" this is us "loader.bin" :)

---<<<finish part2 >>.

Now we need the cpc execute this. So its time to go to the basic.

write in basic

"10 memory &3fff" (1 minus us program direction &4000 remember).
"20 openout "d"
"30 load"loader.bin",&4000" ->the direction we choose to load it.
"40 run"termina2 "

save it as phantomz (for example) with save"phantomz.bas

Now we need loader.bin to load it :) .

So open cpcdiskxp   CPCDiskXP - Write and Read Amstrad CPC disks from a PC (unmount the dsk in winape)

Select edit dsk edior , and open the  dsk :)

Yo can view the list of files in the dsk select add files.

Add the loader.bin

cpcdisk xp ask you  you wan to add amsdos header?

Yes, and in the box put us famous &4000 direction :)


Now save the dsk.  Load the dsk in winape and execute phantomz.bas

The game run now :) .

This is all for  now, when you are ready we go go to patch the xor menu.

At finish of these steps you have these files in the  .rar (for referrence)






Phantomz

Quote from: dragon on 20:39, 09 February 16
I think is better i try teach you an entry level to patch xor games :) .

First of all, execute the game to xor menu, then pause winape, and search a free memory zone.(a bunch of 0000 in the down windows of the debuger) in this case we can take &4000 for example

Xor, uses always(at least for now). The same rutine compression/with litte variations., that is perfect for us.

The final of the subrutine is always finish with these commands: jr xxxx,pop bc,exx,ret. The last three commands in z80 opcode are "c1 d9 c9".

So,if when you are in  xor menu,Pause winape and search i "c1 d9 c9". You can view the finish of subrutine is in  01b5,01b6,01b7

Make a breakpoint in 01b5 for example  (button right of mouse). You can view is selected in red colour.

You can see what happends? xor descompress many times using the subroutine, so winape stops in 01b5 many times :) .

This subrutine is always descompresed, so we can patch it with hex editor :)

We go to put the program in &4000 so search it in hex editor and patch with a JP &4000 ->c3 00 40.

After this when subroutine finish of decompress the code, it jump to &4000. So if you execute the game now it crash :) .

------>>>>>finish of first part -<<<<<<<<

We go now to patch the game, select in winape  menu assembler-> show assembler. you view and empy white screen notepad type style not worry all is o.k

We write the program here.

First of all, we ned tell the program we need it begin in &4000 So we write in it

ORG &4000

Now is itme to make the game works witth outpatch it.

So write in the winape assembler note pad the instructions we lost when we patch the hex code

write:

pop bc
exx
ret

So we have


ORG &4000

pop bc
exx
ret

And now?, now we save it.

reset winape(settitngs reset always not close it XD). And then in the winape assembler notepad menu select  assmbler->assembler (the ctrl+f9 option).

You can see he assamble it!. So who we put it in a .bin,?. remember the memory windows with all hex codes in winape debugger?.
search &4000 in this windows. You can view here your instrucions!! pop bc,exx,Ret  !!c1 d9 c9!!

So simply select the c1 d9 c9 with the mouse, then right button and select "save" this is us "loader.bin" :)

---<<<finish part2 >>.

Now we need the cpc execute this. So its time to go to the basic.

write in basic

"10 memory &3fff" (1 minus us program direction &4000 remember).
"20 openout "d"
"30 load"loader.bin",&4000" ->the direction we choose to load it.
"40 run"termina2 "

save it as phantomz (for example) with save"phantomz.bas

Now we need loader.bin to load it :) .

So open cpcdiskxp   CPCDiskXP - Write and Read Amstrad CPC disks from a PC (unmount the dsk in winape)

Select edit dsk edior , and open the  dsk :)

Yo can view the list of files in the dsk select add files.

Add the loader.bin

cpcdisk xp ask you  you wan to add amsdos header?

Yes, and in the box put us famous &4000 direction :)


Now save the dsk.  Load the dsk in winape and execute phantomz.bas

The game run now :) .

This is all for  now, when you are ready we go go to patch the xor menu.

Thanks, I'll try and get my head around that  ??? :laugh:

I just tried searching for " c1 d9 c9 " didn't find anything, maybe not looking in the right place!

Maybe best to try and do this when I haven't got a headachce  :laugh:

dragon

More faster ctrl+f

select first one liine of the upper window.
Select the Hex data first, if not you found nothing :) . And search without the "" and with spaces.

Phantomz

Quote from: dragon on 21:16, 09 February 16
More faster ctrl+f

select first one liine of the upper window.
Select the Hex data first, if not you found nothing :) . And search without the "" and with spaces.

Thanks again, I'll take a look when I've got some more free time.

Will this let me be able to select start level with left and right if I figure it out?

In the mean time, here is a new version of " Terminator 2 "  with a Trainer.

Trainer Level Select = 1 for 1, 2 for 2, Up for 3, Left for 4, Right for 5, Down for 6, Console Pause Button for 7.  :)

dragon

Quote from: Phantomz on 23:03, 09 February 16
Thanks again, I'll take a look when I've got some more free time.

Will this let me be able to select start level with left and right if I figure it out?

In the mean time, here is a new version of " Terminator 2 "  with a Trainer.

Trainer Level Select = 1 for 1, 2 for 2, Up for 3, Left for 4, Right for 5, Down for 6, Console Pause Button for 7.  :)

Yes+ the second part i need write is very easy, but is best learn it so you can use it i other xor ganes.

Phantomz

Quote from: dragon on 23:58, 09 February 16
Yes+ the second part i need write is very easy, but is best learn it so you can use it i other xor ganes.

I'll try, think I've made a disk following your instructions, it's here if you want to check it, appears to work still.  ;)


Powered by SMFPacks Menu Editor Mod