Assembler help

52 views
Skip to first unread message

Phil Kershaw

unread,
Dec 21, 2025, 3:30:15 PM (yesterday) Dec 21
to RC2014-Z80
I hope you will not mind a simple and probably naive question from a newbie, but I recently built the rc2014 classic to get back into z80 assembler again after a gap of 40 years, can it really be that long! Anyway, I have been using asm80.com to write simple code and generate the hex file which I paste into putty to test it on the rc2014. All works well using the small computer monitor. I then decided to explore the sjasmplus assembler and the z88dk.appmake to generate the hex file. After a lot of google searching I now discover that r88dk does not have a target for for the rc2014.
What do other people use as an assembler to generate code to paste into putty or equivalent terminal on the rc2014?


Michelle Lawson

unread,
Dec 21, 2025, 3:40:39 PM (yesterday) Dec 21
to rc201...@googlegroups.com
My assembler of choice, for my SBC/STD and S-100 bussed systems, has been zDevStudio ( https://sourceforge.net/projects/zdevstudio/ ). I write the code in that, and then just assemble it. Then download it over a serial port to the target machine, save it, then run it. I have never had any issues with it. I use it on my Win10 machine, but I 'think' there is a Linux version.

On Sun, Dec 21, 2025 at 3:30 PM Phil Kershaw <pker...@gmail.com> wrote:
I hope you will not mind a simple and probably naive question from a newbie, but I recently built the rc2014 classic to get back into z80 assembler again after a gap of 40 years, can it really be that long! Anyway, I have been using asm80.com to write simple code and generate the hex file which I paste into putty to test it on the rc2014. All works well using the small computer monitor. I then decided to explore the sjasmplus assembler and the z88dk.appmake to generate the hex file. After a lot of google searching I now discover that r88dk does not have a target for for the rc2014.
What do other people use as an assembler to generate code to paste into putty or equivalent terminal on the rc2014?


--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/d7ca2e20-2ad0-4674-9072-42bf89528b9cn%40googlegroups.com.

Michael A Druckenmiller Sr

unread,
Dec 21, 2025, 3:47:44 PM (yesterday) Dec 21
to rc201...@googlegroups.com

I use this one: https://www.oshonsoft.com/z80.php

It's not free, but I sprung for it after many attempts using various free ones. Even tried writing my own, failed.

Mike Sr


On 12/21/25 15:30, Phil Kershaw wrote:
I hope you will not mind a simple and probably naive question from a newbie, but I recently built the rc2014 classic to get back into z80 assembler again after a gap of 40 years, can it really be that long! Anyway, I have been using asm80.com to write simple code and generate the hex file which I paste into putty to test it on the rc2014. All works well using the small computer monitor. I then decided to explore the sjasmplus assembler and the z88dk.appmake to generate the hex file. After a lot of google searching I now discover that r88dk does not have a target for for the rc2014.
What do other people use as an assembler to generate code to paste into putty or equivalent terminal on the rc2014?


Spencer Owen

unread,
Dec 21, 2025, 4:00:40 PM (yesterday) Dec 21
to RC2014-Z80 GoogleGroup
On Sun, 21 Dec 2025, 20:30 Phil Kershaw, <pker...@gmail.com> wrote:
After a lot of google searching I now discover that r88dk does not have a target for for the rc2014.

Hi Phil,

Z88dk does indeed have a target for the RC2014. Have a quick search in this group for "z88dk getting started" as there are a few threads and links on that.

Spencer 

Robert Price

unread,
Dec 21, 2025, 4:52:32 PM (yesterday) Dec 21
to rc201...@googlegroups.com
Hi Phil,

I use the SjASMPlus assembler on my Mac, along with z88dk to generate
the hex files. I use VS Code when coding, and I have tasks written to
assemble, send the code to the RC2014 over the serial port, and
execute it. I wrote this up last year as part of the Retro Challenge.
It may be of use to you.

https://www.robertprice.co.uk/robblog/rc2024-part-13-my-rc2014-mac-development-environment/

Good luck!

Rob

On Sun, 21 Dec 2025 at 20:30, Phil Kershaw <pker...@gmail.com> wrote:
>
> I hope you will not mind a simple and probably naive question from a newbie, but I recently built the rc2014 classic to get back into z80 assembler again after a gap of 40 years, can it really be that long! Anyway, I have been using asm80.com to write simple code and generate the hex file which I paste into putty to test it on the rc2014. All works well using the small computer monitor. I then decided to explore the sjasmplus assembler and the z88dk.appmake to generate the hex file. After a lot of google searching I now discover that r88dk does not have a target for for the rc2014.
> What do other people use as an assembler to generate code to paste into putty or equivalent terminal on the rc2014?
>
>

Peter Onion

unread,
Dec 21, 2025, 7:08:05 PM (24 hours ago) Dec 21
to rc201...@googlegroups.com
Am I the only one that uses M80/L80 actually on my Z80 CP/M machine ?

PeterO

sunnyboy010101

unread,
Dec 21, 2025, 10:01:05 PM (21 hours ago) Dec 21
to RC2014-Z80
No. One of the reasons to actually build real Z80 based systems for me (especially the RC2014-Z80) was to write, compile and run code ON the machine. That includes (for me) FORTRAN, PL/1, C and of course assembler. The only unfortunate thing for me is I was never proficient (at all!) on Z80 assembler and still have problems getting things to run properly. I did some 8080 assembler and seem to have difficulties making the transition to 'proper' Z80 assembler. No issues with the other 3 languages - they were the first 3 I ever learned many years ago (in that ordrer: FORTRAN, PL/1, C). I did some fun consulting for many years with just those 3, then eventually had to move (client insistance) to C++ and then Java. 

But my first "own" computer was a TRS-80 Model 1 (4k) which became a Model 3 and eventually a Model 4P (portable) which I still have and which still runs. I wrote programs in FORTRAN and C on the TRS-80s and had a blast. More recently with the RC2014 and other kits I've revisited all my Engineering programs in the 3 languages, but getting proficient in Z80 assembler is still the big challenge.

-R

Phillip Stevens

unread,
12:08 AM (19 hours ago) 12:08 AM
to RC2014-Z80
On Monday, 22 December 2025, Spencer Owen wrote:
> Z88dk does indeed have a target for the RC2014. Have a quick search in this group for "z88dk getting started" as there are a few threads and links on that.
> Spencer 

Yes. Following up on Spencer's comment. The z88dk has had a RC2014 target since the first years of its existence.
There is support for many different subtypes. So support is extensive.

SUBTYPE   acia        -startup=0            -Cz"+rom --warn --ihex"
SUBTYPE   acia85      -startup=2            -m8085 -clib=rc2014-8085 -Cz"+rom --warn --ihex"
SUBTYPE   sio         -startup=4            -Cz"+rom --warn --ihex"
SUBTYPE   uart        -startup=8            -Cz"+rom --warn --ihex"
SUBTYPE   uart85      -startup=16           -m8085 -clib=rc2014-8085 -Cz"+rom --warn --ihex"
SUBTYPE   basic       -startup=32           -D__BASIC -Cz"+rom --ihex"
SUBTYPE   basic85     -startup=64           -m8085 -clib=rc2014-8085 -D__BASIC -Cz"+rom --ihex"
SUBTYPE   cpm         -startup=128          -Cz"+rom --ihex"

This includes the "acia", "sio", and "uart" subtypes which include drivers for the serial interface Modules and are meant to be on the metal. The resulting HEX or BIN is designed to be written to a ROM.
There is a "basic" subtype that uses the serial (RST) interface provided as part of the "BIOS" used in MS BASIC available in the RC2014 Classic, Mini, and other smaller 32kB RC2014 systems.

All of the above can also used with an 8085 by looking or a target with an 85 in the name.

And, there is a "cpm" subtype, which can access hardware specific to the RC2014. This is useful when you want to access FATFS off a disk IDE Hard-drive Module or off the CF Module, mainly where you would like to build a system to read a FAT32 drive from within CP/M. Otherwise, it is better to use the normal z88dk cpm target.

z88dk is an active project. The compilers, libraries, and build are continually updated. Recently there have been some major changes in the directory structure and the libraries. Currently the instructions and historical getting started documents apply to Version 2.4 and earlier. So my suggestion is to use Version 2.4 until the documentation can be updated (probably late 2026), or until you are experienced. You can just download a finished system with all the binaries for Windows and for Mac systems.

****

For information, the post Version 2.4 changes include pulling the new library and targets out of _DEVELOPMENT directories and tightening the integration of classic and new libraries. This is because the classic library has incorporated most of newlib implementations already. The only remaining differences for newlib targets are the instantiation of serial interfaces, and the creation of the crt0 and configuration for these targets.

The sdcc_iy library has been removed. Historically, sdcc compiled programs used the index registers extensively, so with sdcc_iy there was a differentiation of the index register IX for the library and register IY for the compiled program, and sdcc_ix shared the index register so that a target ROM interrupt system could use one index register without preserving it (specifically the ZX systems do this). sdcc_ix would therefore be slower because the library would need to preserve the index register on calls. However, after some years of development it is clear that the library used index registers so infrequently there was no actual difference between the two outcomes. Having two different almost identical libraries was therefore irrelevant. What is still interesting is to cause zsdcc to use just one register, by reserving the other (--reserve-regs-iy). This seems to produce better code in practice.

All this work is still an ongoing process, so there's no point to document it all until the work is done and proven.

****

Cheers, Phillip


On Sun, 21 Dec 2025, 20:30 Phil Kershaw wrote:
After a lot of google searching I now discover that z88dk does not have a target for for the rc2014.

Phil Kershaw

unread,
3:19 AM (15 hours ago) 3:19 AM
to RC2014-Z80
Thank you all who replied, it is much appreciated and given me lots to think about.

Phil

Reply all
Reply to author
Forward
0 new messages