Can someone help me out with Z88dk?

Page 1/2
| 2

Par WORP3

Paladin (864)

Portrait de WORP3

14-08-2022, 11:45

For our new Paradoxs project we want to use the Z88dk compiler. Unfortunately at the moment the compiler isn't really doing what we want oO
Is there someone that knows his way around this compiler so he can help me building a new system configuration and startup code? I already have a working assembly code on this system so I know what to implement for it.

Give a reaction on this post or mail me directly using this Contact address. Thanks in advance!

!login ou Inscrivez-vous pour poster

Par Manuel

Ascended (19677)

Portrait de Manuel

14-08-2022, 12:45

Why did you choose z88dk in particular?

Par Timmy

Master (200)

Portrait de Timmy

14-08-2022, 14:34

They also have a forum: https://www.z88dk.org/forum/index.php

You could also try asking me.

Par aoineko

Paragon (1135)

Portrait de aoineko

14-08-2022, 14:47

Manuel wrote:

Why did you choose z88dk in particular?

I'm also interested by the answer.

Par polarstar

Rookie (23)

Portrait de polarstar

14-08-2022, 15:51

@WORP3: You may want to tell first what you are trying to achieve, that way maybe somebody who knows their way around z88dk can give you some help. I've used it a couple of times, although I didn't need to change the compiler config/crt.

Par WORP3

Paladin (864)

Portrait de WORP3

14-08-2022, 17:37

Manuel wrote:

Why did you choose z88dk in particular?

After selecting a lot of z80 compilers i came out on this z88dk or sdcc. What I could find the z88dk had a bit more support and better optimizer.

But if a better compiler is out there, i’m all open to try a different one.

Par WORP3

Paladin (864)

Portrait de WORP3

14-08-2022, 17:41

polarstar wrote:

@WORP3: You may want to tell first what you are trying to achieve, that way maybe somebody who knows their way around z88dk can give you some help. I've used it a couple of times, although I didn't need to change the compiler config/crt.

That’s something i can do in the upcoming week. For now it must run on a basic empty 64K z80 system, hardware is all custom so no need for support library. Preferable an open source compiler so it’s possible to make changes when needed.

Par WORP3

Paladin (864)

Portrait de WORP3

15-08-2022, 10:04

Overall as Manuel asked why the z88dk, in the past i've asked (Post link) about the z88dk/SDCC difference and someone pointed out that the optimizer inside z88dk is somewhat better. As I have to start somewhere, I opted to start with the z88dk compiler first.

But i'm all open for idea's as long the compiler is open source and has some optimization around which functions will be linked in the bin file or not. (for example one of my compilers I use will put in a whole library if one of the functions is used).

Target platform is a basic 64K z80 system, startup code will be custom build, no platform libraries needed.

Par nuc1e0n

Supporter (6)

Portrait de nuc1e0n

22-08-2022, 22:59

I'm pretty handy with z88dk. What do you want to know?

Par WORP3

Paladin (864)

Portrait de WORP3

26-08-2022, 14:17

nuc1e0n wrote:

I'm pretty handy with z88dk. What do you want to know?

Sorry for the delay, didn't expected much replies on this post anymore Wink
Just want to configure z88dk so it will generate z80 code for a plain z80, mixed ram/rom machine starting at address 0, no default libraries, almost no startup code. I have to add startup code myself for this system.
Just some help to get me started with this is already really appreciated!

Par nuc1e0n

Supporter (6)

Portrait de nuc1e0n

27-08-2022, 01:53

The z88dk project's wiki has a page that specifically talks about generic z80 code generation starting at address 0. Here's a link to it: https://github.com/z88dk/z88dk/wiki/NewLib--Platform--Embedded. z88dk contains two different compilers and two standard clibs. sccz80 is their original C compiler which can compile more obscure edge cases of the language. zsdcc is a version of sdcc modified to work with z88dk's libraries which can make slightly faster code and has options for using different registers but has fewer features. As for the clibs, the classic lib is the original one that covers many different z80 based platforms but involves more adhoc functions written in assembly. Newlib as the name suggests is newer and more of it is written in C itself with the aim to be more conformant to the C11 standard, but it only supports a few different platforms. One of which is for non system specific z80 output though. A lot of the improvements of newlib have also now been merged back into the classic clib.

Page 1/2
| 2