i has to do with the endline delimiter
try in notepad++ to see the hidden characters
@Artrag, I was able to correctly load the room descriptions from disk (I used ScITE). Unfortunately, it seems that BASIC does a lot of trashing while loading/creating strings, and therefore I need at least a clear 7000 in order for the loading to be completed. However, this does not leave enough room for the rest of the data structures.
My last shot is to change all DIM A(...) of integer numbers to DIM A%(...), abandon the disk (and therefore the real machine), and use an emulator and a tape manager (I found MSX Taper, though I'm not able to make the produced tape to load in the emulator). The extra 5k I will obtain should be now enough.
Okay, I need more help. I have transferred the ASCII BASIC asalto.bas file to a CAS file asalto.cas by using MSX Taper. Then I run BlueMSX, holding down the SHIFT key, then type RUN "CAS:", CLOAD... and nothing works. All I get is: Device I/O ERROR.
I have tried with MSX, MSX-Spanish, and even with MSX2, but it does not seem to work. Any help?
Thanks,
Baltasar
zip + upload asalto.bas somewhere and you're sure to get helped out
First try to boot while CRTL is pressed
This will free up to 3KB and disable any second (virtual of physical) disk drive
Do not move to cassette
Another try is to load the descriptions "on fly"
You can use the array index to seek the appropriate "record" in the txt file on the disk
I dis it once (about 30 yeas ago) so it can be done
Thank you all for your help. I've uploaded the program to:
http://caad.es/baltasarq/if/asalto/msx_asalto.zip
There are two files there:
casalto.bas ACII Basic program
asalto.cas MSX Tape containing the above file
Please note that there are probably errors: I have not been able to make the program to get to line 110, after all the data structures have been created. These probable errors are not the matter: the matter is to make it fit inside the MSX Basic memory.
The room & objects descriptions have been changed to a big ON...GOTO, so they only consume memory once. Currently the problem is that I'm not able to load from tape the CAS file.
I suspect the problem is with the MSX Taper conversion process as I have successfully loaded "casalto.bas" into blueMSX, csave'd it to a .cas image, rebooted (CTRL) and then reloaded it from the .cas file without problems (there was approx. 3.5kb [from 24990 bytes] free after loading). Every attempt to load "asalto.cas" resulted in an I/O error.
here's a working .cas with tokenized basic asalto, this link is temporary:
http://crap.tsk-tsk.net/asalto2.zip
created with meisei:
- file -> media -> tape -> new -> save a new tape
- rightclick on <free block> -> open "casalto.bas" -> load it with load"cas:"
(you'll need to do a bit more work if you want a tokenized file)
Just as said above - after pressing CTRL (24990 bytes free) it perfectly loads from floppy (3567 bytes free).
Now you can csave it (after csave, in BlueMSX you should do File->Cassette->Save cassette image as) and then cload, which leaves 7392 bytes out of 28815.
After that you have to fix some syntax errors...
Also, lines 5070-5077 have almost the same text, you can save here about 300 bytes.
Please note that there are probably errors: I have not been able to make the program to get to line 110, after all the data structures have been created. These probable errors are not the matter: the matter is to make it fit inside the MSX Basic memory.
Indeed it seems to be full of errors:
- Problem with read & data lines
- THEN missing from line 5000
- GOTO to wrong line in 9995
- line 8010 does not exist in 110
- Incorrect MID$-function usage (first letter should always be pointed with number 1)
- Reserved words used in variable names
- long variable names with same first two letters
I stopped examining here as it really seems like there are plenty of things to fix before it will run, but indeed it loads even with diskdrive enabled. I don't see problem here.
