Hello- New member here.
I'm starting work on a homebrew Z180 system on which I plan to (eventually) run CP/M.
I gather that the Z180 does not support undocumented instructions such as those accessing
IXL etc. Can anyone comment on which compilers / libraries make use of these instructions?
If their use is scattered throughout z88dk I may just give up and take a more traditional approach
to bringing up the system in pure assembly, but it would be great to be able to cross-compile C.
Thanks in advance!
Z180 Support (which compilers/libs use ixl etc)?
Re: Z180 Support (which compilers/libs use ixl etc)?
@feilipu is the z180 expert around here, hopefully he'll be along soon...
The compilers themselves don't generate code that uses split index registers, however some library routines do use them. The good news is, that we've got alternative implementations so you won't have to worry about that either.
The +cpm target supports -clib=z180 so it will generate binaries that will work on a z180.
In terms of bare metal, there's the +z180 target - this is a newlib target that supports the onboard peripherals.
The compilers themselves don't generate code that uses split index registers, however some library routines do use them. The good news is, that we've got alternative implementations so you won't have to worry about that either.
The +cpm target supports -clib=z180 so it will generate binaries that will work on a z180.
In terms of bare metal, there's the +z180 target - this is a newlib target that supports the onboard peripherals.
Re: Z180 Support (which compilers/libs use ixl etc)?
OK, thanks. That sounds promising. I think I'll start with the new library z180 target, as soon as I find my EEPROM programmer!
Re: Z180 Support (which compilers/libs use ixl etc)?
Sorry, I’m AFK (far North Queensland) so just quick response pecking on my phone.
You can look at the YAZ180 target which has drivers for the z180 hardware, integrated into newlib.
For interest, you can diff the vanilla z180 target and the yaz180 target directories to see what I’ve added to the mix.
There’s serial and SPI drivers, as well a some additional hardware that will probably be irrelevant for your system.
At some stage we need to move the newlib targets into classic, but that is a lot of work with no actual benefit so remains a low priority.
I’m away through September, but will check in if I’m pinged.
Cheers. P.
You can look at the YAZ180 target which has drivers for the z180 hardware, integrated into newlib.
For interest, you can diff the vanilla z180 target and the yaz180 target directories to see what I’ve added to the mix.
There’s serial and SPI drivers, as well a some additional hardware that will probably be irrelevant for your system.
At some stage we need to move the newlib targets into classic, but that is a lot of work with no actual benefit so remains a low priority.
I’m away through September, but will check in if I’m pinged.
Cheers. P.
Re: Z180 Support (which compilers/libs use ixl etc)?
Sorry just to add, to get cp/m running you can see the relevant directory in this repository.
https://github.com/feilipu/yaz180
https://github.com/feilipu/yaz180