Asesembly to text binary workflow

109 views
Skip to first unread message

James Harland

unread,
Jan 18, 2026, 4:29:02 AMJan 18
to RC2014-Z80
Hi everyone,

I've got my Orton 3C up and running, and I'm trying to figure out an efficient workflow to go from assembly to text binary on the computer. I mostly use Linux, though I do have acess to Windows machines.

I was using sjasmplus for Z80 code on the ZX Spectrum, but its list files are not great for auto conversion into binary, as there is so much other information there, and I couldn't see how to convert its raw binary files into text binary.

Does anyone know of an assembler that just does a plain text binary dump, or at least produces something that can be converted easily? Ideally I would like addresses in binary too, to make it easier to follow on the Orton 3C.

Thanks

James

James Harland

unread,
Jan 18, 2026, 6:16:24 AMJan 18
to RC2014-Z80
I now have a bash script which will convert the raw output of sjasmplus into a listing like I require, but I'd still be interested in hearing about others' workflows.

Spencer

unread,
Jan 18, 2026, 9:12:39 AMJan 18
to rc201...@googlegroups.com
Before I built the Orton 3C, I "knew" hexadecimal to binary. It was pretty easy to calculate how many 8, 4, 2 and 1 you need to make all the numbers from 0 to F.  So when I toggled in my first few programs, I was doing tiny little calculations in my head to set the digits.

However, a side effect of this is that I became "fluent" in hex. It really didn't take long before I could look at any number from 00 to FF and just know the switch positions, or to look at the 8 LEDs and read them in hex.

So, in answer to your question about a workflow, I would say that any compiler that gives you hex output is going to be fine.

Spencer

--
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/8ccc37b9-0c71-4117-8f2e-f3ae7e7c79f2n%40googlegroups.com.

James Harland

unread,
Jan 18, 2026, 9:37:45 AMJan 18
to RC2014-Z80
Wow that's fascinating, I hadn't thought about that as an option.

Peter Onion

unread,
Jan 18, 2026, 10:07:27 AMJan 18
to RC2014-Z80
I would recommend adding an additional input ports with some more switches so that you can toggle in code more easily with a simple "switches and leds" monitor.  Spencer has a dedicated EPROM programmer for the 3C roms so you can blow your monitor into it and not have to keep entering it.  You'll need one of these as well : https://rc2014.co.uk/full-kits/rc2014-orton-3c/rc2014-orton-3c-po/

PeterO
3CX6.png

James Harland

unread,
Jan 18, 2026, 10:20:05 AMJan 18
to RC2014-Z80
OK so Spencer I just put in some code working straight from the hex and doing the binary conversion in my head, and I see it isn't difficult, in fact it's easier than trying to follow a sea of 1s and 0s which is what I thought I wanted. Thanks for showing me another way!

Peter, thanks for your recommendation. I do have the input/output board and the ROM board, which I'm looking forward to putting together. After that I would certainly like to expand into writing my own ROMs. It's something I've always wanted to do for an old Soviet machine I have (which runs 8080 machine code entered in hex), but the blowers for those Soviet chips are prohibitively expensive.

Alan Cox

unread,
Jan 18, 2026, 10:20:24 AMJan 18
to rc201...@googlegroups.com
Whilst everyone uses hex these days it is much easier to think of 8080 and Z80 in octal if you want to get the ability to just compose code from memory. Z80 is organized as a 2bit field giving the operation group and then mostly two three bit groups that encode things in consistent ways, this for example every register to register load is 01 then the two reg numbers, every 8bit register maths op has a 3bit code for the register and for the op. It's much easier to hand read and write in octal therefore.

James Harland

unread,
Jan 19, 2026, 1:32:57 PMJan 19
to rc201...@googlegroups.com
That sounds fascinating Alan, I need to look into how octal works with these instruction sets. But for now being able to switch between hex and decimal in my head has made inputting longer programs in binary (and being able to see where I am in terms of the addresses) much easier, and means in can work with the sjasmplus list output (or indeed the code straight from books like Leventhal) directly, without my brain being swamped with lines of 0s and 1s. Thanks again for that tip, Spencer!

James

On Sun, 18 Jan 2026, 20:20 Alan Cox, <etched...@gmail.com> wrote:
Whilst everyone uses hex these days it is much easier to think of 8080 and Z80 in octal if you want to get the ability to just compose code from memory. Z80 is organized as a 2bit field giving the operation group and then mostly two three bit groups that encode things in consistent ways, this for example every register to register load is 01 then the two reg numbers, every 8bit register maths op has a 3bit code for the register and for the op. It's much easier to hand read and write in octal therefore.

--
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.

Jamesbloke

unread,
Jan 26, 2026, 7:56:53 AM (12 days ago) Jan 26
to RC2014-Z80
James,
I've used Google Sheets to convert hex to binary and have created a spreadsheet to paste hex into to get the binary out (see the IO Echo tab).

Regards,

James

James Harland

unread,
Jan 26, 2026, 9:08:44 AM (12 days ago) Jan 26
to RC2014-Z80
Wow that's really cool! Though I am now a convert to Spencer's recommended method of converting between hex and binary on the fly. It's really not that difficult - you just have to recognize 16 different patterns of bits. I realized after I started doing this that that's probably why the Orton 3C has 8 4 2 1 twice on the top right and not 128 64 32 16 8 4 2 1 - it means you can sanity check your conversions between hex and binary easily.
Reply all
Reply to author
Forward
0 new messages