BLOADing a game from Basic...

Страница 4/4
1 | 2 | 3 |

By PingPong

Prophet (4093)

Аватар пользователя PingPong

09-03-2008, 19:55

I don't understand... Crying I have tried the converted Caos Begins on two similar computers, two Philips VG-8020, and I got two different behaviors...
One computer is a VG8020/00 and the other one is a VG8020/20 (that means it's the second hardware revision I guess)

Hi, cesco, if you want i can check on my hb55p (msx1). But not before the next week. Since i cannot download anything from this site, can i ask you to send the 2400 baud version to spambin AT tiscalinet D.O.T. it?
I live in the same country as you so, if you want to talk to me via email, you can use your native language instead of english....

By PingPong

Prophet (4093)

Аватар пользователя PingPong

09-03-2008, 22:42

@cesco:just to try, have you loaded at 1200 bauds only on the machine where the game crash?

By ARTRAG

Enlighted (6923)

Аватар пользователя ARTRAG

09-03-2008, 22:43

You have RAM mapper problems.
How you choose the RAM slots where the game is loaded?

By cesco

Champion (453)

Аватар пользователя cesco

10-03-2008, 08:45

You have RAM mapper problems.
How you choose the RAM slots where the game is loaded?

The first half (Caos1.bin) is loaded into memory from the starting address 9000H along with another small assembly program that relocates it to address 4000H. At the end of this operation, the assembly program gives the control back to MSX-Basic.
The second half (Caos2.bin) is also loaded into memory from address 9000H, along with another small program that relocates it to address 8000H. Right after, the small program When the relocation has finished, the small program jumps to address 4011H (or that's what I guess it's doing) and it should run the game. I'm using these assembly routines to load binaries: www.msxtop.msxall.com/Download/InitGame.zip

This operation works on a VG8020 but not on a VG8020/20... I used to think that was caused by a wrong loading, but I can see the same behaviour under OpenMSX.

By Jipe

Paragon (1594)

Аватар пользователя Jipe

10-03-2008, 13:19

testing FFFF are not the good solution

first block

LD A,(F342H)
LD HL,4000H
CALL 0024H
LD HL,9000H
LD DE,4000H
LD BC,4000H
LDIR
LD A,(FCC1H)
LD HL,4000H
CALL 0024H
RET

second block

LD A,(F342H)
LD HL,4000H
CALL 0024H
LD HL,9000H
LD DE,8000H
LD BC,4000H
LDIR
LD HL,(4002H)
JP (HL)

By pitpan

Prophet (3155)

Аватар пользователя pitpan

10-03-2008, 14:07

What about developing a custom loader? I mean, the tool is making a conversion, therefore, you should aim for the most efficient conversion. Different blocks imply different headers and longer loading times. What about a custom loader? It is not that difficult. You can even use the BIOS functions!

And accept a suggestion: do not force the 3200 baud mode. It is fairly unstable in different MSX models when using the BIOS. With WAVeR v.2 I made different tests, and while some computers accepted up to 3600-3800 bauds, others weren't able to load at 3000-3200. If you want to make it compatible, stick to 2400 bauds. If you really need to go further, there is no other option but a custom "turbo" loader.

By NYYRIKKI

Enlighted (6016)

Аватар пользователя NYYRIKKI

10-03-2008, 14:08

Jipe: AFAIK your method works only, if you have disk drive on your MSX.

By cesco

Champion (453)

Аватар пользователя cesco

10-03-2008, 16:37

What about developing a custom loader?

I don't know anything about Z80 Assembly; I have only studied something about 80x86 opcodes at school, and that happened more than 13 years ago Sad

And accept a suggestion: do not force the 3200 baud mode. It is fairly unstable in different MSX models when using the BIOS. With WAVeR v.2 I made different tests, and while some computers accepted up to 3600-3800 bauds, others weren't able to load at 3000-3200.

Well, I have posted links to both the 2400 Baud and 3200 Baud version in my message. Unfortunately, none of the two version are working on OpenMSX and on the real hardware. Tonight I'll try to convert that game with WAVer and with MicroWAVer, so I'll be able to understand if the issues are caused by the binary loader or by something else.

Страница 4/4
1 | 2 | 3 |