CPCWiki forum

General Category => Games => Topic started by: EgoTrip on 19:41, 10 September 11

Title: Gameboy Ports?
Post by: EgoTrip on 19:41, 10 September 11
With the amount of speccy ports on the CPC, I was wondering is it possible to port games from the Gameboy to the CPC? It would be cool to see games like Super Mario Land 2 running on the CPC.
Title: Re: Gameboy Ports?
Post by: Badstarr on 02:47, 11 September 11
Just had a quick look at the specs on wiki and I think it could be possible, however, it depends on the size of the ROMs as they can be as large as a couple of MBs. So it could be possible but would most likely involve some extra hardware to run on a real cpc or an extensive rewrite of a game. The Gameboy had 8kb of RAM and i think the same for video RAM so on the face of it at least the CPC is vastly superior.


It just depends on how the programs run and the sort of level of porting, it may just be easier to write the game for the cpc from scratch in the long run though.
Title: Re: Gameboy Ports?
Post by: norecess on 04:13, 11 September 11
MacDeath, if you read me : no, really, don't answer please.  :)
Title: Re: Gameboy Ports?
Post by: MacDeath euh on 05:17, 11 September 11
Mac From a friend's PC...
 
Well you know... RoM or multiloading with Disk...
 
or even both...
 
Seriously, game boy is mode1 CPC, less resolution and more scrollings/Sprites...
With good RAM use (128K) and multiloading,  provided the game is not too much action oriented.
 
Good point, the screen has less LCD backdrops...on CPC...
Title: Re: Gameboy Ports?
Post by: SyX on 12:02, 11 September 11
Well, i always have though that Hudson Hawk (http://www.cpc-power.com/index.php?page=detail&num=1114) and The Blues Brothers (http://www.cpc-power.com/index.php?page=detail&num=433) (i made a hack "The Green Brothers" to use a more similar gameboy green palette xDDD) were converted from GB to CPC ;D

And there are a lot of GB games that they would be great in CPC... but technically speaking a GB can make a lot of things that a CPC/CPC+ only can dream :P

Only talking about the the monochrome GB, we had the CPU goes a 4,2 MHz,  decent scroll hardware, two independent playfields, 40 sprites at the same time (but very easy to multiplex them, the only limit is 10 sprites in the same scanline), independent priority between the playfields and the sprites (not the joke of the CPC+, it must be the only sprite system where you can not change the priority between them and the background  ;D ), tile modes (always my favourite feature, it's  so easy to make a parallax scroll with minimum CPU cost), raster interrupts (ooohhh, if it's one of the three only decent things that the CPC+ has  ;D ), DMA transfers (in 160 NOPs or 2,5 scanlines you can update the 40 sprites), the cartridge are from 32 KBs to 4 MBs (for example, Super Mario Land 2 is 512 KBs), ...
Title: Re: Gameboy Ports?
Post by: EgoTrip on 13:14, 11 September 11
Does anyone want to attempt to port SML2 to the CPC?
Title: Re: Gameboy Ports?
Post by: norecess on 19:05, 11 September 11
Quote
Does anyone want to attempt to port SML2 to the CPC?


Come on guys, that's why I hate those kind of threads. Each times I read the exact same comments. Because an external machine runs a Z80, you are thinking it's possible to create a port for the CPC. You have no clue of what is a gaming machine. A gaming machine has dedicated features for gaming (Syx was actually quite cleaver in giving the GB's specs). The CPC, on the other side, has.. nothing?

Don't get me wrong, I would love to see such games on our CPC; but it just can't be any kind of related ports, only adaptations are possible.


 
Title: Re: Gameboy Ports?
Post by: MaV on 20:30, 11 September 11
Don't get me wrong, I would love to see such games on our CPC; but it just can't be any kind of related ports, only adaptations are possible.

Yeah! Good comment. If anyone makes the effort, it'll not be a "port" but a "rewrite" of the game, optimally a few machine code routines could be shared at most. And that takes much more effort.

@SyX: 4,2MHz? I thought it was much less.
Title: Re: Gameboy Ports?
Post by: Bryce on 20:42, 11 September 11
4.2Mhz is indeed correct. Or to be really pedantic the quartz crystal is actually 4.194304Mhz  (I've developed quite a bit of GB stuff in the past).

Bryce.
Title: Re: Gameboy Ports?
Post by: robcfg on 20:49, 11 September 11
Quote from: Bryce
(I've developed quite a bit of GB stuff in the past).


Sir, you are quite an interesting man  8)
Title: Re: Gameboy Ports?
Post by: Gryzor on 20:55, 11 September 11
Is it my
4.2Mhz is indeed correct. Or to be really pedantic the quartz crystal is actually 4.194304Mhz  (I've developed quite a bit of GB stuff in the past).

Bryce.

Give us! :)
Title: Re: Gameboy Ports?
Post by: Bryce on 21:12, 11 September 11
This is a CPC Wiki, I won't be posting any other hardware stuff here :)

@Robcfg: My CPC stuff only really started 24 months ago, when I joined this Wiki. The majority of my hardware is for other systems (mainly Atari 800XL/XE) and for completely other things. In fact most of the stuff I've developed up to now was for Photography (especially Canon) and not 8-bit stuff at all.

Bryce.
Title: Re: Gameboy Ports?
Post by: SuTeKH/Epyteor on 21:20, 11 September 11
I got bored with life... so I did this!
...
 
Title: Re: Gameboy Ports?
Post by: robcfg on 21:23, 11 September 11

Quote from: Bryce
@Robcfg: My CPC stuff only really started 24 months ago, when I joined this Wiki. The majority of my hardware is for other systems (mainly Atari 800XL/XE) and for completely other things. In fact most of the stuff I've developed up to now was for Photography (especially Canon) and not 8-bit stuff at all.


See, you're an interesting man, you cannot deny it!  ;D

My first computer was an Atari 800XL, I recently had to change a broken RAM chip, but it's still with us  :P


Just to celebrate, Deepfb and I bought the last two 320XL memory expansions for the XL series, and I have to say, it's pretty nice, specially if you play games like Crownland which need the extra RAM.


So, just for curiosity, what did you do for the Atari?

Title: Re: Gameboy Ports?
Post by: Bryce on 21:27, 11 September 11
@TastefulMrShip: You should get bored with life more often! :)

@Robcfg: I have a few 800XLs and an 800XE, all modded to the extreme: 1MB RAM, switchable ROMs, Harddrive, USB, S-Video, Mouse, Multi-Cartridge, Overclocked... That's why I moved to the CPC, there was nothing left to do on the Atari :D

Bryce.
Title: Re: Gameboy Ports?
Post by: SyX on 21:32, 11 September 11
Ja ja ja ja, Bryce, i would must to send you my 800XL, it would return made a man xDDDDDD

tastefulmrship, it sounds great, but i prefer your SML1 version ;)
Title: Re: Gameboy Ports?
Post by: robcfg on 21:40, 11 September 11
Wow!


That's an Uber-Atari!! Is all that info anywhere? I wouldn't mod much my original Atari, but I have an 800XE begging for action  :P


By the way, what's the best screen mode you can get on the 8-bit Atari computers provided you have lots of RAM? One of these days, I'd like to make something for them...
Title: Re: Gameboy Ports?
Post by: Gryzor on 21:54, 11 September 11
I got bored with life... so I did this!
...
 


Wow... a shame you can't hear the tune from the screenshot :)



Title: Re: Gameboy Ports?
Post by: SuTeKH/Epyteor on 22:10, 11 September 11
@TastefulMrShip: You should get bored with life more often! :)
Are you really sure about that? I will churn out more if you want. Already today I have converted 7 screens, 10% of the EoD tune, as well as these SML screens.
 
tastefulmrship, it sounds great, but i prefer your SML1 version ;)
You mean this one?... (updated using WinAPE A18 & Starkos 1.21)
 
Title: Re: Gameboy Ports?
Post by: SyX on 22:13, 11 September 11
Superb!!!  :D :D :D
Title: Re: Gameboy Ports?
Post by: redbox on 11:35, 12 September 11
Are you really sure about that? I will churn out more if you want. Already today I have converted 7 screens, 10% of the EoD tune, as well as these SML screens.


Nice work - did you actually convert the music or re-write it?
Title: Re: Gameboy Ports?
Post by: MacDeath on 11:41, 12 September 11
Mac, back on his own PC...


but Gameboy can be a good source for Mode1 "2bpp monocolour" graphical ports.

While the actual games engines would need a complete rewrite because as said : sprites and shits...

Just like real MSX games (MSX2 and superior) made in japan in ROM cartridge and actual exploitation of MSX advanced Hardwares (not the European speccy ports on MSX1).

Even SegaMAsterSystem can't be code-ported on CPC because of all the advanced Hard-features...

quite a shame the Amstrad PLUS' ASIC is so poor on the Sprites matter.
To be fair, to me those are not even proper "Sprites" but "Hardware Tiles"... and would clearly need some decent multiplexing feature too.

A properly done PLUS machine would need have needed 2 ASICs, one being only for the Video...

Title: Re: Gameboy Ports?
Post by: SuTeKH/Epyteor on 12:28, 12 September 11

Nice work - did you actually convert the music or re-write it?
The SML2 tune was me, a crappy Yooootooobe video of someone sitting on the save-game select screen, Creative WAVE STUDIO, STarkos and lots of trial/error. The SML1 music is copied straight from the Amiga mod... so a lot easier to do!
 
quite a shame the Amstrad PLUS' ASIC is so poor on the Sprites matter.
To be fair, to me those are not even proper "Sprites" but "Hardware Tiles"... and would clearly need some decent multiplexing feature too.
I was always under the impression that the Gameboy used 8x8 'tiles' to create the sprites in the first place. Surely it would be easy enough to collate these tiles on the CPC+ and 'save' them as h/w sprites (in increments of 16, from memory)? Then, using h/w scrolling, build a simple platform-esque engine before thinking about the intricacies of the original. And being a 4 colour system, anyway, it fits nicely in MODE 1.
 
Title: Re: Gameboy Ports?
Post by: redbox on 12:44, 12 September 11
I was always under the impression that the Gameboy used 8x8 'tiles' to create the sprites in the first place. Surely it would be easy enough to collate these tiles on the CPC+ and 'save' them as h/w sprites (in increments of 16, from memory)? Then, using h/w scrolling, build a simple platform-esque engine before thinking about the intricacies of the original. And being a 4 colour system, anyway, it fits nicely in MODE 1.


I don't think there would be much merit in using the Plus features for this type of thing.


But how about using fast sprites, stack pushes, (maybe even hw scroll) etc on a classic CPC?  I know the GB hardware is quite good, but I've just watched a video of Super Mario Land and there's not that much going on...!
Title: Re: Gameboy Ports?
Post by: EgoTrip on 16:17, 12 September 11
SML1 is a pretty poor game, but it was a GB launch title so its the Nintendo equivalent of an Amsoft title I guess. The controls are not brilliant and it is way too short and easy. The music however is excellent throughout, theres not a bad track in the entire game.


SML2 on the other hand is essentially an 8-bit version of Super Mario World (minus Yoshi), I dont see why it could not work on a CPC if written from scratch for the CPC. There are similar platformers for the CPC like Blues Brothers but its just not quite the same.


Maybe I am just best off sticking to Nintendo consoles for Mario but it would be great to see a Mario or Mario styled platformer for the CPC, possibly starring Roland (I actually made plans for one a few months back but the coder bailed), in Mode 1. (Mode 0 just would not work the same due to the accuracy involved)
Title: Re: Gameboy Ports?
Post by: Executioner on 14:38, 13 September 11
Don't get me wrong, I would love to see such games on our CPC; but it just can't be any kind of related ports, only adaptations are possible.

Well, actually I'd tend to disagree with that statement to some extent. A LOT of the game logic could be re-used, this is the most important thing (the original BONUS code for Bubble Bobble springs to mind). The only real difficulty is doing similar graphics and sound without the advanced sprite hardware of the GB, but it might not matter so much if the parallax isn't there so long as the game-play is as the original. Besides, we'll have some nice colours in our graphics unlike the GB originals.
Title: Re: Gameboy Ports?
Post by: MacDeath on 15:53, 13 September 11
Well, up to check wether the "engine" code take a lot of the CPU or not... independently to Sprites and stuff management.
Quote
Technical specifications
  • CPU (http://en.wikipedia.org/wiki/Central_processing_unit): Custom 8-bit Sharp (http://en.wikipedia.org/wiki/Sharp_Corporation) LR35902[28] core at 4.19 MHz which is similar to an Intel 8080 (http://en.wikipedia.org/wiki/Intel_8080) in that all of the registers introduced in the Z80 (http://en.wikipedia.org/wiki/Zilog_Z80) are not present. However, some of the Z80's instruction set enhancements over the stock 8080, particularly bit manipulation, are present. Still other instructions are unique to this particular flavor of Z80 CPU. The core also contains integrated sound generation.[29]
  • RAM (http://en.wikipedia.org/wiki/Random-access_memory): 8 kB (http://en.wikipedia.org/wiki/Kilobyte) internal S-RAM[30] (can be extended up to 32 kB)[31]
  • Video RAM: 8 kB internal[31]
The CPU is not exactly a Z80.
Gotta have a look if some stuffs are not better on a Z80.
Also goota see if the "other unique instructions" are often used or not.

the CPU must really work lightly on Game boy "average game"...
Few actuall RAM, all ROM based and Hardware effect based.

Some stuff on Amstrad are totally non-existent on GameBoy.

Palettes and raster managements...
soft Sprites and stuffs.

also virtually 2x less VRAM used = 2x less scanlines interrupts and so on.

Gameboy runs as lightweight as a Speccy on the VRAM.


The CPU seems to handle most of the sound, so this can be quite different from an AY controlled by the Z80.

Title: Re: Gameboy Ports?
Post by: Bryce on 16:10, 13 September 11
The GB CPU is based on an 8080, but it has a few op-codes that the Z80 doesn't have and a few are missing that the Z80 has. As well as that, the op-codes are different in some circumstances, so you're going to have to do a "search and replace" on those too.

Gone:
The IX and IY registers are missing. There are no IN or OUT instructions, no exchange instructions and conditional jumps also don't exist in the form that they do in a Z80.

Added:
There are quite a few new LD commands (Load and increment, Load with address offset, etc), a STOP command (wait for button press) and a SWAP command (high/low nibble).

That's quite a bit of changing and checking to do before it will be even close to running on a Z80. A rewrite is probably much easier.

Bryce.
Title: Re: Gameboy Ports?
Post by: MaV on 16:24, 13 September 11
The only Gameboy game on the Amstrad that I'll accept will have its colours optimized for the green screen. :P
Title: Re: Gameboy Ports?
Post by: SuTeKH/Epyteor on 16:52, 13 September 11
Still bored with life... so still ***ing around!

Updated SML2 with two more tunes from the start of the game... thanks YouTube, thanks for nothing! Obviously, someone with more experience with the CPC sound chip can do a much better job with a 'real' version, if one is ever created.
Title: Re: Gameboy Ports?
Post by: EgoTrip on 18:11, 13 September 11
If your that bored, maybe in your next mockup you could have mario move around and interact with enemies and blocks and stuff.
Title: Re: Gameboy Ports?
Post by: MacDeath on 08:44, 14 September 11
Quote
The only Gameboy game on the Amstrad that I'll accept will have its colours optimized for the green screen.
Then every mode1 games on Monogreenscreen is somewhat GameBoy flavoured. :laugh:
Title: Re: Gameboy Ports?
Post by: MaV on 12:06, 14 September 11
Then every mode1 games on Monogreenscreen is somewhat GameBoy flavoured. :laugh:

Hehe!

Mainly Voice: "Gameboy? Yeah, I got one of those. But mine has a proper monitor." :D
Title: Re: Gameboy Ports?
Post by: dragon on 20:14, 19 September 11
o.K.If you search play a game boy games in the amstrad(other stupid sugerence XD).Maybe you need a game boy.

So the super game boy of supenes is a game boy without lcd  and buttons.(the snes is not powerful to emulate gameboy).

Maybe is posible create a interface amstrad->super gameboy?.

http://www.vilecha.com/Neo/images/SuperGameBoy.gif (http://www.vilecha.com/Neo/images/SuperGameBoy.gif)

The snes uses a special chip as interface with game boy:
http://www.dforce3000.de/pub/d4s_super_gameboy_notes.pdf (http://www.dforce3000.de/pub/d4s_super_gameboy_notes.pdf)