Join GitHub today
create new z88dk/z88dk-libraries repository to hold third party library code for use with z88dk #386
The specific examples given are ChaN's FatFS, AVR time.h, and Free RTOS. We may not want to integrate these directly for reasons of compile time (each time the z80 library is built) / licensing / awaiting customization for z88dk but libraries like these could be useful for users.
Maybe what we can do is create a new repo to hold code like this so that it is available from a convenient location with all the necessary instructions for use and building using z88dk. We can use the new z88dk-lib utlity to install them for a target after building.
changed the title from
create new z88dk/z88dk-libraries to hold third library code for use with z88dk
create new z88dk/z88dk-libraries repository to hold third library code for use with z88dk
Sep 17, 2017
With regard to this third party library process, I have created an example library, and pushed it up to a repository. For want of a better name, I called it z88dk-libraries/time.
This is a fairly extensive time functions library supposedly close to fulfilling the ISO/IEC 9899 (C90) requirements.
I've been using it for some years in the avr-libc for AVR ATmega machines, and it seems to work pretty well.
The only change for z80 is the use of the intrinsic division and modulus z88dk newlib library functions, rather than special functions provided by the avr-libc.
The compiled libraries are organised so that the
I consider this library fairly general, as it is usable by any Z80 machine that can generate a 1 second
Happy for this to kick off a thought process. No requirement for this repository to remain in use, post resolution.
referenced this issue
Sep 17, 2017
Added the ChaN FatFs code. Still clunky, because it requires multiple headers, but I might integrate them into
I had a go at breaking the public functions out into their own files, which allows the library to be configured "maximally", so that the user doesn't need to reconfigure and recompile for every different need.
The private functions I've left in one file. It is a can of spaghetti to untangle it all.
Messy work. I hope I've not broken anything.