Trying to learn MSX development

Page 1/2
| 2

By Jaboody

Supporter (6)

Jaboody's picture

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 or register to post comments

By Grauw

Ascended (9904)

Grauw's picture

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.

By Pbk71

Expert (101)

Pbk71's picture

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.

By Jaboody

Supporter (6)

Jaboody's picture

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?

By thegeps

Paladin (826)

thegeps's picture

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

By Jaboody

Supporter (6)

Jaboody's picture

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?

By Grauw

Ascended (9904)

Grauw's picture

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.

By ToriHino

Paladin (710)

ToriHino's picture

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).

By Jaboody

Supporter (6)

Jaboody's picture

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

By Jaboody

Supporter (6)

Jaboody's picture

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?

By Daemos

Paragon (1948)

Daemos's picture

04-05-2021, 22:01

Care to share what you had in mind?

Page 1/2
| 2