Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eZ80 support -- AgonLight #590

Open
Kroc opened this issue Jul 7, 2023 · 6 comments
Open

eZ80 support -- AgonLight #590

Kroc opened this issue Jul 7, 2023 · 6 comments

Comments

@Kroc
Copy link

Kroc commented Jul 7, 2023

The AgonLight is a cheap (€50) single-board microcomputer available from multiple retailers across the globe (US, EU, China). It uses an eZ80: a modern, single-cycle Z80 with an optional 24-bit addressing mode somewhat like the 65C816.

Currently, software is developed using Zilog's clunky, Windows-only ZDS II IDE, at least on PC (there is a native assembler for those looking to develop on the device itself). Looking into how software is developed for the platform, I see a great opportunity for WLA-DX to be the standard assembler for AgonLight and to alleviate the community of their Windows-only dependency.

You should speak to @TheByteAttic and @breakintoprogram who developed the platform and software and could explain the CPU and their needs more precisely.

@vhelin
Copy link
Owner

vhelin commented Jul 8, 2023

Sounds like a plan!

@TheByteAttic @breakintoprogram or someone else - I checked the eZ80 manual, but it didn't have a list/table of changes versus Z80 - it seems eZ80 instructions are a superset of Z80 instructions so if someone could give a link/pointer to what I need to add to add eZ80 compability - that'd be great!

@vhelin
Copy link
Owner

vhelin commented Jul 16, 2023

After looking at the eZ80 documentation I can see we have ADL mode there, which affects quite a lot. My next question is:
Are Z80's undocumented/documented opcodes supported on eZ80 i.e., should I copy Z80 support in WLA DX as a starting point for eZ80 support or start from zero?

@vhelin
Copy link
Owner

vhelin commented Jul 16, 2023

Also, do we need some kind of a program header for AgonLight?

@Kroc
Copy link
Author

Kroc commented Jul 16, 2023

Not externally to the in-memory binary, no. Agon MOS programs just need some meta-data at byte 64: https://github.com/breakintoprogram/agon-projects/blob/main/ASM/Hello%20World%2024/init.asm

@vhelin
Copy link
Owner

vhelin commented Jul 16, 2023

So the programmer can just define one 16MB "ROM bank" and populate that meta-data area starting at byte 64 and then write everything out to a file starting at byte 0 and ending at the last touched byte?

@Kroc
Copy link
Author

Kroc commented Jul 16, 2023

Yes, this appears so, at least as far as building the sample code has done for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants