Planet Industrious Rabbit

Here you’ll find regularly updated posts from the various places where The Industrious Rabbit happens – across the Fediverse, here on this blog, and in the various apps that support the project.

@TopazRabbit@oldbytes.space

Via Topaz 🐇

November 27, 2024 12:47 PM

One of the most enlightening things about working on this Amiga game in assembler is figuring out the best ways for me to structure this code for the best separation of concerns and testability. Getting from the YOLO stage of coding to a well-organized structure is a lot harder in assembler than it is in higher level languages, that's for sure.

Bun Runner Devlog -- 2024-11-22

Via Blog -- The Industrious Rabbit

November 22, 2024 12:00 AM

This week was about getting a basic level “editor” working, using a combination of a Ruby script with RMagick and an image from LibreSprite:

Lineart of a level

The level generation works, and I restructured a ton of code to make dynamic level loading work. However, the more complex levels revealed an issue in collision detection that I need to debug.

To make this easier, I’m finally adding some on-screen debugging to the game:

Bun Runner game with 1234 printed on screen

I needed the ability to write text to the info screen anyway. I also need to tweak the copperlist split screen a bit more (that’s the red glitch), but that can come later.

Next will be fixing that collision detection, then reworking the background art to be two 640px images that are tiled rather than one massive 1000px image and fixing the background rendering pipeline.

I went down to a retro computing meetup @bluewizard@mastodon.sdf.org runs on Sunday! I brought my MiSTer and the current build of Bun Runner 2000, which was a big hit. Next few posts will have more pictures from the event. More details at https://www.bluewizard.net/pages/vintagecomputermeetup/. #retrocomputing #commodore #amiga #acorn

Via Topaz on Pixelfed

November 18, 2024 11:18 PM
Wide shot of me in a conference room with retro computers and other people.

I went down to a retro computing meetup @bluewizard@mastodon.sdf.org runs on Sunday! I brought my MiSTer and the current build of Bun Runner 2000, which was a big hit. Next few posts will have more pictures from the event. More details at https://www.bluewizard.net/pages/vintagecomputermeetup/.

#retrocomputing #commodore #amiga #acorn

Bun Runner Devlog -- 2024-11-15

Via Blog -- The Industrious Rabbit

November 15, 2024 12:00 AM

We have a main menu! It’s very simple, but it also forced me to restructure huge chunks of code in order to allow swapping out the menu and the game code.

This included asset loading code, and this restructuring caused me to find a bug that took a few hours to track down. Symptoms:

  • The background would occasionally glitch out when swapping buffers
  • The glitching would mostly stop if I didn’t allocate memory for sprites.

What it came down to was this line:

; D0 contains the address to the background art ADD.W #GAME_SCREEN_LAST_WORD_POSITION,D0 

I was adding a value to an address and scoping to word boundaries, and it kinda worked, as long as I wasn’t wrapping around a 64k boundary when adding that value to the address. Changing how memory was allocated, as sprite memory was allocated before screen memory, would change the start address of screen memory and make this “work”.

But I have a menu now! Oh and some more animation! The rabbit will angle up and down depending on vertical velocity, and the jetpack has animation now, too!

A cartoon rabbit running around in a world of floors and ceilings

Next will be changing up some game behaviors, and then on to some fun bits of the game.

@TopazRabbit@oldbytes.space

Via Topaz 🐇

November 9, 2024 2:25 PM

I'm making some more strides in getting comfortable with Amiga dev in assembler. I figured out how to structure files and code in a way that works for me, switched to BDebug, and am getting better at catching my common assembler pitfalls before I fall into them.

Bun Runner Devlog -- 2024-11-09

Via Blog -- The Industrious Rabbit

November 9, 2024 12:00 AM

Another week of slow progress, but this is mainly due to some really heavy refactoring work. I wanted to use ptplayer for music, and that required having my code in a ready-to-link format. If I was going to do this, I was going to do it right, and so I restructured all of the code using all of the techniques I use when working with higher level languages:

  • proper separation of concerns into deep modules
  • “data classes” that enforce structure

My biggest problem holding me back was that MonAm did not like it as all when I gave it linked code:

  • I lost all my symbols
  • Source code mode was non-existent, though that barely worked for me anyways

Along with all the refactoring, I switched to using BDebug in the Barfly assembler package, and I haven’t looked back. Symbols, source code, proper OS 2.0 windows, full mouse support, command line arguments, and lots and lots of great options.

Along with reworking the game code in this way, I restructured my art compression tool to get more practice. I’ve gotten a lot better at restructing assembler code and figuring out the good places to divide up modules. Once I feel really confident that this is the way to go, I’ll write up an article detailing my approach, if you want to try it out yourself.

Oh, and music playback works!

Bun Runner Devlog -- 2024-11-01

Via Blog -- The Industrious Rabbit

November 1, 2024 12:00 AM

Not as much progress this week, but some good code cleanups and performance enhancements:

  • Spreading out redraw work across multiple frames
  • Getting background rendering mostly working
  • Precalculating double buffer calculations

Next will be getting the double buffering to happen independently between the front and back planes, which will allow for smooth backgrounds and foregrounds. Then I’ll work on externalizing some more of the game from the code, moving maps to separate files that can be loaded in and adding some other colors to the output.

A cartoon rabbit running around in a world of floors and ceilings

Bun Runner Devlog -- 2024-10-25

Via Blog -- The Industrious Rabbit

October 25, 2024 12:00 AM

Lots of progress this week!

  • Full joystick handling, including getting the jetpack working and decent jumping physics
  • Drawing lots more stuff on screen:
    • Textured 4 bitplane floors
    • 1 bitplane ceilngs
    • The jetpack meter
  • Collisions with the floor, ceiling, and walls work
A cartoon rabbit running around in a world of floors and ceilings

I also fixed up some really stupid bugs and got the game working on my MiSTer and A1200:

Bun Runner running on my Amiga 1200
Bun Runner running on my MiSTer

Additionally, I tightened up the art pipeline so when I’m creating assets, it’s easy to get them into the game. I will need to figure out the best way to automate more of the XPK compression, too.

Next I’ll be getting the rest of the draw operations for the background into the game and spreading the writes to the double buffer over a few frames.

Bun Runner Devlog -- 2024-10-18

Via Blog -- The Industrious Rabbit

October 18, 2024 12:00 AM

Going to write up a blog post every week with the progress of my finite-at-first runner for the Amiga. My goals:

  • write something large in Assembler
  • learn as many of the Amiga subsystems as I can
  • make an entertaining, easy-to-pick-up game with as many modern sensibilities as possible

I have no timeline to get a WIP out for testing because I’ve never worked in Assembler nor this deeply with the Amiga and AmigaOS before!

This week:

  • set up the main game project
  • extracted out relevant code from some things I posted to Mastodon
  • cleaned up keyboard, mouse, and joystick handling, using OS routines for the first two, and direct CIA access for the joystick
    • The two dots in the upper left are the state of the joystick
  • set up file logging for debug messages as printing to stdout while I’ve turned off enough OS things doesn’t work, but writing to a file does
  • cleaned up my assembler XPK art compressor and made it more generic so I can compress more objects into different files as needed (think sprites vs. blitter objects vs. backgrounds vs. music)
  • Got rabbit rendered on the screen and movable with the joystick
  • Animated rabbit frames while moving around on screen
A cartoon rabbit running around on a black screen

I also learned:

  • doing assembler debugging on a PiStorm-equipped Amiga using something like MonAm doesn’t work: https://github.com/michalsc/Emu68/issues/282
    • I tried a build of this branch on my PiStorm32 Lite and tracing in MonAm crashed the machine

@TopazRabbit@oldbytes.space

Via Topaz 🐇

October 9, 2024 1:15 AM

My sprite and XPK compression experimentation is complete! I cranked out a quick 16 color background in DPaint V and combined it all together with the sprite graphics into one archive, packing about 44kb down to 12kb. A little shuffling of memory allocations and Copperlist instructions and the 16 color rabbit is now running around over a 16 color background. I'm going to clean up the source code a little bit, and then get started on my next video.

@TopazRabbit@oldbytes.space

Via Topaz 🐇

October 8, 2024 12:06 PM

Not a terribly exciting update -- I managed to get XPK compression and decompression working for my small sprite exercise, so I can save and load compressed assets. This was mainly to see if I could interact with this library, and to sharpen my 68K assembler skills some more.

The Obligatory Amiga Blitter Video

Via MakerTube -- The Industrious Rabbit

September 26, 2024 10:19 PM

It's time...time for a video on the Commodore Amiga Blitter! Topaz walks through the memory copy capabilities of this feature in the context of a small demo written to exercise the blitter, copper, and sprites.

Thanks to Tyrel (@tyrel@mastodon.social), corb0!

References

Code:

Documentation:

Credits

Music:

SFX:

The Obligatory Amiga Blitter Video

Via Blog -- The Industrious Rabbit

September 26, 2024 6:15 PM

It’s time…time for a video on the Commodore Amiga Blitter! Topaz walks through the memory copy capabilities of this feature in the context of a small demo written to exercise the blitter, copper, and sprites.

Thanks to Tyrel (@tyrel@mastodon.social), corb0!

References

Code

Documentation

Credits

Music

SFX

How did DOS games draw to the screen so fast?

Via MakerTube -- The Industrious Rabbit

May 27, 2024 12:27 PM

The EGA and VGA video standards share some similarities with how the Amiga did graphics, but the similarities end when it comes to the 256 color graphics that defined 90s PC gaming. Topaz walks you through the basics of how those video modes worked, and what made them get so fast over time.

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

References

3d game source code:

Code on Hackerbun:

2d games and the EGA pipeline:

Why are, like, half these examples id Software games?:

  • Graphics Programming Black Book by Michael Abrash (https://www.phatcode.net/res/224/files/html/index.html) - This book not only has a lot of incredible detail about the x86 processor, the DOS platform, and how these EGA and VGA modes work, but the author also worked on the Quake engine, and his earlier articles helped John Carmack make games like Commander Keen run so smoothly. Even if you're not going to write low-level code for retro machines, the first three chapters are a fantastic read for any software developer who gets caught up in prematurely optimizing anything (code, date, features) at any level of the process. Highly recommended.

Credits

Music:

How did DOS games draw to the screen so fast?

Via Blog -- The Industrious Rabbit

May 27, 2024 8:25 AM

The EGA and VGA video standards share some similarities with how the Amiga did graphics, but the similarities end when it comes to the 256 color graphics that defined 90s PC gaming. Topaz walks you through the basics of how those video modes worked, and what made them get so fast over time.

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

References

3d game source code

Code on Hackerbun

2d games and the EGA pipeline

Why are, like, half these examples id Software games?

  • Graphics Programming Black Book by Michael Abrash (https://www.phatcode.net/res/224/files/html/index.html)
    • This book not only has a lot of incredible detail about the x86 processor, the DOS platform, and how these EGA and VGA modes work, but the author also worked on the Quake engine, and his earlier articles helped John Carmack make games like Commander Keen run so smoothly. Even if you’re not going to write low-level code for retro machines, the first three chapters are a fantastic read for any software developer who gets caught up in prematurely optimizing anything (code, date, features) at any level of the process. Highly recommended.

Credits

Music

AMOS Pro BSD Socket Extension 1.1.4 Released

Via Blog -- The Industrious Rabbit

May 2, 2024 12:00 AM

Version 1.1.4 of the AMOS Pro BSD Socket extension is out, and it’s a big one. Thanks to both an anonymous contributor and some improved M68K assembler debugging techniques, this version has multiple crash bugs fixed, as well as an issue that prevented the extension from working well on non-emulated Amigas. Upgrading is highly recommended!

Grab it from Hackerbun Gitea or Aminet:

(1.1.3 was an internal release and not published to the public)

code.hackerbun.dev activity

Via Gitea -- code.hackerbun.dev

April 26, 2024 12:33 PM

code.hackerbun.dev activity

Via Gitea -- code.hackerbun.dev

April 18, 2024 1:10 AM
John Bintz pushed to jb/rd-patches at TheIndustriousRabbit/amos-pro-bsdsocket-extensionc631b3fa49932b96f2d698cb3cb58c80747c2995 Bump version, fix multi-reg moves, add patches to gitignore 1ad514b80bfda7680a6d6af456e9c6fd8f883090 Change up documentation structure bd74050e06cd65406955e1200d88af0d2db1d0ac Ensure fdset macro works with D3 1645cf9ad4b94fc3544799af51df07b0eddee64e Use null-terminated IP address for socket addr lookup

Lots of other fun stuff! * A Nabu set up with a run'n'gun'n'fly game * A Tandy Color Computer running FujiNet and showing Mastodon toots about Sonic the Hedgehog * A SGI Personal Iris * @paulrickards@mastodon.social was pen plotting away #vcfeast #retrocomputing #nabu #fujinet #silicongraphics

Via Topaz on Pixelfed

April 17, 2024 10:20 PM
A Nabu computer running a game. Someone is standing on the left playing the game.

Lots of other fun stuff!

* A Nabu set up with a run'n'gun'n'fly game
* A Tandy Color Computer running FujiNet and showing Mastodon toots about Sonic the Hedgehog
* A SGI Personal Iris
* @paulrickards@mastodon.social was pen plotting away

#vcfeast #retrocomputing #nabu #fujinet #silicongraphics

AMOS Pro BSD Socket Extension 1.1.2 Released

Via Blog -- The Industrious Rabbit

March 18, 2024 12:00 AM

Hot on the heels of 1.1.1 comes even better fixes to string handling in the extension. The issue is that, while the strings returned from the functions were immediately usable, they weren’t being added correctly to the string space AMOS maintains, so you couldn’t do things like concatenate them. I documented the proper usage on the wiki. This fixes up all of the string returning functions in the extension, which means that Socket Recv$ should work as expected now.

Grab it from Hackerbun Gitea or Aminet:

AMOS Pro BSD Socket Extension 1.1.1 Released

Via Blog -- The Industrious Rabbit

March 17, 2024 12:00 AM

I’ve released version 1.1.1 of my BSD Socket extension for AMOS Professional. It fixes two bugs in Socket Inet Ntoa$, a crash bug and an issue where the null terminator in the original string was being copied into the AMOS string, causing issues. There was also an issue with the build script where the latest version of the library was appearing in the wrong place in the archive.

Grab it from Hackerbun Gitea or Aminet:

DOS Arena Game -- Super Alpha Version

Via Blog -- The Industrious Rabbit

March 5, 2024 12:00 AM

I put up the code and binary for a Smash TV/Robotron-like game I built for DOS and PCs with VGA graphics. It works well enough to be playable.

The code is up on Hackerbun Gitea. It has a bunch of code related to working with the PC and VGA card, and it’s the biggest program I’ve written in C so far. It also has unit tests using CuTest, inline assembler, and compiled sprites built using Ruby.

Take it for a spin if you like. Downloadable files are in the project’s Releases. If you have feedback, send it along. I’m not sure when I’ll get back to working on it because I have a video idea I want to do next, but who knows what the future will bring!

AMOS Pro BSD Socket Extension 1.1.0 Released

Via Blog -- The Industrious Rabbit

February 24, 2024 12:00 AM

I’ve released version 1.1.0 of my BSD Socket extension for AMOS Professional. It fixes a bug in Dns Get Host Address By Name$ where I was incorrectly handling string termination from AMOS strings. It also adds Socket Herrno to get error code information from the DNS resolver in the network stack.

Thanks to Allanon on Mastodon for finding the issue and testing out the fix!

Grab it from Hackerbun Gitea or Aminet:

Viewing Amiga images on a DOS PC without conversion? Let's find out how!

Via MakerTube -- The Industrious Rabbit

February 4, 2024 10:25 PM

Young Topaz has an IFF ILBM image he wants to show his dad, but his dad's on his PC. Learn about what it takes to write a simple IFF ILBM reader for DOS.

References

Source Code:

IFF Files:

PC Development:

Credits

Music:

Sound Effects:

Viewing Amiga images on a DOS PC without conversion? Let's find out how!

Via Blog -- The Industrious Rabbit

February 4, 2024 5:22 PM

Young Topaz has an IFF ILBM image he wants to show his dad, but his dad’s on his PC. Learn about what it takes to write a simple IFF ILBM reader for DOS.

References

Source Code

IFF Files

PC Development

Credits

Music

Sound Effects

Hop to the Top: Bunny's Revenge and IFF ILBM files

Via Blog -- The Industrious Rabbit

October 30, 2023 8:00 AM

RobSmithDev released Hop to the Top: Bunny’s Revenge and posted a video about some of the production process. I did some of the graphics for the game, as well as writing the code for the intro. For the graphics, I ended up writing some custom code to automate some of the process, and it was an opportunity to learn about a popular Amiga image format.

My typical process for making art for retro systems is:

  • draw the piece in Krita and export as true color PNG
  • use GNU Image Manipulation Program to convert it to an indexed PNG, cleaning up the pixel art as needed in GIMP
  • use some tool somewhere to turn the indexed PNG into a retro machine friendly format

In the case of the Amiga, I’ve used ArtPRO on the Amiga in the past to convert PNG images to whatever format I needed. With all the art I was making, and potentially remaking, I needed a faster process. ArtPRO is good, but clicking buttons on retro machine software to convert images was going to be too slow.

I was also running into an issue with GIMP not preserving the index order of the color map I had created for the game. I think I had Remove Unused and Duplicate Colors from Colormap enabled which was messing up the color indexes, so be sure to disable that if you’re using a similar process.

Due to this, the resulting color map on the output images was all over the place, so I needed to fix that issue.

I had two approaches I could take:

  • automate the production of a sprite sheet encompassing all of the individual pieces of art and convert it once, fixing the palette issue.
  • convert each piece separately and load them as separate images, finding some other way to speed up the conversion & palette fix.

I chose the latter since I preferred separate image banks to start, over hard-wiring in sprite sheet locations, during initial development.

I decided to write a tool in Ruby that converts indexed color PNG images directly to IFF Interleaved Bitmap (ILBM) files, enforcing the order of the palette. It uses RMagick to load the image, and then implements IFF ILBM writer code to create the Amiga-ready files. It even supports run length encoding compression.

Here’s the source code. It drew heavily from the IFF ILBM reference found here, as well as from a lot of examining IFF ILBM files in hex editors. It only supports images up to 32 colors, so no Extra Half Brite or HAM images. If you end up using it, let me know!

Drawing YOUR REQUESTS on a Quantel Paintbox from the 90s! -- Full Stream

Via MakerTube -- The Industrious Rabbit

September 5, 2023 9:04 PM

I draw your requests on a Quantel Paintbox, specifically a Harriet from the early 90s. Due to streaming issues, I wasn't able to broadcast this live, but I did record the whole stream locally. I made it through three pieces: a rat holding a Quantel RAT (a mouse-like input device), a request from @imrustyok@meow.social for a TV show ad card recreation, and a request from @tyrel@social.tyrel.dev to draw his cat. I thought I was drawing his cat Henry, but it was actually Victor. Oops.

Learn more about the Quantel Paintbox:

Stream music by Nihilore: https://nihilore.com

Drawing YOUR REQUESTS on a Quantel Paintbox from the 90s! -- Full Stream

Via Blog -- The Industrious Rabbit

September 5, 2023 3:00 PM

I uploaded the full Quantel Paintbox live stream, edited a bit to trim out some stream issues and to correct some audio issues. This was my first time not only recording a Paintbox, but also recording away from home, so there were plenty of issues to work around!

Below are the three pieces I produced during the stream. They came out as Targa files from the Paintbox that I converted to JPEG.

Thanks again to Adrian Wilson for providing me access to the Paintbox and giving me lots on instruction on how to use it. Hopefully I’ll get a chance to paint on it again!

Stream music by Nihilore.

A cartoon rat holding a Quantel RAT

A cartoon rat holding a Quantel RAT, an input device for the Paintbox.

A parody of a TV ad card for a show called Mission Bunpossible

A parody of a TV ad card for a show called Mission Bunpossible. This was a request by Rusty Ralston.

A digital painting of a one-eyed black cat, incorrectly titled as Henry

A drawing of Tyrel's cat Victor. I thought it was Henry. Oops! Sorry, Victor.

Drawing YOUR REQUESTS on a Quantel Paintbox!

Via Blog -- The Industrious Rabbit

August 31, 2023 10:00 AM
Anthropomorphic rabbit sitting at Quantel Paintbox announcing that he will draw your requests on September 3rd

I’ve been given access to a V-Series Quantel Paintbox and I want to draw your requests on it! I’ll be on the machine for a few hours, streaming the art production on my PeerTube channel and talking with the Paintbox’s owner, Adrian Wilson, while I draw. Send in your characters, ref sheets, and requests, and I’ll do my best to honor those on this dedicated art machine from the 90s! Don’t make me just draw Topaz and the Amiga custom chip characters over and over, because I will if you don’t send anything in.

Don’t know what a Paintbox is? Watch my latest video to learn more!

Submission Instructions

If you want to submit a drawing request, use the email instructions on the About page to send me your request. Attach or link to any reference images I might need. You must email me your request! Requests made on Mastodon will cause me to point you at these instructions instead.

  • The deadline is Saturday, September 2 at 5pm! Any emails received after then won’t be part of this stream.
  • Requests must be safe for work! I am the sole decider of what that means, and I can work with you beforehand to make it SFW if needed.
  • One request per person, please!
  • Keep attached reference images smaller than 1 MB.
  • I’ll randomize the entries after I’ve sorted through them.
  • I may not get through every entry! If I don’t get to yours, I’ll email you and ask if you’d like me to feature it on a non-Paintbox art stream instead.
  • I’m not going to email you about anything else besides this art stream.
  • I’ll do my best to retrieve the final images off of the machine directly to send to you. If I can’t, you’ll have to settle for a screen capture. Hey, it’s free art from a custom computer from the 90s, whaddaya want?

Digital photo editing a decade before Photoshop? Meet the Quantel Paintbox

Via MakerTube -- The Industrious Rabbit

August 20, 2023 9:05 PM

The popular shorthand for digital photo editing is based on the name of software developed in the 90s. However, that activity was already being done by users of a bespoke art computer developed by a British company in the early 80s, and the public could see the output of this machine everywhere. So why is digital photo manipulation not called "being Paintboxed"?

Thanks to DextersTechLab for actual Paintbox footage and technical assistance, Adrian Wilson for lots of feedback and resources!

Chapters

00:00 - Introduction
00:36 - Digital Video History
01:23 - The Quantel Paintbox
02:33 - Music Videos
02:57 - Paintbox Machines
03:23 - Why is it not called being Paintboxed?

References

Quantel Paintbox Resources:

Credits

Music:

Digital photo editing a decade before Photoshop? Meet the Quantel Paintbox

Via Blog -- The Industrious Rabbit

August 20, 2023 3:00 PM

The popular shorthand for digital photo editing is based on the name of software developed in the 90s. However, that activity was already being done by users of a bespoke art computer developed by a British company in the early 80s, and the public could see the output of this machine everywhere. So why is digital photo manipulation not called “being Paintboxed”?

Thanks to DextersTechLab for actual Paintbox footage and technical assistance, Adrian Wilson for lots of feedback and resources!

References

Quantel Paintbox Resources

Credits

Music

Moving from YouTube to PeerTube

Via Blog -- The Industrious Rabbit

August 20, 2023 10:00 AM

I will no longer be publishing videos on YouTube, and will instead focus on publishing videos using PeerTube, the federated, community-driven video sharing platform. If you’ve never used PeerTube, it’s a lot like YouTube, except it respects you, your attention, and your data much more than Google does. This move fits in with trying to get ahead of what I’ve been experiencing on the Internet in the past few months:

  • Ad-driven corporate services eventually become unusable and hostile to their users (Twitter, Reddit). Given enough time, this will happen to YouTube (and some might say it already has!).
  • You have to play a lot of games on YouTube in order to gain and keep subscribers, and to let them know when new stuff is live (ring the bell, anyone?). These sorts of games will increase in complexity until YouTube just starts asking you to pay them to show your videos to others, while still showing ads on the videos, much like how other social media services have done for years.
  • Automated moderation is overly aggressive out of fear of driving off advertisers or viewers of the company being targeted by scammers. YouTube bots making a questionable assertion about a link in one of my videos pushed me over the line here.
  • I’ve heard enough horror stories about big name YouTubers being caught in an increasingly complex net of automated tooling that denies them access to their accounts or funding, and only the largest and most vocal users are able to get any sort of resolution. Meanwhile, that tooling makes scam accounts nearly impossible to stop, causing channel viewers to get scammed out of lots of money, or accounts, or whatever.
  • Being on the Fediverse for almost a year, interacting from one community-driven server and users to another, has been refreshing and feels like how the Internet felt in the 90s, except with much more modern tools around the communication and content delivery. Try sending something larger than a postage stamp-size video in anything higher than potato quality in the late 90s to someone over dialup! It’s not happening.

I’ve changed all of the video embeds over to MakerTube, the current host for my videos. The Industrious Rabbit has a channel, just like it would on YouTube. I may start other channels for other projects. Whatever is currently on YouTube is all that will be there from now on, and those are not guaranteed to stick around, either.

One downside is that PeerTube does not have account export/import/migration yet, so if my current host goes down, reuploading everything becomes a very long, manual process, and I can’t bring along users. If you like what you see here, follow me on Mastodon just in case the worst case scanerio happens. Of course, YouTube is even worse since it has no official export or migration tools, and makes it very tough to get in touch with all channel subscribers directly! I’ll likely make one final post over there to let interested subscribers know where I’m going.

Check out the other videos MakerTube users have uploaded, and if you like what you see, be sure to donate to your instance admins.

See you on PeerTube!

Amiga Art: "Disney Presents: The Animation Studio" - Ink & Paint Part 3

Via MakerTube -- The Industrious Rabbit

August 2, 2023 1:00 AM

I did it. I finished the animation. Working with this software is more challenging than I expected. It also didn't help that my tablet was having issues with Weylus after a while. I also learn just what Frisket does, and why it's important to Free the Frisket!

Skip to 2:23:54 if you want to see the finished animation playing!

I'll be taking a break from streaming while I focus on the next video, then I'll pick back up with either DeluxePaint V or True Brilliance as my next Amiga art tool to explore.

Stream music by Nihilore (CC-BY 4.0) - https://nihilore.com

Can I fix the non-functioning AMOS BASIC networking library I wrote in 1998?

Via MakerTube -- The Industrious Rabbit

August 2, 2023 12:59 AM

Bamboo figures out how to get code he wrote 23 years ago on the Amiga to work for someone today, and it involves a lot of work with libraries.

Thanks to Piotr Kuchno for contacting me and working through debugging the code, and for the videos of the code in use on real Amiga computers! Thanks also to @ijimkoz on Twitter for valuable feedback!

Note: The project name and URL have changed! Go to theindustriousrabbit.com to learn more!

Resources

Intro:

AMOS Extensions:

Amiga libraries:

Why was my server code not working?

Amiga Architecture 101: The Basics + Gaming

Via MakerTube -- The Industrious Rabbit

August 2, 2023 12:59 AM

Want to try out gaming on the classic Commodore Amiga computer? Topaz walks you through the basics of this retro computer's hardware, and the things you'll need to look for to get your own setup working.

I currently use these emulators:

If you're on Windows, you can run the venerable WinUAE (https://www.winuae.net/).

You can get Kickstart ROMs from Cloanto and their Amiga Forever pack (get at least the Plus Edition for the more modern Kickstarts) and/or from Hyperion if you want AmigaOS 3.2, a modern AmigaOS for applications.

I leave ADF and WHDLoad archive hunting to the viewer!

Thanks to Meredith, Tyrel, Dave!

Read more at https://theindustriousrabbit.com and subscribe to the channel and RSS feed for future updates!

Credits

MiSTerFS problems with AO486? Here's a workaround, and a quick explanation how it works

Via MakerTube -- The Industrious Rabbit

August 2, 2023 12:58 AM

Having trouble getting MiSTerFS to work on the AO486 core? Topaz Rabbit walks you through a workaround you can do on the Linux side of the MiSTer, then describes how that workaround works.

Thanks to Tyrel (@tyrel@social.tyrel.dev), Jim (@ijimkoz@mastodon.social)!

References

Credits

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

Via MakerTube -- The Industrious Rabbit

August 2, 2023 12:57 AM

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)!

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:

C tutorials:

Source code:

Credits

Music:

Sound Effects:

Building a Simple Server in C for the Commodore Amiga

Via MakerTube -- The Industrious Rabbit

August 2, 2023 12:57 AM

Topaz Rabbit walks through building a simple bsdsocket.library based server for the Commodore Amiga using the C programming language. You'll learn about development environment setup, waiting for socket connections & other signals, and reading and printing client data to the console.

Chapters

00:00 - Introduction
00:08 - Network socket basics on the Amiga
01:06 - Development environment setup
01:54 - Starting work on our server
02:20 - setup()/teardown()
02:53 - Control-C handling in SAS/C
03:24 - bind a socket to a port and interface and listen, and processor/networking endian-ness conversion
04:00 - Waiting for socket activity or Control-C using WaitSelect()
05:25 - Reading data from the client
05:56 - Amiga function names can be different from normal socket library function names
06:11 - setsockopt, TIME_WAIT, and SO_REUSEADDR
06:52 - Conclusion

References

Code:

Documentation:

Setup:

Credits

Music:

Write Internet-enabled Amiga programs with AMOS Professional and this extension!

Via MakerTube -- The Industrious Rabbit

August 2, 2023 12:56 AM

Introducing the BSD Socket Extension for AMOS Professional, the newest and easiest way to get your AMOS BASIC programs onto the Internet. Available now on Aminet and on the Hackerbun code repository.

This code finalizes the 25 year old project I started in 1998 to write a networking library for AMOS Professional. If you want to watch from the beginning, check out this playlist: https://www.youtube.com/watch?v=l4GNHJfYOUU&list=PLX_wfJQZe5SVK1D17NJpbmjyXI6dByOKl&pp=gAQB

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

References

Download:

API & Examples:

Extension Users:

Credits

Music:

Sound effects:

Last built: December 1, 2024 12:04 AM