English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General > Coders. Tutorials

 
 
Thread Tools
Old 08 February 2022, 09:38   #1
Coppis
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:
I just added Part 5 on my github repository!

Last edited by Coppis; 17 February 2022 at 10:56.
Coppis is offline  
Old 08 February 2022, 10:13   #2
Coppis
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.
Coppis is offline  
Old 08 February 2022, 10:25   #3
fxgogo
Also known as GarethQ
 
fxgogo's Avatar
 
Join Date: May 2019
Location: Twickenham / U.K.
Posts: 715
This sounds exciting. Are you pitching it towards beginners?
fxgogo is offline  
Old 08 February 2022, 11:49   #4
WayneK
Registered User
 
Join Date: May 2004
Location: Somewhere secret
Age: 50
Posts: 364
For gfx conversion I would also add KingCon by Hannibal, which is part of his WinUAE demo toolchain... for native Windows IFF conversion.
WayneK is offline  
Old 08 February 2022, 13:22   #5
Coppis
Registered User
 
Join Date: Oct 2020
Location: Italy
Posts: 26
Quote:
Originally Posted by fxgogo View Post
This sounds exciting. Are you pitching it towards beginners?
Yes, the only pre-requisite will be the knowledge of Motorola 68000 Assembly language.
Coppis is offline  
Old 08 February 2022, 14:52   #6
gimbal
cheeky scoundrel
 
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,903
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.
gimbal is offline  
Old 08 February 2022, 16:01   #7
Coppis
Registered User
 
Join Date: Oct 2020
Location: Italy
Posts: 26
Quote:
Originally Posted by gimbal View Post
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.
Thanks!
Coppis is offline  
Old 08 February 2022, 16:01   #8
Coppis
Registered User
 
Join Date: Oct 2020
Location: Italy
Posts: 26
Quote:
Originally Posted by WayneK View Post
For gfx conversion I would also add KingCon by Hannibal, which is part of his WinUAE demo toolchain... for native Windows IFF conversion.
Can you post a download link?
Coppis is offline  
Old 08 February 2022, 16:32   #9
Coppis
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.
Coppis is offline  
Old 08 February 2022, 17:27   #10
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
Quote:
Originally Posted by Coppis View Post
Can you post a download link?
https://www.pouet.net/prod.php?which=65625
hooverphonique is offline  
Old 08 February 2022, 19:41   #11
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,516
Quote:
Originally Posted by Coppis View Post
Yes, the only pre-requisite will be the knowledge of Motorola 68000 Assembly language.
Then they are not THAT beginners
saimon69 is offline  
Old 08 February 2022, 20:07   #12
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 372
Quote:
Originally Posted by saimon69 View Post
Then they are not THAT beginners
Lol!

The Amiga is special.

Yes. Even someone that knows 68k assembly is a beginner when it comes to writing code for the Amiga.

Now if we were talking about the Atari ST with its dumb frame buffer you'd be right to sneer.
mc6809e is offline  
Old 08 February 2022, 20:17   #13
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,516
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
saimon69 is offline  
Old 08 February 2022, 20:20   #14
redblade
Zone Friend
 
redblade's Avatar
 
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
Cool, will you be using VBlank ($6c.w) for main routine? Looking forward to the scrolling background part
redblade is offline  
Old 09 February 2022, 12:14   #15
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 4,856
Here are two books : http://eab.abime.net/showthread.php?...57#post1344257
malko is offline  
Old 11 February 2022, 16:53   #16
Coppis
Registered User
 
Join Date: Oct 2020
Location: Italy
Posts: 26
Thumbs down Take control of the Amiga hardware

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.
Coppis is offline  
Old 12 February 2022, 08:01   #17
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Syntax Highlighting would be nice for readability

Part 1 & 2 are present here (EAB) but not on Github.
kamelito is offline  
Old 14 February 2022, 12:23   #18
Coppis
Registered User
 
Join Date: Oct 2020
Location: Italy
Posts: 26
Quote:
Originally Posted by kamelito View Post
Syntax Highlighting would be nice for readability

Part 1 & 2 are present here (EAB) but not on Github.

I just added syntax highlighting and reviewed the text to make it leaner and clearer.
I will convert Part 1&2 into markdown and put them on GitHub too.
Coppis is offline  
Old 14 February 2022, 20:47   #19
BippyM
Global Moderator
 
BippyM's Avatar
 
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
BippyM is offline  
Old 15 February 2022, 10:33   #20
Coppis
Registered User
 
Join Date: Oct 2020
Location: Italy
Posts: 26
Quote:
Originally Posted by BippyM View Post
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

ok
Coppis is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 08:06.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.24394 seconds with 13 queries