Welcome, Guest. Please login or register.


Author Topic: SymbOS (Read 100166 times)

Offline Prodatron

  • EP fan
  • *
  • Posts: 248
  • Country: de
  • Back on the Z80
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #60 on: 2014.November.02. 14:28:06 »
Sorry about "badgering" you too much, but it seems it helped :-)
Haha, yes, it really helped! :D

How hard is to port the kernel? As far as I imagine, since it's microkernel, it's not so much hardware dependent (as those machine dependent components resides in other "processes" like video manager, etc, not the kernel itself), but maybe mainly the memory layout/paging and interrupt handling which is the major work of porting just the kernel, I mean.
Exactly, it's only the memory mapping (which is a little bit work) and the interrupt handling (no work at all), which has to be modified!

Offline Prodatron

  • EP fan
  • *
  • Posts: 248
  • Country: de
  • Back on the Z80
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #61 on: 2014.November.02. 14:31:10 »
So my PS/2 hardware mouse interface will be compatible (in the end) with the mouse.xr, and PAINTBOX and EGI will be usable with my PS/2 mouse interface.

But I would like my PS/2 mouse interface hardware to be compatible with SymbOS, too.

Could you, please give me some information how I can make my mouse hw compatible with SymbOS ? Through what software interface can I do that ?
What kind of software driver have I to write for beeing compatible with SymbOS ?

Probably SymbOS will not want to use the mouse.xr interface managing its mouse, will it ?

Or are these questions too early in this phase of the porting progress ?
That sounds interesting! The mouse.xr is the standard mouse for the EP?
I would like to support the 1 or 2 most important EP mouse devices in SymbOS. So currently I am free for anything. And it's a good timing for the question, as the "Device Manager" of SymbOS (hardware specific stuff) will be ported soon.

Offline lgb

  • EP addict
  • *
  • Posts: 3494
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #62 on: 2014.November.02. 14:52:24 »
SymbOS already has a memory allocation table for up to 1MB with 256byte "pages". 1MB currently is the maximum, as SymbOS only supports 20bit addresses. So if ram expansions up to 1MB would always be located in the upper 1MB area (blocks #c0-#ff) that would work fine. I wonder if this is the case? (lgb already mentioned, that this is true).

I guess common memory extensions (well maybe not the one with 2Mbyte of memory!) in EP would create memory configurations so usable RAM segments are between C0-FF. Of course it would be better to support any segments, but if somehow SymbOS is limited for 1M, etc, it's still better to assume than having only 128K RAM as the base EP128. I think ;)

Offline Z80System

  • EP addict
  • *
  • Posts: 3833
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 38.0.2125.111 Chrome 38.0.2125.111
    • View Profile
Re: SymbOS
« Reply #63 on: 2014.November.02. 14:55:36 »
Quote
That sounds interesting! The mouse.xr is the standard mouse for the EP?
I would like to support the 1 or 2 most important EP mouse devices in SymbOS.

Yes (and No).

As far as I know, EP does not use mouses, generally.
There are only a VERY few programs which use mouse.

I can name only two of them: PAINTBOX (it is an graphical image editing (pixel painting) program) and EGI (it is a windowing GUI program written on the top of the EXOS, targeting to be the GUI of the (never released) next version of the EXOS).

So (almost) there are only these two programs on EP, using a mouse.

But Yes, these programs use a mouse through a piece of software, which is in a file called mouse.xr.
These two programs get mouse position from this mouse.xr software.

This mouse.xr software (as far as I know) works only with a hardware called the boxsoft mouse interface, which connect a NEOS mouse to the EP control and serial ports.

In the past, there were some other PC mouse hardware interfaces to the EP, but these used custom softwares for driver or application, and these almost disappear for now.

NEOS mouse or the boxsoft mouse interface are extreme rare, too. Almost nobody have those. (Zozosoft has one of those, for example.)

So EP almost does not have a mouse, at all.

As far as I know, there are two pieces of software applications worth to take into account with mouse, are PAINTBOX and EGI, using a NEOS mouse through the boxsoft mouse interface hardware through the mouse.xr "driver" software.

Mouses (almost) exist in the EP world in the meaning of these two programs only ...



Maybe Zozo could verify my statements, or add to it ... Zozo ?
« Last Edit: 2014.November.02. 14:59:24 by Z80System »
Z80 System

Offline lgb

  • EP addict
  • *
  • Posts: 3494
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #64 on: 2014.November.02. 14:56:17 »
That sounds interesting! The mouse.xr is the standard mouse for the EP?
I would like to support the 1 or 2 most important EP mouse devices in SymbOS. So currently I am free for anything. And it's a good timing for the question, as the "Device Manager" of SymbOS (hardware specific stuff) will be ported soon.

It's the "boxsoft mouse interface" I think, what I've written for you before. It's basically an MSX mouse with some custom hardware interfaced to EP (MSX mouse if I am correct) uses 4 bites at once transfer (for total of 8 bits signed for X and Y mouse movement since the last query), but the EP solution is even more odd (sorry, in my opinion) to ask those 4 bits not at once but bits by bits. I guess it's because std "controller" connectors on EP (used by the interface) does not provide too much "input" pins ... MOUSE.XR is an EXOS extension (so it's a software, not the hardware ...) to support this interface. I guess since SymbOS does hw level access it does not have too much business with it then (if I remember correctly EXOS apps can open channel named MOUSE: and read data from there). There are many versions of MOUSE.XR even ones with also works with the joystick and not the mouse, etc. However to use that, EXOS channels etc should be used which may be not the way of SymbOS anyway.
« Last Edit: 2014.November.02. 15:04:06 by lgb »

Offline Z80System

  • EP addict
  • *
  • Posts: 3833
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 38.0.2125.111 Chrome 38.0.2125.111
    • View Profile
Re: SymbOS
« Reply #65 on: 2014.November.02. 15:25:14 »
Quote
So EP almost does not have a mouse, at all.

So, what I would like to say ... that there are almost no mouse hardwares at the people ... so there are almost no mouse hardwares to be compatible with ...

There is this boxsoft mouse interface what use a NEOS mouse originally, and there are circuits on the internet what converts a PS/2 mouse to the NEOS (or MSX) mouse and it then can be used by the boxsoft mouse interface ... but people do not have these, either ...

So when SymbOS can use the boxsoft mouse interface, then SymbOS will support approximately 3-10 people in the world ... :)

Say, 3 people will have NEOS mose and 7 people will get a PS/2->NEOS(MSX) mouse converter to their boxsoft mouse interface ... and done ... :)

So I think, SymbOS will have to support every mouse hardware, what people can get ... I think, people have to solve that SymbOS will be able to use their mouse hardwares ...
Z80 System

Offline lgb

  • EP addict
  • *
  • Posts: 3494
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #66 on: 2014.November.02. 15:44:16 »
Say, 3 people will have NEOS mose and 7 people will get a PS/2->NEOS(MSX) mouse converter to their boxsoft mouse interface ... and done ... :)

Well at least for people want to see a quick demonstration for SymbOS/EP128, my JavaScript based Enterprise emulator - JSep - can emulate boxsoft mouse. So the number of people can be increased then. Maybe :)

Offline Z80System

  • EP addict
  • *
  • Posts: 3833
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 38.0.2125.111 Chrome 38.0.2125.111
    • View Profile
Re: SymbOS
« Reply #67 on: 2014.November.02. 15:57:37 »
Quote
Well at least for people want to see a quick demonstration for SymbOS/EP128, my JavaScript based Enterprise emulator - JSep - can emulate boxsoft mouse. So the number of people can be increased then.

Yes, when we talk about supporting existing mouse hardwares then we have to talk about the boxsoft mouse interface ...

But what I would like to say ... In practice, EP has no a mouse.

In practice probably SymbOS will bring the mouse itself to the EP ... :)
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3833
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 38.0.2125.111 Chrome 38.0.2125.111
    • View Profile
Re: SymbOS
« Reply #68 on: 2014.November.02. 16:00:33 »
Otherwise ... EGI itself is appeared only some weeks ago ... appeared from the past "ghost" state ...

Before EGI (before some weeks), there was PAINTBOX only ... almost ...
Z80 System

Offline geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 31.0 Firefox 31.0
    • View Profile
Re: SymbOS
« Reply #69 on: 2014.November.02. 16:07:05 »
Now I did the first step and ported the low-level-screen routines to the EP, which was of course very simple, as I only copied the CPC routines and optimized the line jumps.
 and this is the first result:

[CU,
Prodatron

Great !!!   :smt041 :smt041 :smt041

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #70 on: 2014.November.02. 16:56:53 »
So if ram expansions up to 1MB would always be located in the upper 1MB area (blocks #c0-#ff) that would work fine. I wonder if this is the case? (lgb already mentioned, that this is true).
No! The continous memory are the rare exception, not the rule!

The main reason the address decoding: the 128k machine use F8-FFh area. Most of the expansion use a 8x41256 RAM chips for a 256K expansion. More simple put these 256K to any free 256K are, and will be complicated to put half rows.

The most popular expansion the MICROTEAM type EXDOS which have a 512K RAM at 40-5Fh. Todays these cards expanded with SRAMs, two EPROMs replaced with 512K SRAM )and another one with 512K FLASH ROM). One SRAM at 10-1Fh, 90-9Fh, another one at 30-3Fh, B0-Bfh.
And also possible add the new 1M expansion from Saint, in a compatible configuration 60-7Fh, DC-FBh.
There is the results :-)

In my machine I have a another 32K at 04-05h :-)

My other machine have a Bugtronics type 512K, at 10-1F, E0-EFh, plus 64K RAMs pigybacked to the original 64K expansion, at F0-F3h :-)

Exist a 1M card from Gyula Mészaros, it is located at 80-BFh.
EPROM/SRAM card for Gyula Mészaros, it is located at 10h-13h, 30h-33h, 40h-43h, 50h-53h, 60h-63h, 70h-73h; or 60-77h or a special custom location :-)
Using with 32K SRAM chips, these mirorred at the socket 64K address space. My enhanced EXOS RAM test can handle this situation, only 32K added to working RAM list.
But I built a 64K SRAM :-D

Conclussion: hard to find two same Enterprise configuration the I really suggest the segment table for paging.
« Last Edit: 2014.November.02. 17:02:29 by Zozosoft »

Offline lgb

  • EP addict
  • *
  • Posts: 3494
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #71 on: 2014.November.02. 17:02:01 »
The most popular expansion the MICROTEAM type EXDOS which have a 512K RAM at 40-5Fh.

Wow I haven't known this, that it's common even if I knew that it's of course possible ...

I think the mentioned table solution is the best anyway not because only this reason but because an "EXOS friendly" version later can have also the "problem" that some of the memory area is cannot be used by SymbOS. Maybe ...

And the index itself within the table is linear then at least, and we can say it is maxed at 1Mbyte area but the values within the table itself are not.

If I understand correctly.

Offline Z80System

  • EP addict
  • *
  • Posts: 3833
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 38.0.2125.111 Chrome 38.0.2125.111
    • View Profile
Re: SymbOS
« Reply #72 on: 2014.November.02. 17:07:09 »
Quote
Conclussion: hard to find two same Enterprise configuration

EXOS can handle this ... and SymbOS have to handle this, too ... haven't it ?

SymbOS have to detect memory as well, how EXOS or Zozosoft's speed ram test does it ...

It have to build a segment table, how EXOS does ... and manage those segments detected ...
Z80 System

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #73 on: 2014.November.02. 17:08:09 »
I think the mentioned table solution is the best anyway not because only this reason but because an "EXOS friendly" version later can have also the "problem" that some of the memory area is cannot be used by SymbOS. Maybe ...
Yes, the EXOS friendly version will be the next suggestion :-)

Quote
And the index itself within the table is linear then at least, and we can say it is maxed at 1Mbyte area but the values within the table itself are not.
If 1M the max then 64 bytes table enought.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #74 on: 2014.November.02. 17:10:53 »
EXOS can handle this ... and SymbOS have to handle this, too ... haven't it ?
This is what we suggest :-)

Quote
SymbOS have to detect memory as well, how EXOS or Zozosoft's speed ram test does it ...
Most easy way: the loader program ask the EXOS at the boot.