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 1 Guest are viewing this topic.

Johnny Olsen

What tools do you use to change the key's? Still only a hex tool?
I thought key control of the game that was the main problem.
Use the non-compressed tape version.
I have almost solved the graphics problem.

iXien

Quote from: RockRiver on 09:36, 20 June 21
What about Plus2CPC ???
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/plus2cpc-plus-cartridge-slot-for-the-cpc/


CPR  (cpc classic) converted to gx4000 would run on CPC464 ?


then a new game console is born ... gx3000 or

or gx2000 or gx464 ha ha ha  8)
I suppose it's a nice project to be able to use cartridges with "instant" loadings on CPC, but only for new projects developed for that. In my humble opinion, if I want to continue to use a CPC to play, I just use the original version of the games. If the interest is to be able to use a 2 button joypad instead of keyboard for a special feature ingame, so it would be interesting to make new patches on DSK versions. I understand that lot of CPC lovers want to keep the 464 of their childhood at all cost but using a 6128 offers so fast loadings on disk and sometimes new features (more GFX or musics) finding 128k RAM... On Amiga, I grew up with an A600 but in the beginning of the 2k years, I understood that a CDTV would offer lot more interesting things as soon as it would be upgraded. I kept my beloved A600 but now CDTV is my daily Amiga since near to 20 years.

What is interesting (once again, IMO of course) in playing on GX-4000 is to enjoy CPC games on a simple and convenient system. While you have to keep a big CPC near you with all its cables and mod it with a GOTEK if you don't want to use lot of floppy disks anymore, GX-4000 is just a tiny box you can forgot somewhere around your TV screen to play tons of action games just pluging a C4CPC cartridge instead of an official game.

Of course I keep a 6128 on my desk to compose music, show new demos requiring 128k RAM and play text based games that it will never be possible to adapt on GX-4000, but when I want to play my prefered action games (and sometime even enjoy CPC+ productions as I don't have my 6128+ always at hand), I can count on my GX-4000, quietly installed in my gaming room, connected on my SONY Trinitron screen with a Megadrive, NES, SNES, etc.

And once again, it's a new opportunity for me to thank all the people involved in this project since more than 5 years and of course @Phantomz , @Urusergi , @dragon , @Johnny Olsen and all other maybe I forget that continue to redouble their efforts to offer us new games to feed our beloved GX-4000 :-*
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

Phantomz

Quote from: Johnny Olsen on 22:25, 24 June 21
What tools do you use to change the key's? Still only a hex tool?
I thought key control of the game that was the main problem.
Use the non-compressed tape version.
I have almost solved the graphics problem.


Yes I do it with a hex tool, I use HxD.


You're correct, the main problem is the key control of the game, it would be great if can fix the graphic problems, then the changes can be made to the non-compressed tape version like you said and the job would be done.




Phantomz

Here is another game to play on the GX4000


This one is....


CIRCUS GAMES


You can enter your name with the Joypad.


Joypad 1 Button 2 to pause, Button 1 to un-pause.
Console Pause Button to Quit.


Continue Playing? Joypad 1 Button 1 for Yes, Button 2 for No.




Davor Vitief

Now that summer is here and i have some spare time i have reviewed and curated the still unconverted Spanish software released for Amstrad so i got 46 games that, technically, could be ported to the GX4000.

After converting them to cpr format i have discovered that three of them (El Cid, The Polluting Bacteria and Ulises)are already playable!. I made two zips, one for the playable games and one for the games that need their controls to be adapted to GX4000 in case this forum programmers deem any of them worth to be adapted.

Here are the games' manuals and info:https://www.amstrad.es/v5.4/juegosamstrad/decargajuegos/juegosamstrad.html

Johnny Olsen

Super Cycle was a tough nut to crack.
I used WinApe to break the Tape Speedlock protection, that was the easy part.
The problems only started when I had to figure out how the game loaded the tracks.
The next thing was to figure out how to reload them, reasonably difficult when
the game is using most of the memory and destroying the jumpblock. Last Problem
was to find out to change the key's which were not straightforward due to the
special way they were programmed.

I've spent quite a few hours on it so I hope the game works.
I can not test have no GX4000

I have used Urusergi and Phantomz key plus patch.

The game comes from
Super Cycle (UK) (2 faces) (1986) (UK retail version) [Original] [TAPE] .zip

There is no music.
Level selection - Joystick left-down-right
Fire 1 - Gear up
Fire 2 - Gear Down
Joy up = Accelerate
Joy down = Decelerate



dragon

QuoteThe next thing was to figure out how to reload them, reasonably difficult when[size=0px]the game is using most of the memory and destroying the jumpblock[/size]



I normally simply take a capture of the ram when the load subroutine finish load it in ram.


You can have  3 levels for example.


1.bin 2.bin 3.bin taken from ram just after game load it.


Then i delete the load subrutine and I put here a call to the first free bank of the cartridge.


In this bank I have my own loading code that normally load these ram captures in the same site where are taken.


So I have mycode.Bin and levels  1.bin 2.bin 3.bin


Copy all into code.bin with command copy of msdos.


Then I  use the - bin option of nocart to upload  the. Bin to the cartridge.




So imagine the original load subroutine was in &5000. 


Now when it call to &5000 do.


Jump to first page of the cartridge.


Cartridge :


Load levels in to ram from other cartridge  pages...and made patches... (16k free to write code).


Return to normal code and continue execution.




A good example of these is hot-rod.

























[/size]

iXien

Quote from: Johnny Olsen on 16:44, 30 June 21

Level selection - Joystick left-down-right
Fire 1 - Gear up
Fire 2 - Gear Down
Joy up = Accelerate
Joy down = Decelerate
Many thanks for this huge work on a fantastic game now available on GX-4000  ;) . Do you think it would be possible to have a version in wich up/down change gears and fire1/fire2 accelerate/decelerate ?
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

Phantomz

Quote from: Johnny Olsen on 16:44, 30 June 21
Super Cycle was a tough nut to crack.
I used WinApe to break the Tape Speedlock protection, that was the easy part.
The problems only started when I had to figure out how the game loaded the tracks.
The next thing was to figure out how to reload them, reasonably difficult when
the game is using most of the memory and destroying the jumpblock. Last Problem
was to find out to change the key's which were not straightforward due to the
special way they were programmed.

I've spent quite a few hours on it so I hope the game works.
I can not test have no GX4000

I have used Urusergi and Phantomz key plus patch.

The game comes from
Super Cycle (UK) (2 faces) (1986) (UK retail version) [Original] [TAPE] .zip

There is no music.
Level selection - Joystick left-down-right
Fire 1 - Gear up
Fire 2 - Gear Down
Joy up = Accelerate
Joy down = Decelerate


Fantastic Work, Well Done.  8)


I can see for myself that the keys are hard to change in this game. ???


I know that some people would prefer the keys changed if possible as holding up can be a pain on the joypad.


Quote from: iXien on 11:59, 01 July 21Many thanks for this huge work on a fantastic game now available on GX-4000  ;)  . Do you think it would be possible to have a version in wich up/down change gears and fire1/fire2 accelerate/decelerate ?


Is it also possible to get the pause option working?

Change ESC to P, would need to change O and P to U and I for Plus Users, if not don't worry.  :)

Shaun M. Neary

Quote from: Johnny Olsen on 16:44, 30 June 21
Super Cycle was a tough nut to crack.
I used WinApe to break the Tape Speedlock protection, that was the easy part.
The problems only started when I had to figure out how the game loaded the tracks.
The next thing was to figure out how to reload them, reasonably difficult when
the game is using most of the memory and destroying the jumpblock. Last Problem
was to find out to change the key's which were not straightforward due to the
special way they were programmed.

I've spent quite a few hours on it so I hope the game works.
I can not test have no GX4000

I have used Urusergi and Phantomz key plus patch.

The game comes from
Super Cycle (UK) (2 faces) (1986) (UK retail version) [Original] [TAPE] .zip

There is no music.
Level selection - Joystick left-down-right
Fire 1 - Gear up
Fire 2 - Gear Down
Joy up = Accelerate
Joy down = Decelerate
I'd like to say i'm shocked, astonished and amazed, but I'm not...

... because I knew you guys would find a way to get this working! Kudos to all involved. :)
Currently playing on: 2xCPC464, 1xCPC6128, 1x464Plus, 1x6128Plus, 2xGX4000. M4 board, ZMem 1MB and still forever playing Bruce Lee.
No cheats, snapshots or emulation. I play my games as they're intended to be played. What about you?

Johnny Olsen

Quote from: dragon on 10:54, 01 July 21



I normally simply take a capture of the ram when the load subroutine finish load it in ram.


You can have  3 levels for example.


1.bin 2.bin 3.bin taken from ram just after game load it.


Then i delete the load subrutine and I put here a call to the first free bank of the cartridge.


In this bank I have my own loading code that normally load these ram captures in the same site where are taken.


So I have mycode.Bin and levels  1.bin 2.bin 3.bin


Copy all into code.bin with command copy of msdos.


Then I  use the - bin option of nocart to upload  the. Bin to the cartridge.

So imagine the original load subroutine was in &5000. 


Now when it call to &5000 do.


Jump to first page of the cartridge.


Cartridge :

Load levels in to ram from other cartridge  pages...and made patches... (16k free to write code).

Return to normal code and continue execution.

A good example of these is hot-rod.



I can see your point, but I do not know how a cartridge bank works and I do not own a GX4000.
I wanted a dsk version for myself, so that was the only way I could make one.

Johnny Olsen

Quote from: iXien on 11:59, 01 July 21
Many thanks for this huge work on a fantastic game now available on GX-4000  ;) . Do you think it would be possible to have a version in wich up/down change gears and fire1/fire2 accelerate/decelerate ?
I knew that question would come up. ;)    I think it's possible but it's not that easy because of the way the keys are used.

dragon

Quote from: Johnny Olsen on 08:51, 21 July 21
I can see your point, but I do not know how a cartridge bank works and I do not own a GX4000.
I wanted a dsk version for myself, so that was the only way I could make one.


OH, that's very easy, it's something like this.


ld bc,&df81
out (c),c
ld bc,&7f00+%10000100
out (c),c
call code
ld bc,&7f00+%10001100
out (c),c
ld bc,&df00
out (c),c
ret

Where & df81 is cart page  number you select.

It mount the page number 81 in & c000-fffff

When you make the call &c000 or a jp &c000  you jump to the selected cart page.

Or you can make a ldir instead a call or jp it you want copy data.

Then you return back and the rest of code restore the upper rom as it was.

Then the rest  is having you. Bin preloaded. Nocart always load the.bin from x page (depend of nocart version).

You can stole code somewhere, put there these subroutine and execute the stole code in the cartridge. And you have 16k free to write. You can check it with winape.


rewk

Hi,

It's my first post here. I hope I'm in the right channel.

I wanted to try Nocart and coding a bit in Z80 assembly, alongside Caprice32 debugger. And obviously, trying my brand new C4CPC :D !

I've managed to make a GX_4000 compatible CPR for Roland Ahoy. This is not considered a really good game, obviously but it's the first one I played on the Amstrad when I was 7 in the 80's. And I assumed it was a rather easy and straightforward game. It was, since it only uses the CPC Firmware. ;)


The game can be launched with button 2, and I've added an automatic hi-score responder, with a counter that increase each time.

Nocart has generated quite a big .cpr file. I suppose there is room for improvement.


I was considering trying a more challenging game, like Airwolf 2 next. Or maybe making a Python version of nocart, as i had trouble building it on WSL...

Here is also the asm used to patch the ahoy binary.


Thanks a lot for any feedback on this.



EDIT: It looks I can't post .asm file.


EDIT2: The asm is in the archive.

iXien

Quote from: Johnny Olsen on 08:59, 21 July 21
I knew that question would come up. ;)    I think it's possible but it's not that easy because of the way the keys are used.
If, by chance, you have a little time to waste trying, that would be really great because accelerating with the up button on joypad is not good for the thumb!  :P
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

pmeier

Hi,
I have patched Beyond The Ice Palace and added a nice menu to choose the number of buttons and pokes.

I also have hacked the game: If you choose two or three buttons, it's possible to jump in front of a ladder. So joy-up is always climb and fire2 is always jump. IHMO That's the way it's meant to be played.


The zip contains .dsk and .cpr. I have tested it on my real 464 and the Plus version in WinAPE. For the Plus version I'm not sure if it works correctly on real hardware. I have read the notes about the current version, that there were some problems. (So if you tell me how to add a palette fix...)


The zip also contains my assembler sources. My goal is always to provide a joystick only .dsk version which is emulator independent.

Credits go to Looker (crack)

iXien

To revive a little bit this thread with a new challenge for summer, I was wondering if a game like TWINWOLRD could be converted to GX-4000? The game needs two sides but there is a cracked version using 100% files and somebody managed to convert Lemmings that needs two floppy disk sides too  :D . That's why I was wondering if it would be possible to offer this great platform game to GX-4000. Is there a method to create 512Kb ROMs and inject files rather than converting simple DSK files to CPR with Nocart?  8)
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

Shaun M. Neary

Quote from: iXien on 19:40, 02 August 21
To revive a little bit this thread with a new challenge for summer, I was wondering if a game like TWINWOLRD could be converted to GX-4000? The game needs two sides but there is a cracked version using 100% files and somebody managed to convert Lemmings that needs two floppy disk sides too  :D . That's why I was wondering if it would be possible to offer this great platform game to GX-4000. Is there a method to create 512Kb ROMs and inject files rather than converting simple DSK files to CPR with Nocart?  8)


The two sided deal should have an easy work around. Just create a larger dsk (like a 720k disk) and copy both sides to it using CPCDiskXP or something later if it exists.
I've done this to make dual sided games work with the M4 and usually works.

Then convert the dsk to cpr via nocart?
Or have I missed something?
Currently playing on: 2xCPC464, 1xCPC6128, 1x464Plus, 1x6128Plus, 2xGX4000. M4 board, ZMem 1MB and still forever playing Bruce Lee.
No cheats, snapshots or emulation. I play my games as they're intended to be played. What about you?

iXien

Quote from: Shaun M. Neary on 09:45, 03 August 21

The two sided deal should have an easy work around. Just create a larger dsk (like a 720k disk) and copy both sides to it using CPCDiskXP or something later if it exists.
I've done this to make dual sided games work with the M4 and usually works.

Then convert the dsk to cpr via nocart?
Or have I missed something?
Nocart seems to accept only standard DSK files (191Kb)  ::)
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

Shaun M. Neary

Quote from: iXien on 11:41, 03 August 21
Nocart seems to accept only standard DSK files (191Kb)  ::)


Wonder if it could be updated to handle larger dsk images?
Currently playing on: 2xCPC464, 1xCPC6128, 1x464Plus, 1x6128Plus, 2xGX4000. M4 board, ZMem 1MB and still forever playing Bruce Lee.
No cheats, snapshots or emulation. I play my games as they're intended to be played. What about you?

iXien

Quote from: Shaun M. Neary on 11:45, 03 August 21

Wonder if it could be updated to handle larger dsk images?
Maybe I'm wrong but I think it is a major problem in conversing double sided games on GX-4000. The few games using both sides of a disk that have been converted seem to have required special treatment.
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

Shaun M. Neary

Quote from: iXien on 11:50, 03 August 21Maybe I'm wrong but I think it is a major problem in conversing double sided games on GX-4000. The few games using both sides of a disk that have been converted seem to have required special treatment.



Not that special though. I've copied several cracked double sided games to one side of a 3.5" disk and they work fine. Same for M4 loading.
In theory, there's no reason why the C4CPC wouldn't load them too if Nocart was updated. Unless they're 128k versions for obvious reasons.
Currently playing on: 2xCPC464, 1xCPC6128, 1x464Plus, 1x6128Plus, 2xGX4000. M4 board, ZMem 1MB and still forever playing Bruce Lee.
No cheats, snapshots or emulation. I play my games as they're intended to be played. What about you?

iXien

Quote from: Shaun M. Neary on 11:53, 03 August 21


Not that special though. I've copied several cracked double sided games to one side of a 3.5" disk and they work fine. Same for M4 loading.
In theory, there's no reason why the C4CPC wouldn't load them too if Nocart was updated. Unless they're 128k versions for obvious reasons.
Yes, clearly, nothing prevents the C4CPC from loading heavier image files as it reads all the 512Kb CPR files generated by Nocart. The question is, why I can't convert expanded DSK files using Nocart while Nocart itself generates 512Kb files  :laugh:  I read on the CPC Wiki dedicated page that Nocart support expanded DSK files... It puzzles me.
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

Shaun M. Neary

Quote from: iXien on 12:02, 03 August 21
Yes, clearly, nothing prevents the C4CPC from loading heavier image files as it reads all the 512Kb CPR files generated by Nocart. The question is, why I can't convert expanded DSK files using Nocart while Nocart itself generates 512Kb files  :laugh:

@arnoldemu Hey Kev, any chance NoCart could be updated to import expanded dsk images? :D
(I've also pinged him on FB messenger as well as he hasn't been active on the forum in a while)
Currently playing on: 2xCPC464, 1xCPC6128, 1x464Plus, 1x6128Plus, 2xGX4000. M4 board, ZMem 1MB and still forever playing Bruce Lee.
No cheats, snapshots or emulation. I play my games as they're intended to be played. What about you?

iXien

Quote from: Shaun M. Neary on 12:05, 03 August 21
@arnoldemu Hey Kev, any chance NoCart could be updated to import expanded dsk images? :D
I see that Nocart can convert expanded DSK files but I don't manage to do that.
http://homebrew.amstradtoday.com, the only website dedicated to CPC homebrew games.

Powered by SMFPacks Menu Editor Mod