News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Converting a game to ROM - and LOTS of ROM files inside!

Started by FRAGKI-2012, 00:30, 28 March 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bryce

No, I can understand that certain ROMs need to initialise after the DOS has, but these were ROMs that would work in slot 12, but not in slot 18 for example. For no obvious reason.

Bryce.

TFM

You will have the same problem when using Firmware 3.12 instead of the Booster.




These ROMs check their number, and refuse to work if the number is too high ITO.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Bryce

Really? What's the point? Why would it care about being too high if it could be above the DOS?

Bryce.

redbox

Quote from: TFM on 21:42, 18 October 13
Which is a nice piece of code, but still not understand by everybody bitching at it without reason.

It's not a nice piece of code, it's bugged. It uses RAM it shouldn't, doesn't patch the kernel properly and messes with the ROM initialising by forcing the CPC to initialise twice.

And I did 'debug' it by working out that the only way to do it properly (after studying it's code) was to patch the actual OS.  I also corrected a similar bug in Firmware 3.1 (hence the 3.12 version).

00WReX

Not wanting to get into any arguments, but "Utopia" is a commercial ROM (I believe) that struggles with the Booster ROM enabled.
For starters it cannot read any ROMS (other than 0) with Booster ROM enabled.


|help from utopia usually lists all ROM's, and with the ROM number will list all ROM RSX's (|help,3 for example).
This does not work with the Booster ROM inplace.


I don't know about how buggy Booster is, but that is something I have observed.
For all I know it could be the Utopia ROM that has a bug (or poorly implementing some code).


Cheers,
Shane
The CPC in Australia...
Awa - CPCWiki

tastefulmrship

#255
Quote from: mr_lou on 13:06, 18 October 13
Also, can someone fix Spindizzy so that ROM 2 doesn't clear the screen in the ROM flasher manager? Apparently a character has been used in the name, that clears the screen.
Not being familiar with the ROM Flash Manager, but being someone of infinitely random luck when it comes to fault identification; I would assume that the Manager is looking for bit 7 set to denote the end of the ROM name... and because our build of ROMs 2 or 3 (as appropriate) is built with a name that doesn't end with bit 7 set (and defined as a background ROM), is it blindly PRINTing out characters from the actual ROM data. It just happens we've just been pretty lucky that the first few data bytes have been over &80 and so not PRINTing random characters when interrogated by this application?

Am I even close?





Oh, and is there an easy way to determine the BASIC type in assembler? ie 1.0 or 1.1

I ask this because the HUNCHBACK II cracked-loader has a patch that fixes a 6128 fault where the game is unplayable. The patch checks address &AE45 and if it's bigger than 0 it patches the game. As below;
10 MODE 1:BORDER 0:INK 0,0:INK 1,20:CLEAR:RESTORE:MEMORY 5999
20 LOAD"HUNCH2.bin":IF PEEK(&AE45)>0 THEN GOSUB 1000
30 LOCATE 10,2:PRINT"H U N C H B A C K   I I":LOCATE 10,3:PRINT"-----------------------
40 LOCATE 10,11:PRINT"1 > Partie normale
50 LOCATE 10,13:PRINT"2 > Vies infinies
60 LOCATE 18,20:PRINT"Votre choix ?
70 A$=INKEY$:IF A$="" THEN 70
80 IF A$="1" THEN GOTO 110
90 IF A$="2" THEN POKE 34038,0:GOTO 110
100 GOTO 70
110 CALL 17000
1000 FOR f=1 TO 22:READ a,b$:POKE a,VAL("&"+b$):POKE a+1,&B6:NEXT f:FOR f=1 TO 6:READ a,b$:POKE a,VAL("&"+b$):NEXT:RETURN
1010 DATA 17216,49,17339,51,17352,50,17368,4a,17381,49,17389,4b,17592,51,17598,4e,17619,4f,17627,52,17637,4f,17683,52,17945,49,17955,49
1020 DATA 20140,49,34411,52,34417,52,34423,52,34429,52,34435,52,34441,4e,34447,51
1030 DATA 20161,41,20172,41,20187,41,20219,bf,20220,b8,20240,4a


I haven't managed to get that patch to work unless it's RUN manually (ie just GOSUB 1000 without the IF...THEN).

I did think of interrogating ROM slot #00 to see which it is (looking for a .0 or a .1), but how would that work for PLUS machines?
Any ideas, sirs?

EDIT: I have just noticed that CPCPower has this game as a BASIC1.0 only game, but the crack-loader patch DOES work for 1.1 when RUN manually... I just need it to work automatically, as it were! ^_^

EDIT: Ok, I've interrogated ROM slot 0 and determined which BASIC is which and I have tested the ROM with numerous configurations in WinAPE. Can someone check that it even RUNs on a real hardware? |HUNCHBACK2 should give you your (my) answer. Ta!





EDIT: Having a quick look at SULTAN'S MAZE (100% BASIC game) and getting that to work from ROM. Now, I can get it to work if I dump the entire contents of the program to &0170 and use the BASIC-From-ASSEM code to RUN it, however when I Exomize it (from 14k to 32k) to &0170 and use the same RUN code, it doesn't work (comes up with a "Syntax Error" message, if you then type "RUN" it works). Obviously, Exomizer is doing something that BASIC doesn't like (and yes, I've "backed-up" the alternate registers before CALLing deexo). Anyone got any ideas of how to sort this? (the simple solution is NOT to compress BASIC programs, I know, but ROM space is critical if we're going to have so many games installed at once!)

EDIT: Both .asm files are attached below if someone wants to see if they can fix it for me (use CALL &A000 for both programs)! Ta! ^_^

mr_lou


tastefulmrship

Quote from: mr_lou on 15:55, 19 October 13
Suggestion for game to convert to ROM: Kane

:)
|KANE, but it doesn't work with anything; from WinAPE to real hardware. It's almost not even worth downloading. Infact, you're lucky I was bored, otherwise I'd not have spent the 26 minutes converting it to non-working ROMs. Anyway, it's attached for prosperity. Don't download it.

EDIT: Oh yeah, if you do decide to see if it works, you might want to press ANY KEY at the title screen to continue to the game. Or, you might not.

TFM

Quote from: Bryce on 21:51, 18 October 13
Really? What's the point? Why would it care about being too high if it could be above the DOS?

Bryce.


Ok, a DOS replacement does patch the TAPE vectors the same way AMSDOS patches it. So ... if an advanced DOS has a higher number than AMSDOS, then the AMSDOS would patch the patch of the advanced DOS, so it wouldn't work.


Consider that ROMs get initialized with the highest ROM select first and 0 at the end. So the smaller a ROM number is, the late it get's initialized. And an expanded DOS needs therefore a smaller number than Amsdos.


Other companies (for reasons unknown to me) don't like their ROMs to run outside of an area of certain ROM numbers.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

Quote from: 00WReX on 03:01, 19 October 13
Not wanting to get into any arguments, but "Utopia" is a commercial ROM (I believe) that struggles with the Booster ROM enabled.


That's right. Utopia has problems with a lot of other ROMs.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Bryce

Quote from: TFM on 20:06, 19 October 13

Ok, a DOS replacement does patch the TAPE vectors the same way AMSDOS patches it. So ... if an advanced DOS has a higher number than AMSDOS, then the AMSDOS would patch the patch of the advanced DOS, so it wouldn't work.


Consider that ROMs get initialized with the highest ROM select first and 0 at the end. So the smaller a ROM number is, the late it get's initialized. And an expanded DOS needs therefore a smaller number than Amsdos.


Other companies (for reasons unknown to me) don't like their ROMs to run outside of an area of certain ROM numbers.

I know that. But that's not what I'm talking about. I'm talking about ROMs that will work in position 8 to 15 (ie: above AMSDOS) but won't work above 16 using the booster ROM.

Bryce.

Devilmarkus

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

TFM

Quote from: Bryce on 20:23, 19 October 13
I know that. But that's not what I'm talking about. I'm talking about ROMs that will work in position 8 to 15 (ie: above AMSDOS) but won't work above 16 using the booster ROM.

Bryce.


One reason is usually, that they reserve a bigger amount of RAM, so the DOS RAM gets pushed too much down, this in turn affects other ROMs negatively.


Why don't you play a bit around and use a !HELP command which shows you the RAM address of the ROM? Then you see what I mean.


Actually I never told that there is a problem with the Booster.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

Quote from: Devilmarkus on 21:47, 19 October 13
Here's Kane:

|KANE to start




Excellent work!!!  :)  These ROMs just work fine at all positions. Well done!!!  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Devilmarkus

Cauldron 1+2 (Compacted by CNGSoft)

|CAULDRON for Cauldron 1
|CAULDRON2 for Cauldron 2

Press space when title screen shows up


When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Devilmarkus

#265
For the Amstrad CPC 464 only!!!!

Kaiser (German and English)

|KAISER to start...

Edit: Little bug: The final scene doesnt work (When you become Kaiser) in rest works fine.

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Gryzor

Damn. I go away for a few days and a whole slew of new ROMs and updates is out there! Need. More. ROM. slots.

Urusergi

Quote from: tastefulmrship on 06:52, 19 October 13EDIT: Having a quick look at SULTAN'S MAZE (100% BASIC game) and getting that to work from ROM. Now, I can get it to work if I dump the entire contents of the program to &0170 and use the BASIC-From-ASSEM code to RUN it, however when I Exomize it (from 14k to 32k) to &0170 and use the same RUN code, it doesn't work (comes up with a "Syntax Error" message, if you then type "RUN" it works). Obviously, Exomizer is doing something that BASIC doesn't like (and yes, I've "backed-up" the alternate registers before CALLing deexo). Anyone got any ideas of how to sort this? (the simple solution is NOT to compress BASIC programs, I know, but ROM space is critical if we're going to have so many games installed at once!)

Basic programs always begin at &170 but I think you must also preserve the area &40 - &16F
Maybe that's the problem


EDIT2:  :D Yes! I found the bug. The program is one byte longer: &7DEF=&50 and the program must end with three "00"
Solution is:
.length        defw    &7C7E

Un saludo.

tastefulmrship

Thanks to Urusergi, here's |SULTANSMAZE on ROM (tested with 464 & 6128 ROMs on WinAPE). Now, any game is possible without having to use an application.
That's the true spirit of community; it's a shame certain people still hold onto their self-importance. Ah well, their loss!

robcfg

Absolutely great job!


May I ask, if it would be possible to convert to rom a game like Topo soft's Spirits? I'd love to have that on my megaflash  8)

Urusergi

Quote from: tastefulmrship on 05:20, 22 October 13
Thanks to Urusergi, here's |SULTANSMAZE on ROM (tested with 464 & 6128 ROMs on WinAPE). Now, any game is possible without having to use an application.
That's the true spirit of community; it's a shame certain people still hold onto their self-importance. Ah well, their loss!

:-[ Thanks to you! for your incredible work.

¿Where can I download the cracked version of HUNCHBACK II that you used it?

Ah! and sorry for my english  :'( I promise to learn more and more. I'm currently following the TVE English
course  :D

TFM

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

tastefulmrship

Quote from: Urusergi on 14:52, 22 October 13
¿Where can I download the cracked version of HUNCHBACK II that you used it?
I do not know where I downloaded it from, but it is attached here.
The 6128 patch does not work, so play it on a 464.

Urusergi

Thanks to both of you  :)

Quote from: tastefulmrship on 18:23, 22 October 13
The 6128 patch does not work, so play it on a 464.

For this reason I needed the file, I'm also intrigued with the fact that  it doesn't work.

Devilmarkus

Hunchback 2, patched for CPC 6128:

|HUNCHBACK2 to launch
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Powered by SMFPacks Menu Editor Mod