Schrijver
| Assembly information
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 17:03   |
If I started a big project...
I'd rather program it in a high level language (Blitz Basic for PC, for instance), but adapting some features to behave like a real MSX. After that I'd start to convert it into Assembly.
|
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 17:03   |
By the way,
Can I use C and Assembly in MSX together?
|
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 17:27   |
My first compiling error in Assembly...
.bios
.page 1
.rom
.start MY_PROGRAM
MY PROGRAM:
call Init32
At AsMSX, it returns: Sintax error at line 6...  |
|
Thom msx addict Berichten: 378 | Geplaatst: 26 November 2004, 17:28   |
Your compiler doesn't support spaces in LABELS?
|
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 17:41   |
Mea culpa! Now it returns an "undefined identifier" at the "Call Init 32".
.bios
.page 1
.rom
.start MY_PROGRAM
MY_PROGRAM:
call Init 32
|
|
Maggoo msx professional Berichten: 590 | Geplaatst: 26 November 2004, 17:44   |
Quote:
| By the way,
Can I use C and Assembly in MSX together?
|
You can but beleive me you don't want to  |
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 17:45   |
To Maggoo,
Just C would be enough for a Wonderboy-like game?
|
|
Thom msx addict Berichten: 378 | Geplaatst: 26 November 2004, 17:50   |
What's Init32 (again, remove the space)?
|
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 17:51   |
Init32 = Call the routine to use screen 1. I guess.
So, let´s start again...
To access screen1, the Z80 must call a routine that´s already built in BIOS, right? |
|
Maggoo msx professional Berichten: 590 | Geplaatst: 26 November 2004, 17:58   |
Quote:
| To Maggoo,
Just C would be enough for a Wonderboy-like game?
|
Actually, I would avoid C as much as I can on MSX. Go 100% assembly if you can.
If you really want to make a game and don't want to do assembly, then just use Nestor Basic or Kun Basic. They are high level language (basic) and it's possible to make nice games with those.
Otherwise don't even bother (you'll be dissapointed anyway) and make something in Blitz Basic for PC  |
|
Maggoo msx professional Berichten: 590 | Geplaatst: 26 November 2004, 18:03   |
Quote:
| Init32 = Call the routine to use screen 1. I guess.
So, let´s start again...
To access screen1, the Z80 must call a routine that´s already built in BIOS, right?
|
Right, that would be routine #5F of the BIOS. |
|
sjoerd msx addict Berichten: 450 | Geplaatst: 26 November 2004, 18:04   |
call INIT32
^ space before instructions and indeed labels can't contain spaces  |
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 18:10   |
Now it works...
.bios
.page 1
.rom
.start MY_PROGRAM
MY_PROGRAM:
Init32 equ 7bh
call Init32
What the heck the Init32 equ 7bh means?
|
|
Maggoo msx professional Berichten: 590 | Geplaatst: 26 November 2004, 18:15   |
Quote:
| Now it works...
.bios
.page 1
.rom
.start MY_PROGRAM
MY_PROGRAM:
Init32 equ 7bh
call Init32
What the heck the Init32 equ 7bh means?
|
it means
Init32=7bh
You could also have this
MY_PROGRAM:
call 7bh
it produces the same result |
|
LeandroCorreia msx addict Berichten: 454 | Geplaatst: 26 November 2004, 18:23   |
So, the Init32 in the Call Init32 means nothing. It's just a pointer. 
I really have to learn a lot.  |
|
|
|
|