I like to try to stay far away from any proprietary code. This allows me to port my code to other operating systems written for the PowerPC.
Even if you could use some magical BIOS int calls to make os-portable code under PowerPC (which you can't), that really isn't a good way to achieve it. For starters, you are excluding yourself from any niceties that the operating system provides; such as screens in AmigaOS, or multiple shells (with desktops) under linux.
The trick is to keep your display code seperate from your core code.
For example, I have written an OpenGL application. It easily compiles for Win32, Linux x86, LinuxPPC, and various other operating system, without changing a SINGLE line of the core code.
You simply provide an OS-specific front end, which calls the routines in the main program. For example, there is a windows.c for Win32 OpenGL, and a glut.c for all operating systems that support glut.
This approach also translates to assembler; there is nothing stopping you seperating up your assembler program into objects and linking them depending on your target platform.