"Weird ROMs" launching

Page 5/14
1 | 2 | 3 | 4 | | 6 | 7 | 8 | 9 | 10

By Guillian

Prophet (3232)

Guillian's picture

21-01-2016, 13:08

Here we go again Smile

Quote:

3/ If your Rom is placed on bank 0 and 1. It call at 4015h into second bank of you ROM. Here is C3 52 41. This jump on herself. This configuration is the only one that can work on real cartridge but any rom is use this configuration.

The ROM I made is using that configuration, so there is at least one ROM using that configuration Smile
Also, your explanation is not right. When the ROM is on pages 0 and 1, the boot address is #4010. At #4010 there is a rutine that waits for a key, beeps and loops.

Quote:

Until today I am right my method can execute all Roms. It is based only on header and file size.
Someday if a person wants do a Rom not supported by loaders I advise a other method more efficient like the method used for "INK - Exxon Surfing" because otherwise a simple update will do work the Rom.

If you need updates, patches or any other trick, means what I'm trying to explain: it is not possible to be 100% sure about where the ROM is located, mirrored or other hardware related features without information of the real hardware.
INK is an example. It is not a MegaROM, but can't work as a "normal" non MegaROM.
There are other ROMs, like Sofia, Cross Blaim, Super Bros. World, Super Bio Man, etc. They are non MegaROMs but they use mapper. So if you only check the ROM size, they will fail.

So, again, the point is: can you be 100% sure about how a ROM works without information of the real hardware? No.

By gdx

Prophet (3084)

gdx's picture

21-01-2016, 14:41

Guillian wrote:
Quote:

3/ If your Rom is placed on bank 0 and 1. It call at 4015h into second bank of you ROM. Here is C3 52 41. This jump on herself. This configuration is the only one that can work on real cartridge but any rom is use this configuration.

The ROM I made is using that configuration, so there is at least one ROM using that configuration Smile
Also, your explanation is not right. When the ROM is on pages 0 and 1, the boot address is #4010. At #4010 there is a rutine that waits for a key, beeps and loops.

I checked again:
The fisrt header is:
0000h: 41 42 52 41 43 41 44 41 42 52 41 20 50 41 54 41
It select well the slot of the ROM on bank 1 and call 4152h.
So at 4152h:
4150h: 00 00 C3 52 41 57 68 61 74 21 3F 00 00 00 00 00

I was not wrong. Wink

Guillian wrote:

If you need updates, patches or any other trick, means what I'm trying to explain: it is not possible to be 100% sure about where the ROM is located, mirrored or other hardware related features without information of the real hardware.
INK is an example. It is not a MegaROM, but can't work as a "normal" non MegaROM.
There are other ROMs, like Sofia, Cross Blaim, Super Bros. World, Super Bio Man, etc. They are non MegaROMs but they use mapper. So if you only check the ROM size, they will fail.

So, again, the point is: can you be 100% sure about how a ROM works without information of the real hardware? No.

I affirm that the method can execute all existing Roms, but not those that might exist in the future. Wink

By Guillian

Prophet (3232)

Guillian's picture

21-01-2016, 15:16

gdx wrote:

I checked again:
The fisrt header is:
0000h: 41 42 52 41 43 41 44 41 42 52 41 20 50 41 54 41
It select well the slot of the ROM on bank 1 and call 4152h.
So at 4152h:
4150h: 00 00 C3 52 41 57 68 61 74 21 3F 00 00 00 00 00

I was not wrong. Wink

I'm sorry, but you are wrong again.

gdx wrote:

3/ If your Rom is placed on bank 0 and 1. It call at 4015h into second bank of you ROM. Here is C3 52 41. This jump on herself. This configuration is the only one that can work on real cartridge but any rom is use this configuration.

If the ROM is placed at page 0 and 1, the first header is not checked. BIOS only searchs for ROMs headers at pages 1 and 2 as I explained in previous posts. You said that was not true, but it is. Just have a look a BIOS.

So, if first header is ignored by BIOS, the second header at #4000 is the real one:
#4000 41 42 10 40 00 00...
#4010 CD 9F 00 CD C0 00 C3 10 40

Quote:

I affirm that the method can execute all existing Roms, but not those that might exist in the future.

My ROM exists now and your method can't execute it. Wink
But again, the point is not what ROMs your fantastic loader can execute. The point is that you can NOT get enough information from a ROM to be 100% sure where it is located, if it is mirrored, or any other feature that depends on the hardware design. I feel I'm repeating myself in every post.

By gdx

Prophet (3084)

gdx's picture

22-01-2016, 00:51

Guillian wrote:

If the ROM is placed at page 0 and 1, the first header is not checked. BIOS only searchs for ROMs headers at pages 1 and 2 as I explained in previous posts. You said that was not true, but it is. Just have a look a BIOS.

So, if first header is ignored by BIOS, the second header at #4000 is the real one:
#4000 41 42 10 40 00 00...
#4010 CD 9F 00 CD C0 00 C3 10 40

Ok, I was wrong this time. I was too hastened to respond.
Good news, finally your Rom works with Rom2MMM! Big smile

Guillian wrote:

My ROM exists now and your method can't execute it.

Very funny. LOL!
Go quickly to do a ROM that does not work to show that I'm wrong! Big smile
(No, no, stop here! And read the post from Grauw above. Him he understood.)

By Guillian

Prophet (3232)

Guillian's picture

22-01-2016, 09:26

It is no a matter of showing that you are wrong. But it seems you took it as a matter to prove that ROM2MMM can load all ROMs.
Your loader now can load my test ROM. But only because I told you how it must be load, because you can't get that information from the ROM.

I just said BIOS only checks pages 1 and 2 when searching for ROM headers, and that a ROM file does not contain enough information about how the real hardware works.
You, for whatever reason, started to say both afirmations were false. I just proved both were true. That's all.

I also said that in most cases you can try to guess where to locate the ROM and run it (that is how ROM2MMM, OPF/X/SD and other ROM loaders work)

Please, read the thread again.

Guillian wrote:

A ROM file does not contain enough information to exactly know how it works (i.e.: where it is located)
Depending on how the ROM is connected to slot signals, it will be mirrored, located at page 1, at page 2, etc.
So to be 100% sure how to emulate/load a ROM you must know how /CSx, /SLTSL, /Ax, etc. are connected (and hardware in the cartridge, of course).
In most cases you can try to guess where to locate the ROM.

BIOS searchs for ROMs only at pages 1 and 2. If it finds a ROM header with a valid (non 0) start address, it makes a interslot call to that address.

What's wrong or false? (^_^)

By Ramones

Champion (264)

Ramones's picture

22-01-2016, 09:37

gdx wrote:

Go quickly to do a ROM that does not work to show that I'm wrong! Big smile

You are wrong, gdx. Although I think the point is you are not reading Guillian tries to explain you: You can only to do a hypothesis how ROM works.

You need to know how works the real hardware and isn't possible with only a ROM file. The ROM Guillian made is the best example.

Can Rom2MMM load this ROM? Of course, yes! You only need add a database to the program. You could, using a CRC or similar, detect the ROM and load and run perfectly.

Without the database, you can't load this ROM example. Impossible. Your program surely detects a 32k non mapped ROM and placed on page 1 and 2: wrong.

Hey! ODO also fails. And OPF, and... all ROM loaders. It's perfectly natural.

By the way.... Rom2MMM can to load this ROM?

By gdx

Prophet (3084)

gdx's picture

23-01-2016, 13:01

I said that the header and file size gives enough information to run all existing Roms (all Roms of 8, 16, 32, 48 and 64KB). I say that because I tested all Roms from laster Tosec and more with success. It took me six months.
I never said that the header and size allow to execute all possible cases of Roms. Do you understand the nuance now?

Ramones wrote:

By the way.... Rom2MMM can to load this ROM?

Yes the only way to demonstrate that I am wrong, it's to find an existing ROM that is not working.
I tried it quickly on emulator. I do not know this rom. Is this is a ROM that loads a game from cassette tape?
Moreover, its size is different from what I indicated. So it should not work except if we add 8KB to make a file of 32KB.

By Guillian

Prophet (3232)

Guillian's picture

23-01-2016, 13:49

gdx wrote:

I said that the header and file size gives enough information to run all existing Roms (all Roms of 8, 16, 32, 48 and 64KB). I say that because I tested all Roms from laster Tosec and more with success. It took me six months.
I never said that the header and size allow to execute all possible cases of Roms. Do you understand the nuance now?

Actually you said:

gdx wrote:
Guillian wrote:

A ROM file does not contain enough information to exactly know how it works (i.e.: where it is located)
Depending on how the ROM is connected to slot signals, it will be mirrored, located at page 1, at page 2, etc.

A ROM file contains enough information if it is not mapped.

That's wrong and it have been proven.

gdx wrote:
Guillian wrote:

BIOS searchs for ROMs only at pages 1 and 2

No, the BIOS searchs in all banks of all slots.

That's also wrong.

That is the point of the discussion. You can try to turn it in other ways if you don't want to admit you were/are wrong.
The only thing I can do is to try to explain why you are wrong and prove it with a simple test ROM.
But that's all. It is up to you to admit it or not.

By gdx

Prophet (3084)

gdx's picture

23-01-2016, 15:29

You sink yourself more and more. I explained all these points. Read again all posts and think a bit. Wink
Moreover, it is not standing out errors in my explanations that you will prove anything. You are wrong and you do not digest that. LOL!

By Ramones

Champion (264)

Ramones's picture

23-01-2016, 18:33

Hi gdx! Smile

gdx wrote:

I said that the header and file size gives enough information to run all existing Roms (all Roms of 8, 16, 32, 48 and 64KB). I say that because I tested all Roms from laster Tosec and more with success. It took me six months.
I never said that the header and size allow to execute all possible cases of Roms. Do you understand the nuance now?

Let's see. I want understand you. To summarise, you say:

"With the header and file size of all TOSEC ROMs I tried, Rom2MMM can determine the type of those ROMs and load them without problems" .

Is that?

gdx wrote:

Yes the only way to demonstrate that I am wrong, it's to find an existing ROM that is not working.

I have not any obscure objetive demonstrating you are wrong, gfx. Trust me. Big smile I just want help you to improve your loader. And affirm categorically "header and file size gives enough info ... " was a error without add the "only TOSEC blah blah blah" info.

gdx wrote:

I tried it quickly on emulator. I do not know this rom. Is this is a ROM that loads a game from cassette tape?
Moreover, its size is different from what I indicated. So it should not work except if we add 8KB to make a file of 32KB.

Surely if you add 8k more neither work... The ROM is a 24k ROM using Ascii 8k Mapper. OPF works perfectly, by the way, with this ROM. Anyway, this isn't the point.

The point was to prevent bad and wrong ideas about the ROMs. And I repeat (and Guillian said 10 times and I'm totally sure you are agree too):

- BIOS searchs for ROMs only at pages 1 and 2 of ALL slots-subslots. But only page 1 and 2. Not page 0 nor page 3. Read the BIOS please. ;)

- With the header and size you can't determine ROM type, therefore you need extra work around to load perfectly all ROMs. And, of course, you need to know how hardware works.

"Extra work around":
- Tool parameters (/blah /blah2...)
- Tool database and CRC check.

That's all. ;)

Page 5/14
1 | 2 | 3 | 4 | | 6 | 7 | 8 | 9 | 10