English Amiga Board


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 06 May 2024, 23:16   #1
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
[WIP] Galaga conversion

I've started this transcode 10 months ago now, after getting hold of a very good commented disassembly.

For some reason, other projects "got in the way", in the path of least resistance but I always wanted to return to that one. Mark ripped the graphics before disappearing, drowned in work & other personal stuff for now, so thanks to him.

Galaga uses 2 Z80 CPUs, which daunted me, but recently I found out that the second CPU is only active on IRQ (vblank) after bootup, so it wasn't so hard to simulate.

Also figured out a way to display letters without interfering with bobs/sprites and reused the starfield from my previous Galaxian port. Here's a short video showing the intro, no player ship, no alien attack, then it crashes


[ Show youtube player ]

note: this is not a mockup with 3 sprites changing each second using Scorpion this is the real arcade code running on amiga

Last edited by jotd; 07 May 2024 at 09:36.
jotd is offline  
Old 07 May 2024, 10:26   #2
DanyPPC
Registered User
 
Join Date: Dec 2016
Location: Italy
Posts: 765
Galaga is more compelling than Galaxian.

It shall be another arcade hit on Amiga
DanyPPC is offline  
Old 07 May 2024, 13:02   #3
Cris1997XX
Registered User
 
Join Date: Oct 2022
Location: Roma
Posts: 329
This is great news!! Hopefully it will be Bosconian next
Cris1997XX is offline  
Old 08 May 2024, 15:56   #4
Bren McGuire
Registered User
 
Bren McGuire's Avatar
 
Join Date: Nov 2019
Location: Croydon
Posts: 587
so much yes!
Bren McGuire is offline  
Old 10 May 2024, 02:50   #5
Marconelly
Registered User
 
Join Date: Feb 2024
Location: Canada
Posts: 32
What a great news! Might be my favorite old arcade of all time, and still love to play it whenever I have a chance. I am really curious how it will run on a regular A500 vs. the Galaxian. A long time ago I made a simple MAME recompile for old PocketPC devices where I tried to optimize settings game by game for some of the older games that could run well on it. Galaga was a pain, and would always run noticeably slower than Galaxian, Pacman or Frogger for example. I always assumed it was due to its 2xZ80 use, but never knew for sure, and seeing what jotd is saying, the reason might be something else entirely.
Marconelly is offline  
Old 10 May 2024, 06:13   #6
Pyromania
Moderator
 
Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,386
Nice news, thanx!!!
Pyromania is offline  
Old 10 May 2024, 09:25   #7
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
Quote:
Originally Posted by Marconelly View Post
What a great news! Might be my favorite old arcade of all time, and still love to play it whenever I have a chance. I am really curious how it will run on a regular A500 vs. the Galaxian. A long time ago I made a simple MAME recompile for old PocketPC devices where I tried to optimize settings game by game for some of the older games that could run well on it. Galaga was a pain, and would always run noticeably slower than Galaxian, Pacman or Frogger for example. I always assumed it was due to its 2xZ80 use, but never knew for sure, and seeing what jotd is saying, the reason might be something else entirely.
A good idea to optimize settings game by game! examples of optimizations?

Galaga is way more demanding than Galaxian

Galaxian: 1 Z80 + 1 custom sound CPU, 7 sprites max, a few pixel-like monochrome "sprites" for shots, scrollable tiles (that the swarm uses), colors are per line for tiles.

Galaga: 3 Z80s (!) (1 for sound), 64 sprites, no scrollable strips, colors are per-char for tiles (but no often used like this). The code looks a lot like Galaxian, but way more complicated.

You'll notice that the swarm in Galaga shrinks & expands permanently. It's way more dynamic than Galaxian. I think it will be 30 fps on A500 at best.
jotd is offline  
Old 10 May 2024, 11:54   #8
Toni Galvez
Registered User
 
Join Date: Jan 2015
Location: London/UK
Posts: 229
Quote:
Originally Posted by jotd View Post
A good idea to optimize settings game by game! examples of optimizations?

Galaga is way more demanding than Galaxian

Galaxian: 1 Z80 + 1 custom sound CPU, 7 sprites max, a few pixel-like monochrome "sprites" for shots, scrollable tiles (that the swarm uses), colors are per line for tiles.

Galaga: 3 Z80s (!) (1 for sound), 64 sprites, no scrollable strips, colors are per-char for tiles (but no often used like this). The code looks a lot like Galaxian, but way more complicated.

You'll notice that the swarm in Galaga shrinks & expands permanently. It's way more dynamic than Galaxian. I think it will be 30 fps on A500 at best.
Is it possible to use 30fps for the enemies, stars and other things and 60fps for the main ship?
Toni Galvez is offline  
Old 10 May 2024, 13:24   #9
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
hardware sprites can be 50Hz so yes. But you cannot mix refresh rates between bobs unless they can't get close to each other
jotd is offline  
Old 10 May 2024, 18:00   #10
Marconelly
Registered User
 
Join Date: Feb 2024
Location: Canada
Posts: 32
Quote:
Originally Posted by jotd View Post
A good idea to optimize settings game by game! examples of optimizations?
It's been more than 20 years I worked on that, so I really can't remember everything, but I think it was mostly three things:
- Find the best CPU downclock(s) for each game. I think in games like Galaga, it was possible to downclock each CPU to some degree, some more than the others, and this would usually work really well. The game may slow down a bit here and there because of this, but this was far better than have it constantly run at a snail's pace.
- If the CPU downlock alone wasn't enough, or wasn't possible, find a good frameskip option for a game.
- I think some games also needed sound emulation disabled, to reach acceptable performance.

I think for Galaga, I had to do all three of these things, plus I think I maybe needed to disable the background starfield as well - and also globally I used some older, outdated MAME source that was less accurate but faster. It was all very simple stuff, but at the time there were I think two other MAME projects for PocketPC, which just ran all games somewhat poorly, and doing these per-game settings made many games pretty playable, so I was happy with the result.

Quote:
Originally Posted by jotd View Post
Galaxian: 1 Z80 + 1 custom sound CPU, 7 sprites max, a few pixel-like monochrome "sprites" for shots, scrollable tiles (that the swarm uses), colors are per line for tiles.

Galaga: 3 Z80s (!) (1 for sound), 64 sprites, no scrollable strips, colors are per-char for tiles (but no often used like this). The code looks a lot like Galaxian, but way more complicated.

You'll notice that the swarm in Galaga shrinks & expands permanently. It's way more dynamic than Galaxian. I think it will be 30 fps on A500 at best.
I hope you can get it working. As Tony suggested above, if possible, it would be great if the player's ship could update at 50Hz to provide best responsiveness.

I just remembered, another example of Galaga being so much more demanding than other older classics: I have a few of those credit-card sized "Micro Arcade" games, which might be all based on ATMega32u4 CPU or NES-on-a-chip platform (no one seems to know for sure). While Dig Dug, Pacman and Frogger ones run really nice, Galaga Micro Arcade runs comically bad, probably at 15FPS if that.

Last edited by Marconelly; 10 May 2024 at 20:52.
Marconelly is offline  
Old 18 May 2024, 23:25   #11
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
Taking a break from Galaga right now. I spent a lot of hours try to make attack waves right, I thought it worked, but not quite, and I'm tired of that ATM.

The good news is that Amigos Retro Gaming did a 2h+ video of my ports with MAME comparison and all, and it started up the idea of a compilation of my games with an AGS menu for HD and/or CD32.

[ Show youtube player ]

I've zoned the .zip, create a HDF if you want but there are a lot of bugs ATM since I don't want to use whdload to start the games: I'd like to create a CD32 bootable disc out of this and the memory wouldn't fit.

As a result, a few games have a wrong start ATM, and a few others quit by freezing (with whdload, everything is perfect of course).

Amidar500: lockup on quit
Donkey Kong500: bplcon0 wrong value system setting it to A200...
Mrs Pacman500: lockup on quit
Pacman500: lockup on quit
Scramble500: lockup on quit
Tetris: won't start

But the others are working all right!

I'd be interested if someone provided a set of .iff files to go with the AGS menu!

Enjoy this in the meantime (in the zone).
jotd is offline  
Old 19 May 2024, 07:38   #12
DanyPPC
Registered User
 
Join Date: Dec 2016
Location: Italy
Posts: 765
Hello Jotd, here there are files (iff, txt, run) to use with AGS gui.

You must only modify the run file according to your games dir.

Many thanks for all the arcade you have released for Amiga
Attached Files
File Type: lha AGS_Jotd.lha (99.4 KB, 6 views)
DanyPPC is offline  
Old 19 May 2024, 09:19   #13
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
thanks. I'll have to rework those but at least that's a start!

re-zoned with scaled pics for AGS

Last edited by jotd; 19 May 2024 at 09:33.
jotd is offline  
Old 19 May 2024, 15:06   #14
DanyPPC
Registered User
 
Join Date: Dec 2016
Location: Italy
Posts: 765
Quote:
Originally Posted by jotd View Post
thanks. I'll have to rework those but at least that's a start!
I have redone the pics in 640 x 200 pixels resolution, (16/32 colors).

I didn't imagine you want to use widescreen menu for the next Arcade CD32 CD-Rom ISO, but I respected the aspect ratio, so the images are vertical cutted. But now they are better to see.
Attached Files
File Type: zip Jotd_Arcade.zip (120.4 KB, 3 views)
DanyPPC is offline  
Old 19 May 2024, 15:08   #15
DanyPPC
Registered User
 
Join Date: Dec 2016
Location: Italy
Posts: 765
In the meanwhile I want try to compile the the ISO to test on WinUAE CD32 emulation.

Tried to create a standard CD32 iso with AGS menu, but every game I want to play returns a "failure 20" error.
Tried to use CDTV trademark, tried to use jst to execute a game but no way.
Perhaps games are crunched and require a decruncher in the Startup-Sequence to be properly executed.

Last edited by DanyPPC; 19 May 2024 at 15:49.
DanyPPC is offline  
Old 19 May 2024, 16:22   #16
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
Ah, I think I know why.

Cranker & CD32 setup doesn't work well, I had the same issue when I tried to CD32 Tinyus.

No worries, I'll use a non-packed version of the games next time (those versions can be found in the .lha whdload individual archives BTW)
jotd is offline  
Old 19 May 2024, 17:45   #17
DanyPPC
Registered User
 
Join Date: Dec 2016
Location: Italy
Posts: 765
Ok, I used EXEs from adf/whdload, sometime Run500 is needed for graphic corruption (example Amidar, Mrs Pacman, Donkey Kong).

I don't know if I can post here the ISO image.
DanyPPC is offline  
Old 19 May 2024, 18:59   #18
Seiya
Registered User
 
Seiya's Avatar
 
Join Date: Nov 2014
Location: Italy
Posts: 2,390
So these games are in reality whdload that run direcly from CD?
Seiya is offline  
Old 19 May 2024, 19:05   #19
DanyPPC
Registered User
 
Join Date: Dec 2016
Location: Italy
Posts: 765
Quote:
Originally Posted by Seiya View Post
So these games are in reality whdload that run direcly from CD?
Not, these are simple executable amigados games.

WHDLoad would require more than 2MB ram.
DanyPPC is offline  
Old 19 May 2024, 19:22   #20
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
I tested DanyPPC ISO image and some games run from CD32 config. Will need some more work to get 100% running (because not using whdload + vanilla machine is more difficult), but we'll get there. The games run better from floppy than on CD, strangely.

Something I noticed several times: cranker creates executables that fail with "error 20" when run from CD32. No issues from floppy. I know it uses asyncio to load & unpack at the same time, but IIRC even when running from RAM: it fails on CD32...

Maybe wait a while before wasting a CD to test on your real machine

Makes me think that CD32load could be nice to make sure all games run, even if it would kill the quit option for the games which work...
jotd is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
[WIP] Phoenix conversion jotd project.Amiga Game Factory 122 13 May 2024 01:59
[WIP] Tetris conversion jotd project.Amiga Game Factory 160 08 May 2024 22:38
[WIP] Frogger conversion JoeJoe project.Amiga Game Factory 99 24 December 2023 13:11
[WIP] Galaxian conversion jotd project.Amiga Game Factory 107 16 July 2023 19:37
[WIP] Pengo conversion jotd project.Amiga Game Factory 95 14 July 2023 17:16

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 20:19.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09590 seconds with 16 queries