News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_m_dr_m

Accurate CPC timing and flag behaviour of Z80 instruction set.

Started by m_dr_m, 08:16, 22 April 20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

m_dr_m


GUNHED


Thanks for you post, but....

..... under your link we can download a DSK, so which file is it?


BTW: You should by chance clean up the DIRectory of that DSK.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

m_dr_m

That's Z80.o


Messy directory: well that's a WIP version. There are NRT reference files of one of the module, for the interested.

GUNHED

Thanks. What do I use to open Z80.O ? It seems to be an non-ASCII file, w/o fileheader.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

m_dr_m


GUNHED

Quote from: m_dr_m on 16:27, 22 April 20
Orgams!  ::)
Great, can you please tell me the ROM numbers I have to use. IIRC the numbers are fixed.
Is there a sheet somewhere how the orgams files are organized?
I would like to support them with my upcoming text editor.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

m_dr_m

Bad luck, it's one of the rare times where the #BURN program wasn't included. It would have answered the question!
ROMs aren't fixed anymore (since almost 4 years!). It's detailed here: http://orgams.wikidot.com/userguide#toc1


Orgams sources are pre-assembled! There are some escape codes for comments, unrecognized lines, ...
Since you can export to ASCII files from Orgams, I'm not sure it's worth the trouble.

GUNHED

Thank you very much. That's the information I needed. I try to look how the source code is constructed. Seems it has a small header, and &7F has some kind of Carriage Return function. I try to go in detail here and find out.  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

m_dr_m

Actually I've abused my own format!


I've entered text as is: since no valid opcode or directive is recognized, the line is cannot be encoded (that is, pre-assembled)!
Some other parts are valid Z80 snippets that are properly encoded.


As you may see in the screenshot, comments are shaded, so the whole document is prettier and easier to read.
You can read about another advantage here: http://memoryfull.net/post.php?id=42&page=1#728


I'll try to take the time to describe the format in the wiki.

GUNHED

Quote from: m_dr_m on 21:26, 22 April 20
I'll try to take the time to describe the format in the wiki.
That would be great! So it can be used with other text editors or whatever.

Actually I always wanted to have an Assembler/Disassembler(/Monitor - have that already) running with FutureOS. But I never had the time to make all that. As you see Orgams is huge. Once in a while I think of having an Orgams version for my OS, but Orgams still seems to grow and evolve. I lost track of it a bit. But it's awesome!  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

m_dr_m

Update: Flags for ADD 16 bits fixed. Little cheat-sheet from RL A to RLD.


Quote

I'll try to take the time to describe the format in the wiki.


Here you go: http://orgams.wikidot.com/orgamsinternals#toc1


The disp.o source is on the working disc.

m_dr_m

Quote from: GUNHED on 11:07, 23 April 20

Actually I always wanted to have an Assembler/Disassembler running with FutureOS.


What do you use to code FutureOs and its applications BTW?


That's why I don't consider FutureOs or SymbOs self-sufficient: they cannot be used to update themselves.


Can you imagine the sheer joy when Orgams was first able to assemble itself? In the literature, it's called "post bootstrapping orgasm".

TotO

Quote from: m_dr_m on 16:47, 27 April 20
Can you imagine the sheer joy when Orgams was first able to assemble itself? In the literature, it's called "post bootstrapping orgasm".
That explain the name... ;D 8)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

GUNHED

Quote from: m_dr_m on 16:47, 27 April 20
What do you use to code FutureOs and its applications BTW?

That's why I don't consider FutureOS or SymbOs self-sufficient: they cannot be used to update themselves.
Well, I'm using the Maxam assembler in ROM for assembling everything. Of course it's slow in assembling bigger source codes (bigger than around 50 KB or so). However it's extremely reliable and error free. That's the main thing for me. I must be able to rely on it.

I could move to a newer assembler, but this would mean to update more than one or two MB of source code and to test and verify it. I just got no time for that (or maybe I got used to it ;-))

About being self sufficient: I don't think that Prodatron will care about it. IIRC he does use the WinApe assembler, probably a quick solution (few seconds what I did hear).

But you're right in my world of course. I would love to see FutureOS being able to assemble itself. Well, my text editor is a first small step towards this direction. It would be great to have help doing applications for FutureOS, but I guess it's mostly left to me.


Quote from: m_dr_m on 16:47, 27 April 20Can you imagine the sheer joy when Orgams was first able to assemble itself? In the literature, it's called "post bootstrapping orgasm".

Sure!  :) :) :)  Fun at the side: According to your definition Orgams is not self sufficient either, because it doesn't bring it's own OS.  :P ;D :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

m_dr_m

Quote from: GUNHED on 20:57, 27 April 20
Well, I'm using the Maxam assembler in ROM for assembling everything. However it's extremely reliable and error free.

Poor soul!
Well I think Orgams is reliable too! Hundreds of unit-tests, reset-proof, internal checksums, used several hours a day by several people (I think that's more than maxam statistics...).
Also, my |burn RSX will tell if the ROM is already up-to-date. Coupled with the fact that each Orgams Module can auto-install itself, I use it extensively to test that the same byte-exact binary is generated by the assembler.


Quote
I could move to a newer assembler, but this would mean to update more than one or two MB of source code and to test and verify it. I just got no time for that (or maybe I got used to it ;-))
If time is your issue, I can assure you are loosing it by staying with maxam. It drove the strongest minds crazy.
Regarding testing, I hope you have automated tests. Either way, as I said, just check it generates the same binary.

You might be interested by: [size=78%]http://orgams.wikidot.com/maxammigrationmap[/size]

Quote
Fun at the side: According to your definition Orgams is not self sufficient either, because it doesn't bring it's own OS.  :P ;D :) :) :)

What we demand of a Z80 IDE or any program for that matter is not what we demand of an OS! Also, you have to build the universe first.


PS: Bloody markup!

GUNHED

Building the universe first is not an issue. FutureOS did that already.  ;D ;D ;D

About Orgams, it's the only "running on real hardware" system I consider being of interest to me. After the next official release I will give it a very serious try. Then the really time consuming part will come, that's to learn how to use it. What it can do and how. All the numerous small things. I'm looking forward.  :) :) :)

Quote from: m_dr_m on 21:36, 27 April 20PS: Bloody markup!

Still so true, see Maxam isn't _that_ time consuming ;-)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

HAL6128

I'm using & still learning it and it's a really good program... and fast... and has a some cool features (switch of your CPC and the source is still available after a cool reset or crash). Maxam has more restrictions in labeling, no macros and investigating RAM/ROM etc.
Nice new graphics dump feature and step by step emulated execution.
And yes, if you have a hardware which isn't emulated, orgams can be a first choice for real hardware. It works with the M4 together (fast loading of the source) .
For secure reason I'm still using my disc drive because (with former versions Condigo con or Bugs Bunny?) I sometimes realized saving / loading wasn't reliable on SD with bigger files[/size]. Was there a change in newer version?



...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

m_dr_m


Thanks for the kind words! I didn't know Orgams was used outside France (for some reason), so it motivates me to update the Shakespearean version of the doc. Expect drama. And love.

Quote from: HAL 6128 on 22:02, 27 April 20
I sometimes realized saving / loading wasn't reliable on SD with bigger files. Was there a change in newer version?


I've done hundreds of IO operations with large files. The only issues I encountered are with newer Dos (e.g CubeMDos bug : ASCII > 64k are truncated).
If you can reproduce that with M4, it would be a giant step for humanity.


m_dr_m

Quote from: GUNHED on 21:41, 27 April 20
About Orgams, it's the only "running on real hardware" system I consider being of interest to me. After the next official release I will give it a very serious try.


Glad to hear that! Why not the other way around? Give it a fun try to see what bothers you, so I can fix it for the release?
The Beta G is in a really good shape.


Maybe we should continue the discussion here: [size=78%]https://www.cpcwiki.eu/forum/programming/orgams-best-assembler-in-my-living-room[/size]

GUNHED

Yes, thanks! Back to topic, back to fun with flags.  :laugh:
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Powered by SMFPacks Menu Editor Mod