Skip to content

Instantly share code, notes, and snippets.

@lucasw
Last active August 22, 2018 13:37
Show Gist options
  • Save lucasw/47f4041f79aea451c186870c33af4019 to your computer and use it in GitHub Desktop.
Save lucasw/47f4041f79aea451c186870c33af4019 to your computer and use it in GitHub Desktop.
Amiga Programming

The Future Was Here

https://mitpress.mit.edu/books/future-was-here by Jimmy Maher https://twitter.com/digiantiquarian

This book was good though needed hardware diagrams, more explanation of the chipset- it's more complicated than for example a standalone NES ppu so deserves more technical detail.

UAE

Use fs-uae-launcher instead of fs-uae.

Trying out fs-uae on Ubuntu 16.04- it boots slowly and takes over the mouse and keyboard and doesn't give them back, though can press ctrl-alt-f1 and get into a terminal to kill it from the command line. Also can press f12 and move the selection to the quit x in the upper right.

Is there a keyboard shortcut to give back the mouse and keyboard, or a way to boot with more sane settings?

https://fs-uae.net/keyboard-shortcuts

F12 + G apparently is what I need.

(process:7440): GLib-WARNING **: /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmem.c:483: custom memory allocation vtable not supported
FS-UAE 2.6.2
Copyright 1995-2002 Bernd Schmidt, 1999-2015 Toni Wilen,
2003-2007 Richard Drummond, 2006-2011 Mustafa 'GnoStiC' Tufan,
2011-2015 Frode Solheim, and contributors.

This is free software; see the file COPYING for copying conditions. There
is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the README for more copyright info, and the source code for
a full list of contributors

UAE: Initializing core derived from WinUAE 3100
LOG: /home/lucasw/Documents/FS-UAE/Cache/Logs/fs-uae.log.txt
UAE: KS ROM a63586e4 (524288 bytes)
UAE: KS ROM 3ad2601f (524288 bytes)
UAE: Calling uae_quit
UAE: Stopping
AL lib: (WW) alcCloseDevice: Releasing context 0x60080a0
AL lib: (WW) FreeContext: (0x60080a0) Deleting 2 Source(s)
AL lib: (WW) FreeDevice: (0x6015a20) Deleting 96 Buffer(s)

Version 2.2.3 seems to lock up a lot, doesn't release the mouse and keyboard when it does lock up so requires ctrl-alt-f1 then kill -9 the launcher and uae.

Try latest from source.

sudo apt-get install libmpeg2-4-dev libopenal-dev
git clone https://github.com/FrodeSolheim/fs-uae.git
./bootstrap
./configure --prefix=$HOME/other/install
make -j8
...
emu/src/audio/openal-audio.o -MD -MP -MF $depbase.Tpo -c -o libfsemu/src/audio/openal-audio.o libfsemu/src/audio/openal-audio.c &&\
	mv -f $depbase.Tpo $depbase.Po
libfsemu/src/audio/openal-audio.c:64:5: error: unknown type name ‘ALuint’
     ALuint source;

Try stable branch

git clean -fdx  # delete detritus from other build
git checkout remotes/origin/stable
git checkout -b stable
...
updating: share/locale/fi/LC_MESSAGES/ (stored 0%)
updating: share/locale/fi/LC_MESSAGES/fs-uae.mo (deflated 55%)
updating: share/applications/ (stored 0%)
updating: share/applications/fs-uae.desktop (deflated 28%)
make[2]: Leaving directory `/home/lucasw/other/games/amiga/fs-uae'
make[1]: Leaving directory `/home/lucasw/other/games/amiga/fs-uae'

That worked

make install
...
which fs-uae
/home/lucasw/other/install/bin/fs-uae
which fs-uae-launcher
/usr/bin/fs-uae-launcher

The install didn't get the launcher- will the launcher select the right binary?

Should uninstall the other one.

The version is 2.2.3, so likely has same issues.

fs-uae-launcher is separate project https://github.com/FrodeSolheim/fs-uae-launcher.git

There is no configure script, edit the prefix in Makefile, then make install.

Running it fails, even after uninstalling fs-uae

which fs-uae-launcher
/home/lucasw/other/install/bin/fs-uae-launcher
fs-uae-launcher
bash: /usr/bin/fs-uae-launcher: No such file or directory

2.6.2 is on Ubuntu 16.04 - it seems to work a lot better - why isn't the stable in github that version? Or was I not really running the built source version?

Free/Public Domain Games

http://www.amigapd.com/downloads-a-games.html requires downloading in giant rar bundles, instead of individual files.

Amoeba Invaders - boots Air Aces - boots

How to get to workbench so non-booting games can be run?

http://classicwb.abime.net/classicweb/downloaduae.htm

https://fs-uae.net/docs/getting-started

http://www.factor5.de/downloads.shtml R-Type is available for non-commercial use

Resources

https://www.reaktor.com/blog/crash-course-to-amiga-assembly-programming/

M68000 reference manual

http://www.nxp.com/assets/documents/data/en/reference-manuals/M68000PRM.pdf

Is there a text/online version?

http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0060.html

C programming

Cross-compile from linux?

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

Can I compile C applications into bootable disks that work on A500 wb 1.3?

@lucasw
Copy link
Author

lucasw commented Jun 19, 2018

VASM

1.8c

http://sun.hasenbraten.de/vasm/index.php?view=relsrc

make CPU=m68k SYNTAX=mot
cd $HOME/other/install/bin
ln -s ~/other/retro/amiga/vasm/vasmm68k_mot

Example programs

https://github.com/uhef/amiga-assembly-crashcourse

copy the executable example to hd.

Then start the shell.

cd hd:
example

reactor-amiga

It's smoother than this, that is a gif made from a bunch of screenshots.

@lucasw
Copy link
Author

lucasw commented Aug 22, 2018

Load a configuration and save state from the command line:

fs-uae $HOME/Documents/FS-UAE/Configurations/fsuae_config.fs-uae --load-state 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment