Welcome, Guest. Please login or register.


Author Topic: My Youtube Programming Tutorials (Read 1081 times)

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 55.0 Firefox 55.0
    • View Profile
    • ChibiAkumas
My Youtube Programming Tutorials
« on: 2018.March.04. 09:09:26 »
I thought I'd let everyone know,
I'm doing a series of Z80 Assembly tutorials, and I'm planning to include some Enterprise 128 programming content

I've just uploaded my first Enterprise related video - as one of my patreon backers asked me to cover it.
https://www.youtube.com/watch?v=CtZHk__bkgE

It's probably beneath the skill level of people on here, but I thought I'd let people know I was trying to do my bit to promote the system!
Please feel free to comment in the Youtube video and fill in the massive gaps in my knowledge - there were quite a few places I would have liked to explain better.

I plan to do more content about programming the EP128 in the future, once I've finished my tutorials of the basic Z80 commands, also for those who don't know, I'm planning to port my ChibiAkumas game to the Enterprise!

Thanks for reading!,
Keith
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 55.0 Firefox 55.0
    • View Profile
    • ChibiAkumas
Re: My Youtube Programming Tutorials
« Reply #1 on: 2018.March.24. 23:46:13 »
The first of my new "Platform Specific" Series is on youtube!... this series will cover the Enterprise alongside the other more well known Z80 systems...
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
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80

Offline lgb

  • EP addict
  • *
  • Posts: 3494
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 59.0 Firefox 59.0
    • View Profile
    • http://lgb.hu/
Re: My Youtube Programming Tutorials
« Reply #2 on: 2018.March.25. 01:45:57 »
Very nice, especially Enterprise related stuff is kinda uncommon for many people even if they're familiar with Z80 based systems, so it's a nice move :)

Offline Povi

  • EP addict
  • *
  • Posts: 1701
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 65.0.3325.181 Chrome 65.0.3325.181
    • View Profile
    • http://povi.fw.hu
Re: My Youtube Programming Tutorials
« Reply #3 on: 2018.March.25. 09:39:06 »
nice videos!

do you know, why Enterprise has "strange" escape sequencies, and control codes? (for example chr(26) for clear screen, and ESC '=" for cursor positioning)
It comes from the old ADM-3A terminal
http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/DP-104%20ADM-3A%20Operators%20Manual.pdf
*** Speicherplatz zu klein

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 57.0 Firefox 57.0
    • View Profile
    • ChibiAkumas
Re: My Youtube Programming Tutorials
« Reply #4 on: 2018.March.25. 16:06:10 »
nice videos!

do you know, why Enterprise has "strange" escape sequencies, and control codes? (for example chr(26) for clear screen, and ESC '=" for cursor positioning)
It comes from the old ADM-3A terminal
http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/DP-104%20ADM-3A%20Operators%20Manual.pdf

No, I didn't know that - thanks for that little bit of info!...
I have done some programming work with 8 bit printers, and they often use ESC codes - so I had assumed that was where it came from.. actually the CPC can use special characters to do color changes and 'overtype'... often I refer to things as 'strange' or 'annoying' in the videos, not really because they are that unexpected, but because I'm aiming for a 'beginner' audience who will not expect things to work that way
I find it fascinating how these old machines came to work the way they do... and just how different to each other the 4 computers I'm focusing on are... even though they have the same CPU, and were in the same approximate price rage... compared to other systems!
« Last Edit: 2018.March.26. 00:57:32 by Keith56 »
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80

Offline geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: My Youtube Programming Tutorials
« Reply #5 on: 2018.March.26. 09:14:06 »
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
Now I could not watch the video with sound, I just took samples, but I was surprised last time, because I understood everything, I just checked my understanding by subtitles, and now i understood everything in the samples also :) Your videos are cool, well organized, and even i can understand :)
The documentation, and sources are available here!
http://www.chibiakumas.com/z80/platform.php#LessonP1
I watched rhe documentation and sources, very nice :)

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 55.0 Firefox 55.0
    • View Profile
    • ChibiAkumas
Re: My Youtube Programming Tutorials
« Reply #6 on: 2018.April.01. 09:17:59 »
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...
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
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80

Offline geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: My Youtube Programming Tutorials
« Reply #7 on: 2018.April.02. 12:07:43 »
Cool video, I have never had getting to my mind to create an own debugger, good idea :)

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 57.0 Firefox 57.0
    • View Profile
    • ChibiAkumas
Re: My Youtube Programming Tutorials
« Reply #8 on: 2018.April.03. 01:15:06 »
The 'debugger' was because I was finding spectrum development so difficult, it was one of those.. "I'm sure I could write something better than this" kind of feelings... so I did!

It's making developing on so many systems easier... having 'tools' that work the same... it gets to the point that it's easier to use my own stuff than learn the best way to use the emulator's built in tools

I'm adding the Sam Coupe to my tutorials starting this weekend - which brings the system count up to 6!
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: My Youtube Programming Tutorials
« Reply #9 on: 2018.April.03. 18:39:46 »
An interesting bit about the LD A, I instruction used in MonitorEICheck, the setting of P/V flag is buggy on a real NMOS Z80. If an IRQ is accepted during the execution of the opcode, the flag will be set as if interrupts were disabled. May not be a problem in the debugger, but it did cause trouble in one of my old CPC to EP ports. :)

Offline BruceTanner

  • EP user
  • *
  • Posts: 456
  • Country: gb
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 65.0.3325.109 Chrome 65.0.3325.109
    • View Profile
Re: My Youtube Programming Tutorials
« Reply #10 on: 2018.April.03. 20:13:56 »
This is how EXDOS gets around the z80 bug:

Code: [Select]
TST_IRQ::
;
;    This is a public subroutine because it is called by RAMUNIT as well as
; by DISKIO.  It returns carry flag set if interrupts were disabled and
; clear if they were enabled.  Also it disables interrupts.
;
;
XOR A ;Push a zero on stack and pop it
PUSH AF ; back off so we can tell if it gets
POP AF ; overwitten with IRQ return address.
LD A,R ;Get IRQ state
DI
RET PE ;Return if interrupts enabled
DEC SP ;If they appear disabled then check
DEC SP ; whether the zero is still below stack
POP AF
OR A ;If not then interrupts must have been
RET NZ ; enabled so return with carry clear.
;
SCF ;Return with carry set to indicate
RET

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 55.0 Firefox 55.0
    • View Profile
    • ChibiAkumas
Re: My Youtube Programming Tutorials
« Reply #11 on: 2018.April.04. 12:02:29 »
Thanks for the tip! I didn't know the LD A,I trick wasn't reliable...

I'll test this out, and assuming I don't have any problems with it, replace the one in my tutorials with it (at least for the Enterprise)...

Just for the record, my Chibi Akumas game never 'Checks' interrupts, because they have to be almost always enabled for the 'CPC raster effect' to work well.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 57.0 Firefox 57.0
    • View Profile
    • ChibiAkumas
Re: My Youtube Programming Tutorials
« Reply #12 on: 2018.April.10. 05:03:01 »
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
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80

Offline Keith56

  • Beginner
  • *
  • Posts: 27
  • Country: jp
  • Z80FTW!
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 55.0 Firefox 55.0
    • View Profile
    • ChibiAkumas
Re: My Youtube Programming Tutorials
« Reply #13 on: 2018.April.15. 23:50:00 »
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
Beginners guide to Mulltiplatform Z80 Assembly Programming...http://www.chibiakumas.com/z80