Author Topic: Multiplatform Z80 ASM development videos... with vampires!  (Read 3942 times)

0 Members and 1 Guest are viewing this topic.

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
Lesson 7 of my Z80 Programming Tutorials is up !
This lesson covers RST's, creating a custom interrupt handler, the shadow registers, and using IN and OUT commands!

We'll put all this together to learn how to make the 4 color CPC screen show up to 20 colors, by changing the palette as the screen redraws!

https://youtu.be/ltmK9MtZlR8

As always, sourcecode and written documentation is available for download on my website!
http://www.chibiakumas.com/z80/
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline tjohnson

  • Supporter
  • 464 Plus
  • *
  • Posts: 476
  • Country: gb
    • index.php?action=treasury
  • Liked: 140
Good news ive watched the first few videos over the past week, very informative i liked the mixing of    assembler with basic

Sent from my E5823 using Tapatalk


Offline blackdalek

  • Supporter
  • CPC6128
  • *
  • Posts: 225
  • Country: au
  • Fraser
  • Liked: 96
I've been really enjoying these tutorial videos. Everything is made very easy to understand.

I am sure that if these video lessons and Keith's website are still available when my son is older he'll have no problem becoming a Z80 wizard  ;)
Thanks for the good work @keith56

I only touched very lightly on assembly programming when I was a kid. I had no help and only The Z-80 Microcomputer Handbook by William Barden Jr. and the Amstrad Firmware Guide & sample disc. I found William Barden's book confusing and didn't know anyone with experience I could ask questions of. If I had internet and access to tutorials like this back then, everything would have been a lot simpler. As it was, I only managed a basic understanding of what registers and accumulators did and how they worked with the data and how to add and rotate and compare and jump and call and all those kinds of things. But I never got as far as combining my crude knowledge of the Z80 instruction set with the wonders to be found in the Firmware Guide. Also, not having an assembler I could figure out how to use was my biggest obstacle to progressing as I couldn't assemble and test anything I had learned. I can't remember which assembler it was that I finally got hold of but I could not work out how to use it and by that time I'd lost interest in machine code and was focusing on other things in my life. :(
I think I am going to revisit Z80 programming as a hobby when I retire ;)
« Last Edit: 00:58, 12 March 18 by blackdalek »
CPC6128 modded with ABBA switch. External 5.25" floppy drive with side switch and Multiface 2. Now also sporting a joystick splitter and M4 WiFi board.

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
I've been really enjoying these tutorial videos. Everything is made very easy to understand.
I am sure that if these video lessons and Keith's website are still available when my son is older he'll have no problem becoming a Z80 wizard  ;)
Thanks for the good work @keith56
Thank you for your extremely kind words!
The next lesson will be the last of the 'Basic Commands' series... but I will start a new series of more in-depth stuff after that!
I hope my site will be around for a long time, but the content of the website is all on one page because I intend to release it as a complete PDF so people can read it offline - and you can always use a Youtube downloader to rip the videos if you want - I make no money from them, so go ahead with my blessing!!!

You're experience sounds very similar to mine, I only did a 'type-in' of assembly that did the same kind of color switching my last example did, but I only understood it in a limited way.

Coming back to Z80 ASM now, I find it far more enjoyable than programming other modern systems, it has the simplicity of a limited command set - complete documentation to hand with enthusiastic support forums online, and the potential to delve into the hardware as deeply as you want - but unlike modern hardware , you CAN learn everything about a Z80 system, on the PC it's long since reached the point no-one completely understands what the OS or hardware does.

As I've said before, we're blessed in the CPC community with Winape's Debugger and Assembler... I couldn't have done what I can today back in the 80's.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
Lesson 8 of my tutorials is now up!

Covering the rarer Z80 commands and the I and R registers... we also use Unwrapped Loops to quickly copy the screen to one of the 128k banks.

Also this lesson covers how to use misuse the Stack to quickly flood fill areas of memory!

https://youtu.be/okLPQWs8ExQ

As always, there's a matching written lesson on my website:
http://www.chibiakumas.com/z80/index.php#Lesson8
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline Xifos

  • CPC6128
  • ****
  • Posts: 163
  • Country: fr
  • Liked: 219
Thanks for your videos keith56 !
I learned that the i register can be used in im1.
Better for a flag than a variable !
 :)

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
The first of my new "Platform Specific" Series is on youtube!

Teaching how to make 'Hello World' Functionality in Assembly, on 5 systems in 25 minutes (MSX,CPC,ZX spectrum, TI-83 and Enterprise)

Includes: Clear Screen, Locate (move text cursor)... read keypresses, and print Characters and strings... this tutorial creates common functions which allow you to develop one program, that can be compiled for 5 different Z80 classic systems...

I've added proper Subtitles this time! please let me know if they help, as it took me hours to add... I've also retrospectively added subtitles to Lessons 1-4... so please take a look if you were having trouble with the way I speak.


https://www.youtube.com/watch?v=EN4DW9q-06g

The documentation, and sources are available here!
http://www.chibiakumas.com/z80/platform.php#LessonP1

The Z80 toolkit is available here.. though it's an earlier version than the one I used today... I'll get the latest version up as soon as I can!
http://www.chibiakumas.com/z80/Z80DevTools.php
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
This week's #Z80 tutorial is up... Multiplatform lesson M1!... The Multiplatform series will use the code from the Platform Specific series... so this code will work on any Z80 system I'm covering

This week we're going to learn how to make some simple debugging tools, to check the status of the Z80... because not all the systems we will be using have debuggers as good as WinApe's!


https://youtu.be/xKQtEfO73YI

Source, and docs at:
http://www.chibiakumas.com/z80/multiplatform.php#LessonM1
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
Lesson 2 of the Platform Specific series is now up!- Covering how to read the location of the text cursor on MSX,CPC,ZX Speccy, Enterprise 128/64, TI-83... and now the Sam Coupe!
This lesson also covers an example  'Gocha' with WinApe's IFDEF compiler directives that's caught me out many times!
As always, This Video lesson matches the text lesson on my website:
http://www.chibiakumas.com/z80/platform.php#LessonP2


https://youtu.be/Eg4YkT3MBxI
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 14.495
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 2656
Keith, I've given up trying to read your posts. Not only you're actually *doing* it, but you're writing faster than I can read :D

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
well they're not going anywhere, so feel free to watch them at your leisure... just make sure you watch them in the correct order!

The main reason for the weekly releases is to try to take advantage of youtube's prioritization of 'new' videos

oh, and Patreon backers will have a special video in a day or twoon CPC compiled sprites!
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
The next lesson is up! Multiplatform Lesson M2 - String Reading and Memory Dumping!

Based on our previous lessons, we're now going to read in a line of text input from the user, and convert it to a HEX memory address.. and dump some bytes of memory to the screen in a nice debugger output...

because it uses our 'Common modules' from the platform series... This common code example will work on ZX spectrum, MSX, TI-83, Sam Coupe, Amstrad CPC and Enterprise 128!

Along the way, we'll learn how to pass parameters to a call as bytes in the code, rather than registers... how to covert Uppercase to lower, Ascii to Hex, and much more!


https://youtu.be/XwYqfXEgXH8

There is a text based lesson matching the content here on my website, and of course, you can download the source code for all my lessons from:
http://www.chibiakumas.com/z80/multiplatform.php#LessonM2

If would like to support my channel and ongoing 8-bit game development, please consider backing me on patreon:
https://www.patreon.com/akuyou
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
Lesson M3 of my Z80 Assembly tutorials is up!
We're going to start writing a little text-adventure, so this week we'll learn how to recognize predefined 'numbered' commands in a line of text entered by the user!

As always, the source and text description is on my website!
http://www.chibiakumas.com/z80/multiplatform.php#LessonM3


https://youtu.be/VetHaU2aybw
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
The new lesson is up! This week I've used the previous code to build the basics of a text adventure!

Check it out:

https://youtu.be/vtBfd74tV7A

Of course, the website has a text based description of the code too, and the code is available to download:
http://www.chibiakumas.com/z80/multiplatform.php#LessonM4
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
My next Z80 lesson is up!
Advanced Z80 Assmebly Tutorials - Lesson A1: Binary Coded Decimal

This goes back to Z80 fundamentals, and covers how to use Binary Coded Decimal for addition, subtraction and comparison!

Video Lesson:

https://vimeo.com/268145508

Text Based Lesson:
http://www.chibiakumas.com/z80/advanced.php

Update, Youtube has delcared my video to be 'spam'... deleted it and given me a community strike for some reason, so I've re-uploaded it to vimeo
« Last Edit: 13:40, 05 May 18 by keith56 »
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.179
  • Country: au
    • index.php?action=treasury
  • Liked: 846
Update, Youtube has delcared my video to be 'spam'... deleted it and given me a community strike for some reason, so I've re-uploaded it to vimeo


Wow, youtube is really losing the plot these days!

My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 2.678
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 900
I experienced that with my 8-bit Memoirs video too, for "violating YouTube Community guidelines"....  ???

Just write a note to YouTube. They'll put it back as soon as they've had time to look at it.

Of course, I put my video on Vimeo too, as we can't sit around waiting for YouTube to fix things.

I wonder how they decide a video is spam. An algorithm maybe that checks similarity in all videos uploaded by the same user?

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
They retracted the strike after I complained - with no explanation why it happened

I assume it's because on an 'optical' level all my videos look the same, because they all show the CPC screen, winape debugger, and the only music I use is the one from my game.

I'm pretty sure the fact my videos get very few hits doesn't help either, but it's pretty unnerving - with the amount of work I'm putting into the video series, I'm relying on it being up for a long time.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
My latest Z80 Assembly Tutorial is up! Multiplatform Lesson 5 - covering using Arkosplayer (V1) for Music and SFX!

https://youtu.be/Wt3hhcdXY5c

This Video lesson matches the text lesson on my website, and you can get the source code as well...you can even get my music files and use them in your own games!
http://www.chibiakumas.com/z80/multiplatform.php#LessonM5
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
Advanced Z80 Lesson A2 is up! Learn about the dark art of Interrupt Mode 2!

https://youtu.be/W9QHdz_AbGQ

Also check out the Web based version:
http://www.chibiakumas.com/z80/advanced.php

Interrupt Mode 2 isn't something you tend to need on the CPC, but it's super important on the Speccy, and it's worth knowing about so you know all your interrupt options!
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
In this lesson we'll look at my "Template interrupt Handler"
It works on all systems (CPC/MSX/EP128/SAM/ZX) can use Interrupt Mode 1 or 2, protect some or all registers for you, and even allows you to misuse the stack for Reading/Writing without disabling interrupts (if you're careful!)


https://youtu.be/eDoQZULH9Ok

This Video lesson matches the text lesson on my website, and you can get the source code as well...
http://www.chibiakumas.com/z80/multiplatform.php#LessonM6
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.179
  • Country: au
    • index.php?action=treasury
  • Liked: 846
In this lesson we'll look at my "Template interrupt Handler"
It works on all systems (CPC/MSX/EP128/SAM/ZX) can use Interrupt Mode 1 or 2, protect some or all registers for you, and even allows you to misuse the stack for Reading/Writing without disabling interrupts (if you're careful!)


https://youtu.be/eDoQZULH9Ok

This Video lesson matches the text lesson on my website, and you can get the source code as well...
http://www.chibiakumas.com/z80/multiplatform.php#LessonM6


This lesson is amazing - my favourite one so far.
Interrupts are something I've always struggled with, but not any more!
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
*** Updated - yesterdays upload had rubbish audio, correct version re-uploaded ***

Lesson P3 of my Z80 tutorials is up: Bitmap graphics on the Amstrad CPC and Enterprise 128

This lesson will provide a 'Common' method of using bitmap graphics on all systems., and provides sample code which works in 4 or 16 color, and 320 or 256 pixel screen width.

We'll be looking at the Sam Coupe,MSX Spectrum and Ti-83 versions later!


https://youtu.be/_W62vFBzlew

Source and Text-Notes on my website as usual:
http://www.chibiakumas.com/z80/platform.php#LessonP3
« Last Edit: 07:03, 03 June 18 by keith56 »
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 421
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 706
I've uploaded a 'teaser video' of a little project I'm doing next month, I'm planning to attempt to recreate an old XT-DOS game called 'Grime' on the Z80 - I'm going to try to do the whole thing in 7 days... sounds easy? well perhaps not!

I'm going to try to make one game that can compile on to 11 different target platforms (CPC/ZX/MSX1/MSX2/TI83/Enterprise/SamCoupe/Gameboy/GameboyColor/MasterSystem/GameGear)


https://www.youtube.com/watch?v=B2XKdiUEx80

The game will be released free and open source, it's intended as a 'learning tool' that people can build on if they want to try to make their own multiplatform games!
Of course, there's every chance I'll come across problems, but I'm optimistic I can pull it off!

I'm hoping this will be of interest to people!?
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Learn Z80 Assembly programming for CPC,Speccy,MSX + More with my Text+Videos Tutorials:http://www.chibiakumas.com/z80/

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.179
  • Country: au
    • index.php?action=treasury
  • Liked: 846
I'm *really* looking forward to seeing how this goes.
It will be very interesting indeed.
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494