I want to code for the MSX (Development MSX Fora)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 46 gasten en 3 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - I want to code for the MSX

Ga naar pagina ( 1 | 2 Volgende pagina )
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   
TOKUMARU, I've tryied to send you the mail, but it has permanent fatal errors!

Try to download the file at www.msxarchive.nl/pub/msx/mirrors/msx2.com/sources/aredbook.zip
 
Ga naar pagina ( 1 | 2 Volgende pagina )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.