Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

gbthreadlib

From GameBrew
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
Gbthreadlib.png
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: