Skip to content

Zeal 8-bit OS Release v0.5.0

Latest
Compare
Choose a tag to compare
@Zeal8bit Zeal8bit released this 20 Nov 14:47
· 8 commits to main since this release

Zeal 8-bit OS is still a beta version, so it is not complete and may still have bugs.

The Operating System is divided in two parts: the kernel, common to all targets and the targets implementation.

Kernel changelog:

  • Improved logging by implementing a string formatter in strutils.
  • Added a new HostFS file system usable in emulated environment, convenient to access host's file system.
  • Added a new rule asmconf to the Makefile to manually generate the configuration file without going through the menuconfig.
  • Added Mac OS build support, by @zoul0813 in #35.
  • Implemented HTML documentation for the kernel by @atirut-w in #34.
  • Added a reset ioctl command for standard output.
  • Fixed a bug in the binary loader (MMU version) that resulted in files not being closed.
  • Fixed a bug in the binary loader that accepted 0-byte programs.
  • Added support for user programs as big as 48KB in the binary loader (MMU version).
  • Implemented kernel headers for GNU's assembler (z80-elf).
  • Added explicit error codes in the kernel headers to simplify debugging, by @zoul0813 in #39.
  • Added support for Multiple User Configs, including default configuration files for different targets, by @zoul0813 in #38
  • Added a base SDCC makefile as part of the kernel headers to ease the compilation of new Zeal 8-bit OS programs. (A few fixes to this base makefile were made by @zoul0813 in #42)

Target support changelog:

Zeal 8-bit Computer

  • Implement the new ioctl command for the video driver, it restores the palette, the video mode, and all the cursor settings.
  • Fixed a bug in the video driver that always made it the standard output.

Romdisk changes

  • Added decimal output and usage to ls command, optimized 32 bit decimal output by @sijnstra in #33.
  • Fixed a bug in hexdump command that printed an uninitialized character.
  • Implemented a new transfer file command named xfer. A new tools/ directory has been created at the root of this project, it contains the xfer.py script that can be used by a host computer.
  • Added support for commands _:/ and _: to switch the current disk (where _ is the letter of the disk to switch to)
  • Fixed the return registers of byte_to_ascii routine to simplify the workflow in some cases.
  • Added an error message when a subprogram exits a return value different than 0 (only on targets with an MMU)

TRS-80 Model-I

No changes were made

Agon light

No changes were made

New Contributors

Thank you very much to the contributors of this release:

About the assets

The assets below are the build for Zeal 8-bit Computer target, compile with the given configuration *os.conf.
The disk image 0x0000_os_with_romdisk.img is meant to be used with the emulator. It has been compiled to run from physical address 0x0000, as shown in the configuration file. It is not suitable for the real hardware that has a bootloader flashed (at 0x0000)
The disk image 0x4000_os_with_romdisk.img is meant to be used with the real Zeal 8-bit Computer hardware as it has been compiled to run from address 0x4000 from ROM.