-
Notifications
You must be signed in to change notification settings - Fork 3
Software Overview
The main software for this build is structured into three components:
A set of low-level hardware interface modules that are used by ZIOS and ZLoader but that are generic in that they can be used in other standalone software applications. The library covers things like block transfers to and from SDCards, reading/writing to i2c and SPI devices, accessing the serial ports etc.
A basic I/O system and hardware management framework on which other applications can be built. ZIOS manages memory and resources for applications. ZIOS supports two types of application:
- Standalone. ZIOS will load and launch an application then get out of the way. The application is then responsible for all hardware management. The application can link in components from ZLib or can be a completely different code base, for example a third party operating system.
- Supported. ZIOS provides a rich set of I/O services to these applications. In this mode ZIOS reserves the top 512 bytes of RAM and installs a handler for RST 30h. Other than that the application has access to all memory but effectively delegates most hardware management to ZIOS.
As an example of a supported application, my CP/M BIOS is written to use the ZIOS services. This removes all the complex SDCard access code from the BIOS into ZIOS memory, reducing the memory overhead on CP/M.
ZLoader provides a simple command line interface to the system providing:
- A debugger
- Application loader and boot menu management