|
| | Er zijn 46 gasten en 3 MSX vrienden online
Je bent een anonieme bezoeker.
|
| |
Schrijver
| I want to code for the MSX
| tokumaru msx lover Berichten: 83 | Geplaatst: 20 Juni 2006, 17:14   | Hi guys.
I've been programming games for a while, first for MS-DOS and more recently for the NES (Nintendo Entertainment System). I have a fairly good understanding of how these older systems work, because of the NES. I know a lot of 6502 assembly, wich is what the NES uses.
Recently, I got an MSX1, the brazillian "Gradiente" version. It has no disk drive, so I'm stuck with loading software the "CAS" way. I used my PC to load in a few games and it worked OK. I'm very interested in this machine, and I've been studying Z80 assembly and the workings of the MSX's VDP, so that I can program my first demos.
I just don't know the basics of how to actually create a CAS file, what's it's structure. Is there a place you guys can point me to that explains how to put the first demo into the machine? I know I can use emulators to test programs, but I have a trust issue with them and prefer to use the actual machine whenever possible! So I'd rather make CAS files than ROM files.
I have an EPROM programmer (wich I use for NES development), so I may make an MSX devcart someday, but for now I'd like to do it the "CAS" way.
Thanks for any help! I hope I can code some cool stuff for this nice system! =)
| | jltursan msx professional Berichten: 873 | Geplaatst: 20 Juni 2006, 17:51   | To speed up a bit your learning curve you can use an emulator. The most advanced ones are mainly two: BlueMSX & OpenMSX, both fairly good trust me, with very useful tools for a begginer. Next, the use of cassette to develop is a real PITA; so it's a good idea to try to get a DD diskdrive (or an IDE interface).
About the CAS, I don't know the format; but if you look inside the code of CAStools by Vicent van Dam I'm sure you'll find the info you need. 
About coding......do you know MSXDEV'06?  | | PingPong msx professional Berichten: 987 | Geplaatst: 20 Juni 2006, 18:02   | Tokumaru, send me an email at S P A M B I N <AT> T I S C A L I. I T,
I will reply you with the msx red book, a .txt file that contains techical info about msx system + info on the format of .cas files. with this info, if you are able to generate .wav files, you can also create a .wav that stores a msx files on tape.
| | manuel msx guru Berichten: 3447 | Geplaatst: 20 Juni 2006, 18:22   | Note that you can't load software from a CAS file with your MSX. YOu need to convert it to the actual sound (mostly in WAV format) and play that to the cassette port of your MSX.
Much easier: just get another cheap MSX or MSX2 with a built in disk drive. I'm not sure how hard they are to get in Brazil, but if you spend some money it can be done. Maybe you can find some of those Brazillian disk drives, like the CDX-2 or the Gradiente Expert DDPlus?
| | viejo_archivero msx addict Berichten: 440 | Geplaatst: 20 Juni 2006, 18:29   | Or you can build .ROM files and then convert them to WAV with programs like Karoshi WaveR.
| | tokumaru msx lover Berichten: 83 | Geplaatst: 20 Juni 2006, 19:42   | Thanks for the replies guys. Let's go:
Quote:
| To speed up a bit your learning curve you can use an emulator.
|
Yes, sure. I'll surelly use one of those you mentioned while developing. But I want to able to test my programs on hardware before releasing anything that may not actually work. In the NES scene this is a bad thing to do, and I got used to working like this.
Quote:
| so it's a good idea to try to get a DD diskdrive (or an IDE interface)
|
I'd like to learn more about these options.
Quote:
| Tokumaru, send me an email at S P A M B I N <AT> T I S C A L I. I T
|
I will, right away! =)
Quote:
| Note that you can't load software from a CAS file with your MSX. YOu need to convert it to the actual sound (mostly in WAV format) and play that to the cassette port of your MSX.
|
Yeah, I know. But isn't the CAS file a binary description of the data encoded in the audio of cassette tapes? I meant I want to be able to load my programs into my MSX through the cassette port. If I can turn my programs into WAV files directly, even better, but I thought they had to be in the CAS format first.
I have successifully converted CAS files and small ROM files to WAV's that worked fine on my MSX, with the nice tools MSX people have made. I have that part covered.
Quote:
| Much easier: just get another cheap MSX or MSX2 with a built in disk drive.
|
I'm not such a big fan of floppies, to me they represent a temporary solution as the drives tend to break so easily. Specially on a machine as old as an MSX. If I find one that has a disk drive, who knows in what condition will it be and how long it will last....
Quote:
| Or you can build .ROM files and then convert them to WAV with programs like Karoshi WaveR.
|
Yeah, that worked for me before. This solutions is not as "clean" as it could be. I believe you can do more if your program is aware that it's running from a cassette, since you could overcome size limitations by loading the levels one at a time from the cassette port. At least I believe this can be done, I may be wrong.
Again, thanks for the replies! Talk to you later!
EDIT: I forgot to reply to the following:
Quote:
| About coding......do you know MSXDEV'06?
|
Yes, I have seen it! If I get around learning the specifics of MSX and testing the software on my MSX in time, I'll sure make an entry for this contest! It seem I have until the end of the year... =) | | manuel msx guru Berichten: 3447 | Geplaatst: 20 Juni 2006, 19:51   | They don't have to be in CAS format first. As a matter of fact, some games cannot be put in CAS format. WAV is just a direct reflection of the contents of the tapes, but it's less defined: the bits have to be filtered out from it (interpreted), while CAS already has that, it's the actual bytes on the tape.
In my experience, MSX disk drives won't break that easily, especially not 3.5" diskdrives. Many I have are more than 20 years old and most still work. And disk drives are *so* comfortable! They're gazillion times faster than tape, more flexible (random access), bigger in capacity, easy to put something on from PC and quite cheap  | | SLotman msx professional Berichten: 543 | Geplaatst: 20 Juni 2006, 20:01   | Quote:
|
I'm not such a big fan of floppies, to me they represent a temporary solution as the drives tend to break so easily. Specially on a machine as old as an MSX. If I find one that has a disk drive, who knows in what condition will it be and how long it will last....
|
You can use any 3.5" DD from PC on your MSX, you just need a Disk interface for it, and just by inverting a couple of wires on a PC disk cable (you can see how to do that on www.msxpro.com)
So, if the drive happens to break (I dont think it will, but it can) you just buy another pc DD and replace it
To use IDE on your MSX it's a totally different story, you CAN use it, but you wouldnt have DOS2 (directories) since it requires memory mapper and your computer doesnt have on
Vi que você é brasileiro, tem uma interface + drive no Mercado Livre: produto.mercadolivre.com.br/MLB-44694690-msx-drive-5-14-ddx-raridade-_JM
(Só não sei se está funcionando/em boas condições não conheço quem está vendendo) | | tokumaru msx lover Berichten: 83 | Geplaatst: 20 Juni 2006, 21:24   | Quote:
| As a matter of fact, some games cannot be put in CAS format.
|
How is that possible?!? Sounds weird, since CAS are binary files it's hard for me to understand why they can not hold some sort of data. Unless you mean size-wise, then I can understand.
Quote:
| you just need a Disk interface for it, and just by inverting a couple of wires on a PC disk cable (you can see how to do that on www.msxpro.com )
|
I don't know much about the MSX (I never played with one until only a few months back), and hardware projects seem a bit too hardcore for me right know. I'm just now getting used so soldering and desoldering chips and sockets for making devcarts, anything much different than that and you can get me lost pretty easily.
Since I never had an MSX before, I don't even understand how it's DOS works, how disc drives work and that kind of thing. I can only use it's version of BASIC and load games from the cassette port, that's it. I figured I'd enjoy developing something for it (where I can talk directly to the hardware through assembly, where I feel comfortable) and that loading the programs through the cassette port would be the easier way to get started, since that's what I already have working.
I'm not ready to spend much on MSX stuff yet (I'm still recovering from my NES investiments - EPROM programmer, Flash ROMs, tons of carts to modify). My plans were to try MSX development the "free way", and if I enjoy it I'll probably invest on a new machine, better than my MSX1.
EDIT: Quote:
| Vi que você é brasileiro, tem uma interface + drive no Mercado Livre
|
Eu vi um troço desses uma vez, mas estava todo enferrujado e preferi deixar pra lá. Eu realmente não confio em disquetes. Ainda mais em drives tão antigos. Eu vou ficar muito frustrado de gastar dinheiro nisso e depois o drive não funcionar como esperado, sabe? | | pitpan msx master Berichten: 1379 | Geplaatst: 20 Juni 2006, 22:06   | Hey, try to download asMSX v.0.11.
It is a Z80 crossassembler, but there is an interesting tool bundled in the package: MSXWAV.EXE, that is able to convert binary loadable files (BLOAD), tokenized BASIC (CLOAD) and untokenized BASIC (LOAD or RUN) to WAV files. Such files can be loaded in a *REAL* MSX using the cassette interface.
Also, you can download WAVeR v.2, that is a tool that converts unmapped ROM files to WAV, so that they can be loaded in a real MSX using BLOAD"CAS:",R.
There are other tools around to do the same, but these were coded by a good friend of mine
Again, remember that you do not need extra hardware in order to test simple programs in the real hardware. | | pitpan msx master Berichten: 1379 | Geplaatst: 20 Juni 2006, 22:36   | And I forgot to mention that you can also join Karoshi Corp.'s forum. Most of the topics are about programming, both in English and Spanish (that I suppose will not be a problem for a Brazillian guy). | | turbor msx freak Berichten: 177 | Geplaatst: 20 Juni 2006, 23:01   | Quote:
|
Quote:
| As a matter of fact, some games cannot be put in CAS format.
|
How is that possible?!? Sounds weird, since CAS are binary files it's hard for me to understand why they can not hold some sort of data. Unless you mean size-wise, then I can understand.
|
Tokumaru, you have to understand that CAS files aren't real MSX files. In fact they are invented by Marath for the fMSX emulator. The real MSX's have some bios calls to write data to a tape. This produced sound waves that were recorded on tape.
Now fMSX 'patched' the bios calls to directly store/read the bytes from a CAS file, this way he didn't have to do all this '(relatively)hard to calculated' /'timeconsuming' convertion between audio wav files and the internal byte representation in the emulated MSX. It also meant he got rid of stuff like baudrate etc since you have directly the correct byte so it had a huge impact on the emulation speed also (we are talking about the 286/386 era here) and storing each byte resulted in shorter files then really storing it as audio files.
Now any program that use custom routines that direcly read the I/O pin from the datarecorder do not have to adhere to the bios specification of sound-to-byte conversion or the different header sounds. They can have different baudrates/headers/timings and are thus no directly translatable to CAS files. An example of this is 'Way of the tiger' from Gremlin Graphics
Most of these custom tape readers used the tape input to set the colors of the background so that you had a constantly changing patern of horizontally colored lines, so that you had something to look at while the tape (slowly) loaded
So in short, if the program doesn't use the bios for it's tape activities you can not create a CAS file from it
| | tokumaru msx lover Berichten: 83 | Geplaatst: 20 Juni 2006, 23:06   | Quote:
| Hey, try to download asMSX v.0.11
|
Thanks, I'll try. The WAV conversion option seems very handy (for what I want, anyways)!
Quote:
| Also, you can download WAVeR v.2
|
This one I have already tried. I liked this tool very much, but for a finished version of my projects, it would be nice to have my own loading screen, etc. There is also the thing I said earlier, about how it's better for a program to know what kind of media it's running from (my opinion).
Quote:
| Again, remember that you do not need extra hardware in order to test simple programs in the real hardware.
|
I suppose that the easy way for that would be to use WAVeR. I'll figure out how to make loading screens and such things later, I guess.
Quote:
| And I forgot to mention that you can also join Karoshi Corp.'s forum. Most of the topics are about programming, both in English and Spanish (that I suppose will not be a problem for a Brazillian guy).
|
I can read spanish just fine, but I certainly can not write in spanish. And the english forums seem to be a bit slow over there... but I'll take a better look, sure! =)
Thanks for the help! | | tokumaru msx lover Berichten: 83 | Geplaatst: 20 Juni 2006, 23:19   | Quote:
| Tokumaru, you have to understand that CAS files aren't real MSX files.
|
Yes, I understand that. It's just that since I'm new to MSX I don't know exactly how things are named. When I say "CAS" I mean the general concept of loading code into the MSX from the cassette interface. I only mentioned CAS files before because I didn't know you could turn code directly into WAV sound, wich is what I actually want. I have no interest in the CAS format if it's not a required step to create the WAV's. Well, maybe to try the games in emulators, trying only significant builds on hardware.
Quote:
| In fact they are invented by Marath for the fMSX emulator.
|
This whole thing about fMSX I didn't know.
Quote:
| Most of these custom tape readers used the tape input to set the colors of the background so that you had a constantly changing patern of horizontally colored lines, so that you had something to look at while the tape (slowly) loaded
|
I guess that's how you make loading screens then.
Quote:
| So in short, if the program doesn't use the bios for it's tape activities you can not create a CAS file from it
|
I see. It makes sense now. Where can I find specifications on the BIOS routines or how to use the cassette interface without them? This information must exist somewhere, or we wouldn't have programs like WAVeR... right? | | PingPong msx professional Berichten: 987 | Geplaatst: 21 Juni 2006, 02:12   | | |
| |
| |
| |