About C / Z80 optimizations (SDCC)

Страница 2/17
1 | | 3 | 4 | 5 | 6 | 7

By reidrac

Expert (68)

Аватар пользователя reidrac

06-09-2019, 10:06

Sorry, I do this for fun and I can afford decide what are the best tools for me. If is not open source or I can't run it in Linux, it basically doesn't add anything valuable to me.

At the end of the day, I only use code I wrote. The libraries I use, I wrote them in ASM, and the C code is just that makes easier to prototype and build complex ideas without sinking too much time.

If the HI-TECH C compiler was open source, it could be ported to a modern system.

By Thom

Hero (593)

Аватар пользователя Thom

06-09-2019, 10:21

Would it be possible to use Hi-Tech-C on Linux by using some kind of cp/m-emulation?

By Timmy

Expert (114)

Аватар пользователя Timmy

06-09-2019, 15:34

To be honest I'm not inclined to change my whole development path just because some ancient compiler is somehow better than the newer compilers, with all new optimisations and improvements.

By zPasi

Champion (474)

Аватар пользователя zPasi

06-09-2019, 18:16

PingPong wrote:

the problem is that Hitech C produces a so much optimized code that SDCC is far far far beyond.

I managed to find Hi-Tech C 7.80 (from a Russian (?) site, I hope it's safe). So far I'm not too impressed. It's not bad, seems doesn't do obviously stupid things like ld a,l ; ld l,a but it does use ix and iy heavily like the others.

I'll just stick with SDCC (or ZSDCC) and Fusion-C for now.

By PingPong

Prophet (3460)

Аватар пользователя PingPong

06-09-2019, 19:53

OK, we see, you are a linux fan. That's your problem. So i suggest you to get your hands on vi and write a beautiful C++ optimizing compiler for z80. And i also suggest you to create some kind of strong dependency with linux (better: a specific distro if you can).
Me and others Windows & Mac users will be happy to fire our virtual machines (with linux) to use it ;-)

By PingPong

Prophet (3460)

Аватар пользователя PingPong

06-09-2019, 19:54

DOSBOX is the answer. you cannot use on another recent S.O. because of the kind it interacts with hardware at bare metal

By PingPong

Prophet (3460)

Аватар пользователя PingPong

06-09-2019, 19:56

try to write a line routine in both compilers then see the asm listing.
then you will change your perspective, despite the ix usage. By the way HT can use registers more effectively than SDCC in passing parameters to functions

By Grauw

Ascended (8515)

Аватар пользователя Grauw

06-09-2019, 20:33

PingPong wrote:

OK, we see, you are a linux fan. That's your problem.

Nono, in the contrary, it is not about being a fan of one platform, it’s about having an open development environment that does not prevent or hinder users of other platforms from contributing. So choosing a platform specific compiler is a problem for all the users of the source code, not just the original developer.

And I (as a macOS user) am not at all happy to install complex VMs or emulators which are difficult to integrate into my build chain. Also last time I tried to use DOSBox (to run Adlib Tracker) it did not run well at all on my Mac, and also Wine is very hit-and-miss. This is amongst others why I made the Glass assembler, which is cross platform as a key feature.

By the way people are often saying that Hitech C is more optimal, but it would be interesting to see some examples!

By reidrac

Expert (68)

Аватар пользователя reidrac

06-09-2019, 20:52

Grauw wrote:
PingPong wrote:

OK, we see, you are a linux fan. That's your problem.

By the way people are often saying that Hitech C is more optimal, but it would be interesting to see some examples!

His comments are offensive on purpose and don't add anything to the conversation.

I rather make actual games than waste time discussing if X or Y is better Wink

By DarkSchneider

Paladin (880)

Аватар пользователя DarkSchneider

06-09-2019, 21:04

Also note that SDCC has improved since the possible old comparison with Hitech. It even included some optimizations from the z88dk branch to the main one. Z88dk has very good libraries too, the memory management one, I have not used yet but I read the documentation and looks impressive, allowing to create multiple pools for allocating and not only the heap. If that is true, it could be a great tool to manage memory allocation on segments.

Страница 2/17
1 | | 3 | 4 | 5 | 6 | 7