Tutorial: Multiplatform Z80 ASM development videos... with vampires!

Page 1/3
| 2 | 3

By keith56

Expert (111)

keith56's picture

20-01-2018, 14:52

It is with great honour I present to you my new Z80 tutorial series!
"Multiplatform Z80 ASM development videos... with vampires!"

I plan for these to take you from absolute beginner programmer, to Z80 game developer... I only learned ASM 18 months ago, and I'll teach you all the things I needed to learn, try to help you avoid the problems I had, and explain them in what I think is the easiest and fastest way for a beginner!

I'm teaching using the the CPC emulator WinApe , as it has a built in assembler and debugger that make it the easiest I've seen for a beginner to use and debug - but once I've taught the basics, I'll move on to MSX specific stuff... I've already done some technical videos on my youtube channel comparing the CPC/MSX and Spectrum

The website of this new tutorial is here:
http://www.chibiakumas.com/z80/

The lessons will have an accompanying video, which I intend you to watch as well as reading the website (though in theory you could do just either one)... The video for lesson 1 is here:

https://youtu.be/LpQCEwk2U9w

Lesson 1 is for the total beginner, I assume you've never even used winape before, and I'll show you how to enter, compile and debug your first Assembly program!

I plan to do more lessons, so I hope you enjoy it!

Login or register to post comments

By JohnHassink

Ambassador (5298)

JohnHassink's picture

20-01-2018, 19:00

That's cool, man. Looks like a lot of work went into making this. Thanks for sharing your knowledge.

By syn

Paragon (1852)

syn's picture

20-01-2018, 21:38

Nice! I meant to make write some tutorial as well, but now I dont need to hehe Wink

(joking, probably gonna write one anyway)

By Manuel

Ascended (14463)

Manuel's picture

21-01-2018, 11:31

The author(s) of WinAPE did create something special. Prodatron is also very fond of it, AFAIK...

By Sylvester

Champion (366)

Sylvester's picture

21-01-2018, 15:59

Nice, I only know one japanese asm tutorial about game programming for MSX, so every other tutorials are welcome!

Too bad WinAPE is only for windows, saw some blogs about installing it on a Mac with Wine, but for now will watch the video's and read the blogs and will try some things with glass, openMSX and the openMSX debugger.

By keith56

Expert (111)

keith56's picture

22-01-2018, 10:19

Sylvester wrote:

Too bad WinAPE is only for windows, saw some blogs about installing it on a Mac with Wine, but for now will watch the video's and read the blogs and will try some things with glass, openMSX and the openMSX debugger.

Agreed - I would prefer something open source and multiplatform, but learning Z80 would have been much harder without it - so it seems only sensible to make the tutorials on the easiest assembler I know, and I'm pretty sure the majority of 'readers' will be windows based.

If it helps any, I got Winape running fine on free os React-OS - so if youcan do a VM, but the windows license is a problem, that may help.
I tried to get Winape running on a linux VM today, but I had problems which I suspect were due to VmwarePlayer - so I'll try soon on a real laptop - I'm pretty sure it should work on WINE

Anyway whatever you do, please take notes and let me know - and I'll add some documentation on how to get Winape working on Mac+Wine
If you use another Assembler, there are some gotchas - I use & for Hex but other assemblers use other syntax, Winape is very flexible with its labels - I think some others require labels to be at tabstop zero, and code at tabstop 1, and winape allows labels at the end of a line - which I do a lot for self modifying code - if you use something else, and have to make changes to my tutorial, please let me know the changes, and I will add it to the guide.

Oh finally, I've now uploaded an 'Z80 ASM cheatsheet' - you can find it on the tutorial page!

By Wolverine_nl

Paladin (893)

Wolverine_nl's picture

22-01-2018, 11:28

Great effort keith56! Wink
For a beginner who has no experience with an assembler it is a fine way of learning. For people that started already, like me, and use another assembler, it is just a matter of Find & Replace the $ to &H or such.

By keith56

Expert (111)

keith56's picture

22-01-2018, 12:15

Wolverine_nl wrote:

Great effort keith56! Wink
For a beginner who has no experience with an assembler it is a fine way of learning. For people that started already, like me, and use another assembler, it is just a matter of Find & Replace the $ to &H or such.

Please, tell me your assembler, and what you changed (eg & -> #H in assembler ???) , I'll create a chart on the guide - I want to make this as accessible to others - if we can save beginners a bit of head scratching maybe it'll encourage more learners!

By Grauw

Enlighted (7317)

Grauw's picture

22-01-2018, 12:47

I think & for hexadecimal is very unconventional in the MSX world, but maybe on the Amstrad platform it is more normal. On MSX, the most common hex notations are 0nnH and #nn, also $nn and very sometimes 0xnn (but not a fan of 0x since it’s a C-ism that worked its way in some more recent cross assemblers, while there’s too many different prefixes already). For binary, 0nnnnnnnnB and %nnnnnnnn.

Btw haven’t had the time to watch your vid yet Keith, but looking forward to it.

By Wolverine_nl

Paladin (893)

Wolverine_nl's picture

22-01-2018, 15:22

I personally use tniasm 1.0b, which can use several different hex notations, I use the 0nnH notation.

By santiontanon

Hero (588)

santiontanon's picture

22-01-2018, 15:23

WinAPE runs on wine perfectly fine. For example, if you want instructions on how to run WinAPE on Mac it's:
1) Get MacPorts if you don't have it (only if you don't already have Wine): https://www.macports.org/install.php
2) Get Wine if you don't have it already by opening a terminal and typing: "sudo port install wine"
3) Download WinAPE
4) Open a terminal, navigate to the folder where you downloaded WinAPE and type: "wine WinApe.exe"

That should do it :)

I haven't tried on Linux yet, but it should be the same except for steps 1 and 2.

Page 1/3
| 2 | 3
My MSX profile