Author Topic: Accurate CPC timing and flag behaviour of Z80 instruction set.  (Read 658 times)

0 Members and 1 Guest are viewing this topic.

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
Delivered with latest Orgams! http://orgams.wikidot.com/working


Oh! That's self promotion.


Enjoy!

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067

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 (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
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.

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067
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 (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
Orgams!  ::)

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067
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 (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
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.

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067
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 (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
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.

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067
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 (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
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.

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34

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

Offline TotO

  • 6128 Plus
  • ******
  • Posts: 3.652
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2785
  • Likes Given: 1674
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)

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067
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.


Can 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 :) :) :)
« Last Edit: 22:59, 27 April 20 by GUNHED »
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
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!

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067
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.  :) :) :)
 
PS: Bloody markup!

Still so true, see Maxam isn't _that_ time consuming ;-)
« Last Edit: 23:43, 27 April 20 by GUNHED »
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline HAL 6128

  • 6128 Plus
  • ******
  • Posts: 502
  • Country: de
    • index.php?action=treasury
  • Liked: 247
  • Likes Given: 1291
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

Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34

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.

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.


Offline m_dr_m

  • CPC664
  • ***
  • Posts: 75
  • Country: se
  • http://orgams.wikidot.com/
    • OrgaMS!
  • Liked: 60
  • Likes Given: 34
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]

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.818
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 803
  • Likes Given: 2067
Yes, thanks! Back to topic, back to fun with flags.  :laugh:
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)