![]() |
![]() |
#1 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
Assembly Game Programming Tutorial series
Hello,
I'm writing an Amiga game in assembly for myself and I thought that would be interesting to share the knowledge with other people. The tutorials will be addressed to beginners, the only pre-requisite is the knowledge of Motorola 68000 Assembly language programming. The tutorial contents will be the following:
Last edited by Coppis; 17 February 2022 at 10:56. |
![]() |
![]() |
#2 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
Part 1: Amiga Game Programming Tools
Before starting game development on Amiga, you will need some tools. I prefer free and open source tools.
Amiga Emulator I suggest using WinUAE. I recommend to use Kickstart 3.1 Operating System and if you want an easy way to get a pre-configured Amiga environment, you can use ClassicWB. Assembler My favourite assembler for Amiga is AsmPro, because it has syntax highlighting and a good debugger. Code Editor I suggest to write code on Windows, using a modern editor, in this way you will be more productive. It is essential to have powerful search and code navigation functions. My choice is Notepad++ with an extension for Motorola 68000 assembly. But you can also use Visual Studio Code with Amiga Assembly Extension. Souce code versioning You will need a tool to manage the versioning of your source code. My choice is GIT. You can use a free GitHub account. My favourite free GIT client for Windows is SourceTree. Graphic Editor To create or edit graphic assets in Amiga IFF format, I suggest to use Cloanto Personal Paint or Deluxe Paint IV on Amiga. A version of Deluxe Paint is bundled in ClassicWB. On Windows you can use Pro Motion NG a good tool for creating and editing pixel art graphics. Also on Windows you can use KingCon by Hannibal, which is part of his WinUAE demo toolchain. RAW Graphic Converter You will need a converter from IFF to RAW image format. My favourite tool on Amiga is ArtPro 1.20. Audio Editor To edit audio files for sound effects, I suggest to use on Windows Audacity, which is free. Audio Converter You will need a converter from WAV format to RAW 8 Bit samples. My favourite tool is SoX for Windows. File Manager for Amiga My favourite file manager on Amiga is Dopus, included in ClassicWB. Last edited by Coppis; 08 February 2022 at 18:15. |
![]() |
![]() |
#3 |
Also known as GarethQ
Join Date: May 2019
Location: Twickenham / U.K.
Posts: 748
|
This sounds exciting. Are you pitching it towards beginners?
|
![]() |
![]() |
#4 |
Registered User
Join Date: May 2004
Location: Somewhere secret
Age: 50
Posts: 366
|
For gfx conversion I would also add KingCon by Hannibal, which is part of his WinUAE demo toolchain... for native Windows IFF conversion.
|
![]() |
![]() |
#5 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
|
![]() |
![]() |
#6 |
cheeky scoundrel
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 43
Posts: 7,088
|
If you want to generate (retro-sounding) sound effects, SFXR is quite cool.
https://www.drpetter.se/project_sfxr.html Works well in conjunction with Audacity. |
![]() |
![]() |
#7 | |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
Quote:
|
|
![]() |
![]() |
#8 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
|
![]() |
![]() |
#9 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
Part 2: Reference documentation
Motorola 68000 Assembly:
A good old book is "Mastering Amiga Assembler" Another good book is "Amiga Machine Language" For italian people there is a huge ebook by F.Ciucci of RamJam. Unfortunately it's only available in italian language. A good video tutorial is provided by Phaze101: [ Show youtube player ] A good reference for instruction set is: Motorola 68000 Programmer's Reference Manual Amiga Hardware: The "Bible" is the Amiga Hardware Reference Manual. It's also available online in html format here. If you prefer a printed book, my suggestion is "Bare-Metal Amiga Programming: For OCS, ECS and AGA". Last edited by Coppis; 08 February 2022 at 16:43. |
![]() |
![]() |
#10 |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,659
|
|
![]() |
![]() |
#11 |
J.M.D - Bedroom Musician
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,673
|
|
![]() |
![]() |
#12 |
Registered User
Join Date: Jan 2012
Location: USA
Posts: 374
|
|
![]() |
![]() |
#13 |
J.M.D - Bedroom Musician
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,673
|
Well am below atari ST i just know barely how to read a mouse click and my assembly ends there, so am thinking one day someone will do a tutorial for potatoes like me hopefully
|
![]() |
![]() |
#14 |
Zone Friend
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,130
|
Cool, will you be using VBlank ($6c.w) for main routine? Looking forward to the scrolling background part
|
![]() |
![]() |
#15 |
Ex nihilo nihil
Join Date: Oct 2017
Location: CH
Posts: 5,137
|
Here are two books : http://eab.abime.net/showthread.php?...57#post1344257
![]() |
![]() |
![]() |
#16 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
![]()
I just added Part 5: Take control of the Amiga hardware
Please post your feedbacks, suggestions, questions here! Last edited by Coppis; 11 February 2022 at 19:08. |
![]() |
![]() |
#17 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,890
|
Syntax Highlighting would be nice for readability
![]() Part 1 & 2 are present here (EAB) but not on Github. |
![]() |
![]() |
#18 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
|
![]() |
![]() |
#19 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
This looks great.
I have moved it out of the asm sub-forum into tutorials and closed the other thread in here. I think this is possibly the best place for it |
![]() |
![]() |
#20 |
Registered User
Join Date: Oct 2020
Location: Italy
Posts: 26
|
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Danish Amiga Assembly Programming Course | Controller | Coders. Tutorials | 62 | 26 December 2021 15:10 |
Beginning Amiga Assembly Tutorial(s) | Curbie | Coders. Asm / Hardware | 15 | 29 May 2020 00:21 |
MC68000 series tutorial series | Nightfox | Coders. Asm / Hardware | 18 | 08 July 2017 00:49 |
CU Amiga C Programming Tutorial | EternalAmiga | Coders. General | 34 | 10 April 2013 23:29 |
Beginning Amiga Assembly Programming | Hewitson | Coders. Tutorials | 32 | 09 October 2012 18:25 |
|
|