Welcome, Guest. Please login or register.


Author Topic: SymbOS (Read 311303 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14689
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #1005 on: 2024.January.18. 06:44:45 »
Where can I find the description of the OS, is the OS event-driven like MS Windows?  Are the API calls, where I can draw a windowed screen?
I suggest reading the SymbOS documentations.
« Last Edit: 2024.January.18. 16:29:45 by szipucsu »

Offline Tuby128

  • EP addict
  • *
  • Posts: 1446
  • Country: hu
Re: SymbOS
« Reply #1006 on: 2024.January.18. 10:12:16 »
I really need some drawing made by hand, because without that is hard to imagine some sentences like the below ones.

SymbOS-Applications.txt
Quote
The ram is divided into 64K parts, which are called "banks". Each
bank is devided into four 16K parts called "blocks".

....

SymbOS consists of several modules called "managers". Most parts of the
operating system are placed in the first 64K ram bank. Applications are always
placed inside a secondary 64K ram bank, which will be completely activated,
while the application is running.

To be able to access the applications memory, the operating system has to
switch parts of its ram to the visible 64K. As the original bank switching
possibilities are limitated, not all managers can access every part of the
application memory:

Later it says:
Quote
the desktop manager can only access the last 16K
(#C000-#FFFF) of each ram bank. All application data, which needs to be
accessed directly by the desktop manager, must be placed here. These are the
window data records and the control data records. Also the stack and the
message buffer must be placed here, as the RST #28 function (BNKFCL) can only
be used with such a stack position. This memory type is called the "transfer
area", as it is the only part, whose data can be transfered to the desktop
manager and to the kernels message module with the fast use of bank switching.

I do not understand where is the user program located. When the user program starts, it is going to make a new window with some system call. And it places some code in the #C000-#FFFF area. But how can I determine the position?

And later I read:
Quote
Please note, that the application itself does not need to take care about the
correct position of a memory area. This is done by the system manager, when it
allocates memory while loading the application, and by the kernel, when the
application wants to allocate additional memory of one of the three types.

 I am a little surprised, because with Z80 assembler I'm not able to make position independent code. So the JP assembly code and all memory manipulation (eg LD (HL),A) has a fixed position.

 Maybe I started in the wrong direction, and first I have to examine existing windowed application example program, and after that read the manual.
(Remarks: If the sample windowed app code is written in C or some pseudo hihger language, would be nice.)

 Zozo did you or anyone already write something for symbOS?

Offline geco

  • EP addict
  • *
  • Posts: 7028
  • Country: hu
    • Támogató Támogató
Re: SymbOS
« Reply #1007 on: 2024.January.18. 13:36:58 »
Applications has to be compiled with Winape, or WINCPC (i do not remember) which is able to build relocation address table at the end of the program, i am sure it is written somewhere in the documentation.

Offline gflorez

  • EP addict
  • *
  • Posts: 3594
  • Country: es
    • Támogató Támogató
Re: SymbOS
« Reply #1008 on: 2024.January.18. 13:54:12 »

You can use the Quigs SymbOS developing environment, always beta, always improving... without a manual of use...

The language is a mix of Basic, C and assembler.

There is a thread about it. Please search.

Offline Prodatron

  • EP user
  • *
  • Posts: 256
  • Country: de
  • Back on the Z80
    • http://www.symbos.de
Re: SymbOS
« Reply #1009 on: 2024.January.26. 11:19:06 »
Hi @Tuby128, sorry for the late answer!

It seems, that the quoted text from the manual is more confusing than helpful, ops! :oops: These parts are more an explanation, how it is handled internally and so why these different memory areas are necessary.

So I recommend the "SymbOS ASM-developer pack" from NYYRIKKI:
http://www.symbos.de/download.htm#marke1
http://www.symbos.de/download/20211230-V31/SymbOS-ASM-Developer-kit-1.0.zip
It has a good introduction "readme" text (it starts with "DON'T PANIC", which is probably a good idea :) ), and here you will also find example source codes for simple "Hello World" (window) applications.

Quote from: Tuby128
I am a little surprised, because with Z80 assembler I'm not able to make position independent code.
Like Geco mentioned each SymbOS application has a relocation address table attached, which is used for preparing the code for the required location in memory. Relocation address tables are supported by the integrated WinApe assembler (which I am usually using) and by SjAsmPlus, too. NYYRIKKIs developer pack is based on SjAsmPlus.

Maybe as a first step you can have a look at the "HelloYou-Window.asm" example in this package, try to assemble it and do some little modifications to see, what is happening.
You can contact me for any help:
jmika at prodatron dot net
Facebook: Jörn Proda
Skype: Prodatron
There is a Discord channel as well:
https://discord.com/channels/891243537444794389/929500634380660737

You can also write here, I will now have a look here more often again :)

Offline Tutus

  • EP lover
  • *
  • Posts: 672
  • Country: hu
    • Enterpress News
Re: SymbOS
« Reply #1010 on: 2024.January.31. 10:29:46 »
Hi Prodatron,

Can we expect any SymbOS development for Enterprise machines?
The previous version doesn't work for me. Since we couldn't reach you, we reported them to Gflorez.
I see you are making SymbOS for Spectrum Next. I would stay with the Enterprise machine, as long as the program works.
There is already a Wi-Fi option (SF3 card), so we would be very happy to see some improvement. Enterprise 128 will be 40 years old next year. :)

Offline Prodatron

  • EP user
  • *
  • Posts: 256
  • Country: de
  • Back on the Z80
    • http://www.symbos.de
Re: SymbOS
« Reply #1011 on: 2024.February.01. 00:21:18 »
Hi Tutus!

yes of course!
I am really sorry, the last time I did something for the Enterpise was end of 2021 (~2 years ago) when the (R)SF3 drivers have been integrated.
Before releasing 4.0 end of this year I have to catch up with all the issues which are currently there on the Enterprise. I know about some issues and of course I have to fix them all before the next release.

Oh yes, it would be very cool to add Network support!

Please note, that my Enterprise is always placed on my desk, so i will never forget about it. I have it on fairs on a regular base to demonstrate it to other people, I will not reglect it! I am sorry that such a feeling is coming up.

Best regards,
Prodatron

Offline Tutus

  • EP lover
  • *
  • Posts: 672
  • Country: hu
    • Enterpress News
Re: SymbOS
« Reply #1012 on: 2024.February.01. 09:25:46 »
Please note, that my Enterprise is always placed on my desk, so i will never forget about it. I have it on fairs on a regular base to demonstrate it to other people, I will not reglect it! I am sorry that such a feeling is coming up.

We don't feel like you forgot :)
I always think of Hans! If one of our members is impatient, he answers with one word: Hobby! :) And he's right.
Anyway, thank you very much for what you did for the Enterprise machine.
We will wait for the full version. If you need any help, there is always someone here on the forum to help. This is a fantastic community who will keep the Enterprise machine alive for a long time to come.