Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.
Revision as of 01:18, 13 September 2023 by HydeWing (talk | contribs) (Created page with "{{Infobox GB Homebrews |title=gbthreadlib |image=gbthreadlib.png |description=A multithreaded kernel for the Nintendo Game Boy. |author=James Mc Parlane |lastupdated=1999/05/01 |type=Samples |version=alpha3 |format=CGB (ASM) |license=Mixed |download=https://dlhb.gamebrew.org/gbhomebrews/gbthreadlib.7z |website=https://web.archive.org/web/20010429163515/http://www.dominion.ebom.org/gameboy/ |source=https://dlhb.gamebrew.org/gbhomebrews/gbthreadlib.7z |donation= }} {{#seo:...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
gbthreadlib
General
AuthorJames Mc Parlane
TypeSamples
Versionalpha3
LicenseMixed
SystemCGB (ASM)
Last Updated1999/05/01
Links
Download
Website
Source

This is a micro-kernel with the following features:

  • Pre-emptive multitasking: (Up to 255 threads.)
  • 95% efficient context switching.
  • IPC via Semaphores: (Up to 255 semaphores)
  • Puts CPU into sleep mode when no tasks are running. (Low Power)

Sitting under threadlib is a single service called gblink.

This implements a simple bitstream engine which can be used as is or used to implement other higher level protocols.

The following protcols were built into the bitstream.

  • A simple UDP style datagram packet protocol.
  • A simple TCP style stream protocol (under construction).

The protocol is designed to reliably "trade" items from:

  • GB to GB
  • GB to PC 
  • GB to PC to PC (via network) to GB.

This is written in 100% assembler and is compiled using RGBDS (Rednex GameBoy Development System) under linux.

Screenshots

gbthreadlib2.png

Compatibility

Its been tested on a GBC, GBP, NoCa$h and GBUK emulators.

Changelog

1998/12/28

  • Added circular buffer.

1998/12/14

  • Created.

External links

Advertising: