logo

Can a Commodore Amiga help you cook a pizza? -- Amiga GUI app development in C

time2 yr agoview93 views

Topaz Rabbit walks us through writing a pizza timer app in C on the Commodore Amiga. Follow along and learn about Intuition, GadTools, devices, message ports, IO, and even signals!

Thanks to Tyrel (@tyrel@social.tyrel.dev)!

  • Mastodon: https://oldbytes.space/@TopazRabbit
  • Website: https://theindustriousrabbit.com/
  • RSS: https://theindustriousrabbit.com/index.xml

Chapters

00:15 - Introduction 00:40 - Intuition 01:17 - Opening a Window 01:50 - GadTools 03:31 - setup and teardown 03:53 - Fonts 04:29 - Timer Logic 05:24 - Amiga code documentation 05:53 - Message Ports 06:34 - Intuition Direct Communication Message Port (IDCMP) 09:06 - Time & timer.device 10:01 - Synchronous & Asynchronous IO 11:40 - Alerting the user with DataTypes audio playback 12:43 - Signals 13:27 - Intuition menus 14:19 - The About window 14:45 - App testing with CodeWatcher and avail 15:25 - Conclusion


References

Amiga documentation and tools:

  • Elowar (http://amigadev.elowar.com/)
  • d0.se (https://d0.se/docs)
  • CodeWatcher (http://aminet.net/package/dev/debug/CodeWatcher)

C tutorials:

  • P.J. Hutchison's Amiga C tutorials, where I got started with Amiga C (http://www.pjhutchison.org/tutorial/amiga_c.html)

Source code:

  • Pizza timer on hackerbun (https://code.hackerbun.dev/TheIndustriousRabbit/topaz-pizza-timer-amigaos-204/)

Credits

Music:

  • "Itty Bitty 8-bit" & "Industrious Ferret" by Kevin MacLeod https://incompetech.com CC-BY 3.0 (http://creativecommons.org/licenses/by/3.0/)
  • "Bells" by Nihilore https://nihilore.com CC-BY-NC 3.0 (https://www.nihilore.com/license)

Sound Effects:

  • "Reception Bell" by cdrk https://freesound.org/people/cdrk/sounds/264594/ CC-BY 4.0
  • "d-von request, A UFO Abducting 02, Remastered.wav" by MATRIXXX_ https://freesound.org/people/MATRIXXX_/sounds/659542/ CC-0
  • "Explosion" by FlashTrauma https://freesound.org/people/FlashTrauma/sounds/398283/ CC-0
Loading comments...