Where to start

By Mudkipz23

Supporter (2)

Mudkipz23's picture

14-09-2020, 20:02

I'm relatively new to programming aside from messing around in BASIC, but I want to get into assembly code, yeah that does sound like a huge jump but you can only do so much with BASIC. The problem is that I don't know where to start! The material I did find was really confusing, so I'd appreciate if someone could point me in the direction of some beginner-friendly material, or at the very least give me some pointers on where to start with development on the MSX.

Login or register to post comments

By albs_br

Master (247)

albs_br's picture

14-09-2020, 20:53

MSX pen has a nice Hello World in Asm.
After that you may look the "How to develop a cartridge ROM" here on MRC.

By Uninteresting

Master (182)

Uninteresting's picture

14-09-2020, 21:09

My main guide at start was Patai Gergely's guide to Z80 assembler, but the site I read it on doesn't have the pages any longer.

Once you get started, you can also take a look at the source code others have shared. I happened to start around the time santiontanon was working on Transball (source code), and that link also has a good number of useful links to check.

By santiontanon

Paragon (1343)

santiontanon's picture

14-09-2020, 21:28

Thanks for the link to Transball Wink

What I did to start was to learn how to create a simple cartridge that did nothing but just switch to screen 2, for example, and then start adding things bit by bit. I wrote a program to show a sprite in the screen, then one to change the tiles in the VDP, another to play a beep sound, another to read the keyboard, etc. I used that as a quick "de-stressing routine" after work for a few weeks (every evening when I got home, I'd spend 30-60 minutes working on the next tiny little program). Once I had all of these basic building blocks, I started putting them together to create a game (Transball!)

Just finding your favorite assembler compiler, text editor, figuring out how to create the most basic assembler program is already a fun exercise that can take some time Smile

By Briqunullus

Champion (331)

Briqunullus's picture

15-09-2020, 10:26

A good starting point would be reading the BIOS reference. These are a set of routines you can use for texts, graphics, music and more. They can take a lot of hard work away from you. Also, they provide a nice overview of what the system can do. And as such, you can start from there to learn more about specific hardware.

For example, there is a routine to write data to registers of the Programmable Sound Generator (PSG). So you may want to learn more about the PSG and you look that up. The Wiki Pages are your friend.

Most importantly, dare to ask. There are no silly questions, except the ones you didn't ask.

By Sylvester

Hero (518)

Sylvester's picture

15-09-2020, 10:56

Also check the youtube video's about z80 programming (and MSX specific video's) from ChibiAkumas: https://www.youtube.com/channel/UC8t99gp5IN-FTf5rGVaRevw

and the MSX2 Technical-Handbook can also be usefull.

Note to self: Create a wiki page with all these resources on the web :)