Amiga programming examples
Go to file
alpine9000 e370d2af59 Update README.md 2016-03-09 14:53:30 +11:00
000.trackdisk Cleaned up dir structure 2016-03-04 11:46:54 +11:00
001.simple_image Update README.md 2016-03-09 14:50:46 +11:00
002.sprite_display Cleaned up dir structure 2016-03-04 11:46:54 +11:00
003.music Update README.md 2016-03-09 14:51:54 +11:00
004.copper_bars Update README.md 2016-03-09 14:53:30 +11:00
005.copper_vert Cleaned up dir structure 2016-03-04 11:46:54 +11:00
006.simple_blit Cleaned up dir structure 2016-03-04 11:46:54 +11:00
007.masked_blit Update imagecon calls in Makefiles for new usage 2016-03-07 20:23:19 +11:00
008.shift_blit Update imagecon calls in Makefiles for new usage 2016-03-07 20:23:19 +11:00
009.anim_blit Update imagecon calls in Makefiles for new usage 2016-03-07 20:23:19 +11:00
010.blit_speed Updated binary due to imagecon fix 2016-03-08 21:25:51 +11:00
011.ehb_mode Added 011.ehb_mode adf 2016-03-07 20:25:02 +11:00
012.ham_mode Minor cleanup 2016-03-08 21:24:50 +11:00
013.dithered_ham Update README.md 2016-03-08 21:36:01 +11:00
assets Missing image 2016-03-06 21:09:08 +11:00
doc Cleaned up dir structure 2016-03-04 11:46:54 +11:00
examples Simple blit 2016-03-03 14:34:58 +11:00
include First attempt at HAM mode 2016-03-07 20:26:44 +11:00
shared README typos, forgot to add base.mk 2016-03-05 20:35:13 +11:00
tools Tried some different color error functions 2016-03-08 21:27:09 +11:00
.gitignore
Makefile Update imagecon calls in Makefiles for new usage 2016-03-07 20:23:19 +11:00
README.md Update README.md 2016-03-04 20:30:01 +11:00

README.md

(re)Learning how to program an Amiga after a 20 year break

introduction

This repo contains example programs I have written as I re-learn how to program an amiga. The programs are written in assembler and directly access the hardware. The target is an Amiga 500 (my long lost friend). Currently I do not own an amiga, so I can only test using UAE, so it's possible they will not work on the real hardware.

Don't use this as an amiga programming guide. I don't do things the "correct" way. There are heaps of great guides out there if you want to do things the right way.

documentation

Most of the sites I have used during the learning process:

cross development environment

These examples are developed on a mac using cahirwpz's AmigaOS cross compiler for Linux / MacOSX / Windows.

https://github.com/cahirwpz/amigaos-cross-toolchain

The support tools I have developed have additional requirements which you may not have on your system.

For a dump of what I did to install them see installing the cross development environment

building

Build all examples by running make at the top level directory.

Each example will have an ADF file in it's bin directory. These files can be loaded directly as DF0: on FS-UAE or Scripted Amiga Emulator using the AROS ROM.

Individual examples can be built by entering the directory and running make:

# cd 001.simple_image
# make

tools

The following cross development tools have been developed to support the examples:

Each tool has a test to check if any changes you have made have broken basic functionality:

# cd tools/imagecon
# make test
______  ___   _____ _____ ___________
| ___ \/ _ \ /  ___/  ___|  ___|  _  \
| |_/ / /_\ \\ `--.\ `--.| |__ | | | |
|  __/|  _  | `--. \`--. \  __|| | | |
| |   | | | |/\__/ /\__/ / |___| |/ /
\_|   \_| |_/\____/\____/\____/|___/
#

or test all by running make test at the top level

license

Some of the code I have included in this repository is copyright by various authors and provided under various licenses. Copyright notices are preseved where possible.

Some of the tools use GPL licensed libraries which would mean they could only be distributed under the conditions of the respective version of the GPL.

All code without a copyright notice is probably in the public domain.