Trying to learn MSX development

Page 1/2
| 2

Par Jaboody

Supporter (6)

Portrait de Jaboody

04-05-2021, 13:40

I'm seeing lots and lots of guides but a lot of it is directed at people who already know how to program

I'm looking at the great tutorials on how to make an SMS game on SMSPower but they're for SMS and I'm interested in making games for the Coleco/SG-1000/MSX1/maybe even TI-99/4

Does anyone have tutorials aimed at complete beginners? A lot of these are also for BASIC but I'm interested in ASM

!login ou Inscrivez-vous pour poster

Par Grauw

Ascended (9824)

Portrait de Grauw

04-05-2021, 14:59

Have you looked at some books about MSX and Z80 programming?

That’s how I learned. I can recommend Programming the Z80 by Zaks.

I also learned a lot from the (Dutch) programming articles in Sunrise Magazine and Noorder Baken in the MC(C)M magazine.

Par Pbk71

Expert (99)

Portrait de Pbk71

04-05-2021, 15:00

Hi Jaboody,

I've just started a blog on learning msx assembly/machine code. There are only 2 posts yet but I'm planning to write some blogs aimed at real beginners: https://learningmsxmachinecode.blogspot.com/

I als found this blog which has 3 post on the same subject: https://bosselaar.net/posts/msx/starting-msx-assembly-1/

ChibiAkumas has great tutorials on Youtube, a website and has written a book about Z80 programming for beginners: https://www.assemblytutorial.com/

You can find books on archive.org as well, like this:

https://archive.org/details/practical_msx_machine_code_programming_steve_webb

https://archive.org/details/StartingMachineCodeOnMsx
https://archive.org/details/Programming_The_Z80_Third_Edition_Rodnay_Zaks

But if you're completely new to programming then assembly will never be easy. Maybe it's good to learn some standard programming techniques first with a higher level language? Anyway, it's always good to try but it will take a lot of time, even if you do have some programming experience.

Par Jaboody

Supporter (6)

Portrait de Jaboody

04-05-2021, 15:50

Thank you Grauw, I will check that book out

Hi pbk71, I'm not a complete beginner, I've done some python and C# before, I am also studying circuitry a bit so I do want to work with computers at the lowest level, hopefully it won't be too difficult, I don't care if it takes a while it is just my interest, I'll download these and check out ChibiAkumas on youtube, I have a decent idea of how the VDP works

I do have a question, the bitmap mode that the TMS9918A has access to, is this even used for anything other than title screens? can sprites be layed over it?

Par thegeps

Paladin (789)

Portrait de thegeps

04-05-2021, 16:21

Sprites can be used on graphic2. And graphic2 mode can (must) be used as tile mode. Best msx games use this mode

Par Jaboody

Supporter (6)

Portrait de Jaboody

04-05-2021, 16:31

Okay, so the 8 pixel scrolling, famous in games like Nemesis, this was because each element of the background was actually a colorful character?

Are you saying that every element of the background in Konami games was a specially designed character, loaded in by the computer from a character set on the ROM, and then the background played out like a PETSCII game essentially, while the other layers displayed the sprites?

Par Grauw

Ascended (9824)

Portrait de Grauw

04-05-2021, 17:08

A funny analogy Smile, but yes that’s essentially how it works.

Screen 2 is is a pattern mode. You define 8x8 patterns (tiles) in one place in VRAM (pattern & colour table), and then the screen is composed by 768 bytes in another place in VRAM which specify the pattern indices (name table). Sprites are overlaid on top.

Although it can be used like a bitmap if you arrange the patterns in a specific way, that’s not playing to its strengths, since a full screen update would need 12288 writes instead of 768.

Par ToriHino

Paladin (704)

Portrait de ToriHino

04-05-2021, 18:04

And one step further you can even perform smooth scroll using pattern mode. This involves defining characters which each do 1/8th of the animation step. I just released two games for MSXDev 21 (Make them Fall and Make them Run) who do just that (combined with some sprites).

Par Jaboody

Supporter (6)

Portrait de Jaboody

04-05-2021, 18:07

Pbk71 wrote:

Hi Jaboody,

I've just started a blog on learning msx assembly/machine code. There are only 2 posts yet but I'm planning to write some blogs aimed at real beginners: https://learningmsxmachinecode.blogspot.com/

I als found this blog which has 3 post on the same subject: https://bosselaar.net/posts/msx/starting-msx-assembly-1/

ChibiAkumas has great tutorials on Youtube, a website and has written a book about Z80 programming for beginners: https://www.assemblytutorial.com/

You can find books on archive.org as well, like this:

https://archive.org/details/practical_msx_machine_code_programming_steve_webb

https://archive.org/details/StartingMachineCodeOnMsx
https://archive.org/details/Programming_The_Z80_Third_Edition_Rodnay_Zaks

But if you're completely new to programming then assembly will never be easy. Maybe it's good to learn some standard programming techniques first with a higher level language? Anyway, it's always good to try but it will take a lot of time, even if you do have some programming experience.

I just want to mention I'm reading your blog and it is amazing, I can't believe how much I'm learning in such a short time

Par Jaboody

Supporter (6)

Portrait de Jaboody

04-05-2021, 18:10

ToriHino wrote:

And one step further you can even perform smooth scroll using pattern mode. This involves defining characters which each do 1/8th of the animation step. I just released two games for MSXDev 21 (Make them Fall and Make them Run) who do just that (combined with some sprites).

I want to try this, but for something slightly more complex, but I'm trying to learn quickly

Does anyone communicate with Discord?

Par Daemos

Paragon (1948)

Portrait de Daemos

04-05-2021, 22:01

Care to share what you had in mind?

Page 1/2
| 2