Schrijver
| BLOADing a game from Basic...
|
cesco msx addict Berichten: 261 | Geplaatst: 03 Maart 2008, 16:20   |
I'd like to load "Chaos Begins" on my old Philips VG-8020... so I started thinking that I could split the 32Kb ROM in two binary files and BLOAD them from MSX Basic. But then I have realised that I can't do that
The problem is that "Chaos Begins" requires to be loaded from the starting address &h4000, and that address is not available under MSX Basic (because from what I have understood a large portion of memory around that area is reserved); and of course I can't use an application like ODO or LOADROM because I don't have a floppy drive on my VG-8020.
What could I do in order to get that game working ? |
|
hap msx addict Berichten: 465 | Geplaatst: 03 Maart 2008, 18:13   |
Did you try Waver?
|
|
ARTRAG msx master Berichten: 1592 | Geplaatst: 03 Maart 2008, 18:15   |
You need two ASM "relocators" to be placed in RAM
You should split the rom in two files of 16K and load the two pieces in two times
using two different relocators
The relocator of piece 1 has to look for RAM in slots, at page 1
enable the ram from $4000-$7FFFF
LDIR the first piece in that page
switch back to basic rom and return
The second relocator has to
LDIR the second piece in page 2 from $8000
(the trick is that part of the ROM will overlapped the start of
the second piece, but who cares, what you loose
has been already copied to its correct position),
enable the same slot in page 1 as above
enabling the ram from $4000-$7FFFF where the piece 1 was
jump to the start of the ROM (the address in its header)
|
|
Guillian msx professional Berichten: 620 | Geplaatst: 03 Maart 2008, 23:00   |
Another option is to order a copy of the game in cartridge  |
|
Vincent van Dam msx addict Berichten: 372 | Geplaatst: 03 Maart 2008, 23:17   |
Is it available on cartridge already?
|
|
MrSpock msx novice Berichten: 31 | Geplaatst: 03 Maart 2008, 23:25   |
That's, for sure, the best option, Guillian. I will properly announce the release of the Caos Begins cartridge here on the forums later.
Cesco, I am not sure... did you sent me an email this morning? (well, I am the programmer of Caos Begins) If your goal is to run Caos Begins on your MSX, then some tool to generate a WAV is a good choice. I guess you are working on MSX Taper, isn't it?.
If your goal is to build the tool to load the game, then let me know if you need more information. I think ARTRAG pointed you to the right way.
But... of course... the best best of the best ways to play Caos on a real MSX is, undoubtedly, the cartridge version. Indeed.  |
|
cesco msx addict Berichten: 261 | Geplaatst: 04 Maart 2008, 13:29   |
Quote:
| You need two ASM "relocators" to be placed in RAM
|
Thanks for the hints; I guess that the best thing I can do in this moment is to have a look at the source code of CASLINK. Some weeks ago I got the permission from Alexey Podrezov to use the ROM loader he wrote, maybe it's time to start making a good use of that permission. |
|
cesco msx addict Berichten: 261 | Geplaatst: 04 Maart 2008, 13:43   |
Quote:
| Cesco, I am not sure... did you sent me an email this morning? (well, I am the programmer of Caos Begins)
|
Yes, that was me
Quote:
| If your goal is to run Caos Begins on your MSX, then some tool to generate a WAV is a good choice. I guess you are working on MSX Taper, isn't it?.
If your goal is to build the tool to load the game, then let me know if you need more information. I think ARTRAG pointed you to the right way.
|
Yes, thank you so much  |
|
cax
 msx professional Berichten: 1011 | Geplaatst: 04 Maart 2008, 14:40   |
You can also try MicroWAVer, which can compress ROM and convert it to single self-extracting BIN, if the ROM compresses well. And even if it doesnt - you still get bloadable WAV.
|
|
jltursan msx professional Berichten: 847 | Geplaatst: 05 Maart 2008, 10:41   |
I've found a bunch of useful relocating routines in the MSX Top page. Go to download section and look for "init games" routines.
There're no sources; but being so small it doesn't matters... |
|
cesco msx addict Berichten: 261 | Geplaatst: 05 Maart 2008, 10:58   |
Quote:
| You can also try MicroWAVer, which can compress ROM and convert it to single self-extracting BIN, if the ROM compresses well. And even if it doesnt - you still get bloadable WAV.
|
Thank you Cax, I used a lot MicroWAVer together with WAVer in the past, but I think that I should take this opportunity and try to perfect MSX Taper (and trust me, that is a VEEEEEEEEERY LONG WAY  ) |
|
cesco msx addict Berichten: 261 | Geplaatst: 05 Maart 2008, 11:00   |
Quote:
| I've found a bunch of useful relocating routines in the MSX Top page. Go to download section and look for "init games" routines.
|
Thank you, I'll have a look at that |
|
cesco msx addict Berichten: 261 | Geplaatst: 05 Maart 2008, 17:58   |
Quote:
| I've found a bunch of useful relocating routines in the MSX Top page.
|
Er... I had a look at that utilities, but the readme is written in Portuguese
Quote:
| Todos os blocos devem ser de 16 Kbytes e carregados de disco entre os enderecos 9000H-CFFFH. Os Init Games comecam sempre em D000H. Para aplicar os Init Games, e' simples: apos carregar um bloco na memoria no endereco certo (9000H-CFFFH), basta carregar o Init Game adequado e depois salvar novamente no disco nos enderecos 9000H-D038H.
BSAVE GAME.BIN,&H9000,&HD038,&HD000
Note que o Init Game ira' sobrescrever qualquer rotina a partir de D000H. O jogo pode ser executado por um programa BASIC sem qualquer parametro adicional. Assim, um jogo de 32K pode ser executado pelo seguinte programinha BASIC:
10 BLOAD "PARTE1.BIN",R
20 BLOAD "PARTE2.BIN",R
|
Since it contains a lot of technical terms, I tried to translate that text by myself (without using Babelfish or Google Translator... hey, being Italian should be of some aid while reading Spanish and Portuguese...). Could you tell me if I have translated it correctly?
Quote:
| MY TRANSLATION:
All the blocks of data must be have the length of 16Kbytes and loaded into memory addresses 9000h-CFFFh. The Init Games routines have to start always from the address D000h. Applying this routine is simple, all you have to do is to join the 16Kbytes ROM and this routine together and save the results this way:
BSAVE GAME.BIN,&H9000,&HD038,&HD000
Please notice that Init Game will overwrite every memory location from address D000h. Any 16Kbytes ROM can be executed without any further modification, while for 32Kbytes ROMs you will have to split the ROM into two pieces and loaded with these simple basic commands:
10 BLOAD "PARTE1.BIN",R
20 BLOAD "PARTE2.BIN",R
|
Is it a right translation ? |
|
jltursan msx professional Berichten: 847 | Geplaatst: 05 Maart 2008, 21:16   |
Absolutely  |
|
NYYRIKKI msx master Berichten: 1503 | Geplaatst: 05 Maart 2008, 23:01   |
Yes, very clear and good quality translation!
|
|
|
|
|