Author Topic: Converting a game to ROM - and LOTS of ROM files inside!  (Read 114659 times)

0 Members and 1 Guest are viewing this topic.

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 3.066
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 1228
  • Likes Given: 2467
Re: how to convert a dsk image to rom???
« Reply #150 on: 22:40, 25 September 13 »
Well, I AM now unemployed... (for four days)... so I have plenty of time to go through most of 1984 and the beginning of 1985.

Sorry to hear you lost your job.
My offer for the 2 euro pr. game still stands (for the games I request - not for all games you convert).
I've lost overview though. But I think you basically converted all except 2 or 3 from my list, of the ones I have so far. And it's great!  :)
Just PM me your paypal address - and then convert more for me.  :D

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 3.066
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 1228
  • Likes Given: 2467
Re: how to convert a dsk image to rom???
« Reply #151 on: 23:14, 25 September 13 »
Small overview I just tried to put together.

My wish-list
Dead on Time
Radzone
Spindizzy
Who Dares Wins II
Fruity Frank - done by ralferoo
Astro Attack - done by tastefulmrship
Donkey Kong - done by tastefulmrship
Killer Gorilla - done by tastefulmrship
Thrust - done by tastefulmrship
Tempest - done by tastefulmrship
Boulder Dash - done by tastefulmrship
Westbank - Done by MiguelSky


Later suggestions
Don't Panic
Zorro
Wriggler (Romantic Robot)
Collapse
Super Sleuth
Nuclear Heist
Street Machine
Atlantis
5th Axis
Frostbyte
Kungfu Master
Light Force
Star firebirds - done by Axelay
Gauntlet - done by tastefulmrship
Bruce Lee - done by tastefulmrship
Gilligans Gold - done by tastefulmrship
Tapper - done by tastefulmrship


Not requested by me
Hunchback - done by tastefulmrship
Defend or Die - done by arnoldemu
Manic Miner - done by tastefulmrship
Mutant Monty - done by tastefulmrship
Space Mania - done by tastefulmrship
Roland goes Digging - done by tastefulmrship
Classic Invaders - done by tastefulmrship
Trashman - done by tastefulmrship
Punchy - done by tastefulmrship
Lab Escape - done by tastefulmrship
Home Runner - done by tastefulmrship
Knightlore - done by MiguelSky
Ghouls - done by tastefulmrship
Anarchy - done by Axelay
Classic Muncher - done by TFM
Classic Axiens - done by TFM



Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.352
  • Country: 00
  • Liked: 1277
  • Likes Given: 2019
Re: how to convert a dsk image to rom???
« Reply #152 on: 23:59, 25 September 13 »
Sorry to hear you lost your job.
I wouldn't worry too much about my current plight; I start my new job at 08:00 on Monday morning. It's really not a problem!

Anyway, have a quick game of |FIREANT to keep you amused. (I'm not sure this one's 100% perfect, it loads between 0200 and AB18 which is well into ROM territory and I'm not sure the compression routine captured everything. Any issues with it, then please delete it from any records)




EDIT: As a general response to your large list of games above; all of the games I personally haven't done won't fit on 1 ROM, so I'd prefer to get the 1 ROM games done first, then look into multi-ROMs later.

EDIT: And, in response to TFM's suggestion of using SOFTBRENNER to create 2 ROMs; I'd personally prefer to do it myself in assembler (thanks to arnoldemu), so I can have a vague understanding of what it's doing and why.

EDIT: Ok, vision is a little impaired... will HOUSE OF |USHER work on your emulator/real hardware? I really don't fecking know! It's a lottery! Good luck!

EDIT: Seeing as I did a ROM version SPACE MANIA, here's the retail original... KARL'S TREASURE HUNT. |KARLS runs this one. Hopefully!

EDIT: I think I'm gonna be sick... no... it's just gas! Panic over! Ok, here's KONG STRIKES BACK! |KONGBACK runs this little beauty. Nice mixed MODE and rasters in this 1985 classic!
« Last Edit: 01:52, 26 September 13 by tastefulmrship »

Offline ralferoo

  • Supporter
  • 6128 Plus
  • *
  • Posts: 969
  • Country: gb
  • Liked: 583
  • Likes Given: 222
Re: how to convert a dsk image to rom???
« Reply #153 on: 00:10, 26 September 13 »
FWIW, this recent spate of conversions is making me contemplating whether the 512KB flash ROM on my FPGA board (enough for 32 ROMs) is enough - I might look at the 4MB flash ROM instead which would support 256 ROMs.  ;D

EDIT: yes, I know the CPC only supports 252 expansion ROMs, but 256 would let me have the firmware and BASIC ROMs also in the chip, with some for "spare".
 
« Last Edit: 00:13, 26 September 13 by ralferoo »

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 3.066
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 1228
  • Likes Given: 2467
Re: how to convert a dsk image to rom???
« Reply #154 on: 09:29, 26 September 13 »
As a general response to your large list of games above; all of the games I personally haven't done won't fit on 1 ROM, so I'd prefer to get the 1 ROM games done first, then look into multi-ROMs later.

I have no idea or even a sense of how many ROM files whatever game require. I just list interesting titles.  :)

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.352
  • Country: 00
  • Liked: 1277
  • Likes Given: 2019
Re: how to convert a dsk image to rom???
« Reply #155 on: 10:51, 26 September 13 »
I have no idea or even a sense of how many ROM files whatever game require. I just list interesting titles.  :)
That's fair enough.



Ok, going through that list again, I'll see which ones are possible in 1 ROM and get them done before I continue with my 1984 titles.

|ATLANTIS is first. (Never played this game back in the day, but it's a real corker! I love it)
DON'T |PANIC is the other one I can do from that list (all the others are over 16K packed... except for NUCLEAR HEIST, which is BASIC & M/Code)
« Last Edit: 11:44, 26 September 13 by tastefulmrship »

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.614
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4159
  • Likes Given: 433
Re: how to convert a dsk image to rom???
« Reply #156 on: 12:41, 26 September 13 »
Ok, all uploaded again! Current count: 40 Games, 46 ROMs.

Link: ROM List - CPCWiki

Bryce.

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.352
  • Country: 00
  • Liked: 1277
  • Likes Given: 2019
Re: how to convert a dsk image to rom???
« Reply #157 on: 12:45, 26 September 13 »
Ok, all uploaded again! Current count: 40 Games, 46 ROMs.

Link: ROM List - CPCWiki
Just for completeness; I didn't convert ANARCHY. I wish I had, though, 'cos I love that game. The music is great (as are all of JDR's tunes)

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.614
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4159
  • Likes Given: 433
Re: how to convert a dsk image to rom???
« Reply #158 on: 12:48, 26 September 13 »
Oh, ok. who converted it?

Bryce.

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 3.066
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 1228
  • Likes Given: 2467
Re: how to convert a dsk image to rom???
« Reply #159 on: 13:03, 26 September 13 »
Axelay converted Anarchy (as listed in the top post of this page)

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.352
  • Country: 00
  • Liked: 1277
  • Likes Given: 2019
Re: how to convert a dsk image to rom???
« Reply #160 on: 13:53, 26 September 13 »
QUICK (related) QUESTION: (I'm converting the Centipede clone, WRIGGLER by Blaby)


How do you create a repeated ENT command in assembly? (I already know it's Firmware CALL &BCBF)

For example; this ENT command
Code: [Select]
10 ENT -1,10,10,1,10,-10,1
20 SOUND 1,10,100,15,,1

sounds infinitely better than this ENT command
Code: [Select]
10 ENT 1,10,10,1,10,-10,1
20 SOUND 1,10,100,15,,1

However, I cannot seem to create a repeated ENT command in assembly. The game itself uses a lot of them to create the SFX.
Here's an example of the code I'm using;
Code: [Select]
        ld    b,0
        ld    hl,ENTStart
.ENTLoop    ld    a,(hl)
        inc    hl
        ld    c,(hl)
        push    bc
        inc    hl
        push    af
        push    hl
        call    &bcbf
        pop    hl
        pop    af
        pop    bc
        add    hl,bc
        inc    a
        cp    &0b
        jr    nz,ENTLoop
        ret

.ENTStart    defb    1,04
        defb    1,5,40,1
        defb        02,04
        defb    1,50,-1,10
        defb    3,07
        defb    2,3,-2,2,3,2,2
        defb    4,13
        defb    4,3,-2,2,3,2,2,10,-2,2,3,2,2
        defb        05,07
        defb    2,4,-8,1,5,1,20
        defb    6,13
        defb    4,2,-2,2,2,5,2,2,-2,2,2,2,2
        defb    7,13
        defb    4,10,-2,1,5,2,1,10,-3,1,5,3,1
        defb        08,04
        defb    1,100,-50,1
        defb    9,07
        defb    2,6,-5,1,15,5,1
        defb    10,07
        defb    2,1,-20,6,1,20,6

The data lines that are "pushed in" (and have a leading 0) are the standard ENT n commands without the minus sign.
I can't see how to define it as repeated in the Firmware manual. !!HELP!!




EDIT: ELECTRO |FREDDY... while you wait!
« Last Edit: 14:38, 26 September 13 by tastefulmrship »

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.335
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2264
  • Likes Given: 3478
Re: how to convert a dsk image to rom???
« Reply #161 on: 15:01, 26 September 13 »
How do you create a repeated ENT command in assembly? (I already know it's Firmware CALL &BCBF)
Not sure, but you could test it from basic, assemble to &4000, then call &4000.

basic dissassemly seems to indicate you set bit 7 of the "number of parts" (C in your code).

Your code confuses me.

So the env, you pass the number in A, then HL points to the data.
first byte is number of "parts". Each part is then 3 bytes each.

Is this how you have setup your data?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline ralferoo

  • Supporter
  • 6128 Plus
  • *
  • Posts: 969
  • Country: gb
  • Liked: 583
  • Likes Given: 222
Re: how to convert a dsk image to rom???
« Reply #162 on: 15:07, 26 September 13 »
QUICK (related) QUESTION: (I'm converting the Centipede clone, WRIGGLER by Blaby)

How do you create a repeated ENT command in assembly? (I already know it's Firmware CALL &BCBF)
I had to learn this when I was converting Fruity Frank. Add &80 to the 1st byte (which is number of sections).

Also, you'll discover that you can't use any area that's covered by either ROM, so you need to copy the data to middle RAM first. You can look at my fruity frank source if you like...

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.352
  • Country: 00
  • Liked: 1277
  • Likes Given: 2019
Re: how to convert a dsk image to rom???
« Reply #163 on: 15:19, 26 September 13 »
I had to learn this when I was converting Fruity Frank. Add &80 to the 1st byte (which is number of sections).
Ah! I was trying to add &80 to the ENT number... I didn't even think of doing it to the sections byte! Nice one!

Your code confuses me.
Yeah, welcome to my "coding" style! (sorry; it's always such a mess... but somehow it usually works!)

I was trying to add &80 to the ENT number... as well as using negative numbers (#FE, #FD etc) to see if it repeated the tone.
The first number is the ENT number, the second is the amount to increase HL to get to the next ENT section (as #BCBF adds 16 to HL on return), then the data block underneath.

It'll be a lot easily now that I know just to change the sections number, so that first number is redundant!




EDIT: |WRIGGLER by Blaby Software. I didn't realise it had a title screen and demo mode; quite a lot fit into 24k.
EDIT: |CHOPPER SQUAD by Interceptor Software. Never really liked it, but I did own it, so it gets added to the collection.
« Last Edit: 16:30, 26 September 13 by tastefulmrship »

Offline Axelay

  • 6128 Plus
  • ******
  • Posts: 577
  • Country: au
  • Liked: 371
  • Likes Given: 85
Re: how to convert a dsk image to rom???
« Reply #164 on: 17:08, 26 September 13 »
My wish-list
Dead on Time


I havent done anything with Dead on Time yet as it's a two ROM job.  I havent had time yet to work out how I'm going to handle the aspect of how the first ROM will find the second.


On the other hand, |FROSTBYTE does fit into one ROM!


Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: how to convert a dsk image to rom???
« Reply #165 on: 17:39, 26 September 13 »
I havent done anything with Dead on Time yet as it's a two ROM job.  I havent had time yet to work out how I'm going to handle the aspect of how the first ROM will find the second.

I don't understand why the principle of two, three or even more ROMs should be tricky.

I was thinking that you have a 'normal' first ROM with RSXs etc and then just mark the second, third ROMs etc as background ROMs (i.e. start them with a 2).  The system then ignores these ROMs on boot.

You then copy a routine into RAM from the first ROM that does a ROM walk (from 31 to 0) looking for your background ROMs, i.e. starting with a 2 and then a custom string you can search for.

For example, a header for the ROMs would just need to be:

Code: [Select]
org    &c000

defb    2                        ; background ROM
defb    "Dead on Time ROM 2"     ; custom string

; rest of ROM data

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.352
  • Country: 00
  • Liked: 1277
  • Likes Given: 2019
Re: how to convert a dsk image to rom???
« Reply #166 on: 17:44, 26 September 13 »
On the other hand, |FROSTBYTE does fit into one ROM!
Was that using Exomizer? It didn't fit using BITBuster.


|BLAGGER, however, does! ^_^




EDIT: I spy a programmer war below... I think I'll dump ROLAND |AHOY here instead of interrupting their "discussion". ^_^
EDIT: Ok, still quiet on the Western Front, but I ain't taking no chances! |SQUAREBASH starts ROLAND GOES SQUARE BASHING.
EDIT: Another Roland classic... FRED or ROLAND ON THE |ROPES, depending on where you come from! Anyway, it's still a corker!
EDIT: Wow, this one was really difficult to convert. Two LDIRs and a JP later and |SPANNERMAN is a goer!
« Last Edit: 19:27, 26 September 13 by tastefulmrship »

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 3.066
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 1228
  • Likes Given: 2467
Re: how to convert a dsk image to rom???
« Reply #167 on: 17:54, 26 September 13 »
It becomes more and more apparent that Bryce will need to invent the Super Mega Monster Flash, with room for 252 flashable ROMs.  :)

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.335
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2264
  • Likes Given: 3478
Re: how to convert a dsk image to rom???
« Reply #168 on: 17:58, 26 September 13 »
Why? Use

kl_side_pchl equ &0013

call it from your main rom, with a value between 0 and 3 in the top 2 bits. It automatically calls the appropiate rom based on the current rom number. You don't even need to know which rom number your main rom is.
It does require that all other roms are inserted side by side and are marked as extension roms.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: how to convert a dsk image to rom???
« Reply #169 on: 18:04, 26 September 13 »
It does require that all other roms are inserted side by side and are marked as extension roms.

Exactly, and being side by side is a problem because you're restricted to slots 0-16 (and even worse 0-7 on the 464).

Where as using my method you could have one 'launcher' ROM containing all the RSXs, decompression routines etc in a normal slot and then all the game ROMs etc anywhere you like (and up to slot 31) without patching the OS or anything.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1979
  • Likes Given: 4650
Re: how to convert a dsk image to rom???
« Reply #170 on: 19:14, 26 September 13 »

I havent done anything with Dead on Time yet as it's a two ROM job.  I havent had time yet to work out how I'm going to handle the aspect of how the first ROM will find the second.



Compress it to less then 32 KB, then use Softbrenner, it handles two ROMs.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Axelay

  • 6128 Plus
  • ******
  • Posts: 577
  • Country: au
  • Liked: 371
  • Likes Given: 85
Re: how to convert a dsk image to rom???
« Reply #171 on: 19:20, 26 September 13 »
Was that using Exomizer? It didn't fit using BITBuster.



Yep, Exomizer.  I always go with Exomizer first, and have only used Bitbuster the once with Super EG, since Exomizer took longer to decompress that than it did to load uncompressed!  :laugh:


I don't understand why the principle of two, three or even more ROMs should be tricky.

 


Oh, I was not suggesting it was tricky.  I was saying I've only just barely read up enough on ROM handling to manage the 16K ROM compo!   :) 

 



Compress it to less then 32 KB, then use Softbrenner, it handles two ROMs.
 


I think tastefulmrship has already said much the same thing, but I expect it's straight forward to do, I just need to read up on the details, so I dont want to use a tool to do it for me.

Offline ralferoo

  • Supporter
  • 6128 Plus
  • *
  • Posts: 969
  • Country: gb
  • Liked: 583
  • Likes Given: 222
Re: how to convert a dsk image to rom???
« Reply #172 on: 20:58, 26 September 13 »
I was thinking that you have a 'normal' first ROM with RSXs etc and then just mark the second, third ROMs etc as background ROMs (i.e. start them with a 2).  The system then ignores these ROMs on boot.

You then copy a routine into RAM from the first ROM that does a ROM walk (from 31 to 0) looking for your background ROMs, i.e. starting with a 2 and then a custom string you can search for.
Yes, definitely a good idea. It'd be nice to keep going beyond 32 ROMs though, just in case people have bigger ROM boards...

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.352
  • Country: 00
  • Liked: 1277
  • Likes Given: 2019
Re: how to convert a dsk image to rom???
« Reply #173 on: 22:52, 26 September 13 »
Next batch of ROMs...
(I can't be arsed creating lots of posts for this stuff... I'm just gonna fill this one instead!)


EDIT: Although it's nice to have my name against the ROMs done in the ROM List on CPCWiki, but wouldn't it be a better idea to have the bar command in the comments field, instead? Some of them are not easy to work out & none of them have an initialisation message.




1. |AHHH by CRL.
« Last Edit: 09:47, 27 September 13 by tastefulmrship »

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.614
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4159
  • Likes Given: 433
Re: how to convert a dsk image to rom???
« Reply #174 on: 10:58, 27 September 13 »
Once again, all available on the ROM List page :)

Bryce - Tastefulmrships official Wiki uploader.