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

support for ZX80/ZX81 ".o"/".p" file output #239

Open
5 tasks
ped7g opened this issue Sep 7, 2024 · 4 comments
Open
5 tasks

support for ZX80/ZX81 ".o"/".p" file output #239

ped7g opened this issue Sep 7, 2024 · 4 comments

Comments

@ped7g
Copy link
Collaborator

ped7g commented Sep 7, 2024

as mentioned in #232 the virtual device "NOSLOT64K" is good enough, but having support for .p files would be also nice.

file formats description: https://k1.spdns.de/Develop/Projects/zasm/Info/O80%20and%20P81%20Format.txt

Probably to be done first in macros as proof of concept (and maybe stay like it as I expect little of added value by integrating them into sjasmplus binary, the performance boost is not important for these small files, but the flexibility of adjusting macros over fixing sjasmplus binary may be better value, even with the inconvenience of having to include the macro definitions file.

TODO:

  • few example .o/.p files (end result) with some suggestion how the source code producing those may look like (NOT @ped7g )
  • filling up any gaps in the .o/.p defs like what sysvars should be pre-filled by sjasmplus, if any
  • implementing proof of concept macros ( @ped7g probably)
  • feedback from early adopters (NOT @ped7g )
  • either finalizing the macros or integrating it into binary ( @ped7g )

possible contributors to get this going: @maziac @stevexyz

@stevexyz
Copy link

stevexyz commented Sep 8, 2024

I did a simple port of an "hello world" program found here https://sinclairzxworld.com/viewtopic.php?t=2267

Is surely not optimized but might be used for the "Hello World" purpose

Compiled with "./sjasmplus --outprefix=. --sld helloworld.asm --lst=helloworld.lst --raw=helloworld.p" and tested ok on zesarux

Let me add that for a "real program" experienced programmers would use - expecially for the 1k version - more "condensed" ways of loading and starting the assembler and depending on the type of program to be implemented

helloworldzx81.zip

@maziac
Copy link

maziac commented Sep 8, 2024

I found 2 references:

They implement a very similar approach for p File creation for other assemblers.

@maziac
Copy link

maziac commented Sep 27, 2024

Hi @ped7g,
what is the status here?
Are you going to implement something like a SAVEP command, do you need more info?

@ped7g
Copy link
Collaborator Author

ped7g commented Sep 27, 2024

Out of scope for 1.21.0, will take a look at some point after that. So I guess this is like months/year away with my current progress rate. But eventually this is likely to happen.

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

3 participants