RC2014-8085 Support

Discussion about other targets
Post Reply
User avatar
feilipu
New member
Posts: 7
Joined: Tue Nov 15, 2016 5:02 am

RC2014-8085 Support

Post by feilipu »

z88dk support of the RC2014-8085 Module. The intention is to provide both ACIA ROM and MS Basic RAM subtypes.
But at this stage I've focused on getting the basic85 working. ACIA support can come later.

As z88dk supports 8085 C compilation using the sccz80 compiler and the classic library, whilst the RC2014 target is normally a newlib library target, there was quite a bit of interesting blending of classic and new code to get the crt0 and libraries created and linked properly. But, now the RC2014-8085 is the first 8085 platform in the newlib targets. Woo Hoo!

Having the basic85 subtype means that C and assembly programs can be uploaded to the RC2014 using the MS Basic HLOAD keyword.

In host PC:

Code: Select all

> zcc +rc2014 -subtype=basic85 [ --list -m ] myfile.c -o myhexfile -create-app
Then from MS Basic:

Code: Select all

HLOAD

Code: Select all

> cat >/dev/ttyUSB0 <./myhexfile.ihx
And to run the program from MS Basic:

Code: Select all

? usr(0)
And that's all that's needed.

This is still being tested, and assume that there will be issues. But the first work is now done.

Image

In another note, Paulo has gone to town with synthetic instructions for the 8085 in z88dk-z80asm, to make coding more convenient. Essentially, anything you can do with loading indirectly from (hl), you can now transparently do from (de). The assembler implements the ex de,hl instructions silently to make life easy. This helps when writing assembly for Z80 and 8085, because you don't have to write alternate code paths depending on the CPU. Of course all of the other 8085 side effect free convenience opcodes are available too, like ld bc,hl and ld hl,sp+n.
Post Reply