Welcome, Guest. Please login or register.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Prodatron

Pages: 1 ... 10 11 12 13 14 15 16 [17]
Programming / Re: SymbOS
« on: 2014.November.03. 16:07:08 »
Oh ok, after some more thoughts I think the slow way is the better one. And such a lookup table shouldn't require too much more additional time...

lookup_table: ;256byte aligned
db x,x,x,x,x,x,x,x,x,x,x,x,x,x

;a=bank (0-14)
LD (patch+1),a
LD a,(lookup_table)
;a=first 16K block

Programming / Re: SymbOS
« on: 2014.November.03. 15:52:37 »
Thanks guys for all these additional information!
Keeping EXOS alive is a good idea on expanded systems.
After Zozosofts post about the different memory extensions I was thinking how to handle it in SymbOS. Usually SymbOS expects to have up to 16 banks of 64K one after another. Some of the extensions, which Zozo mentioned, seem to have the ram wildly spreaded around the 4MB area. But most seem to have it as one block.

Now I think that there are two possibilities how to handle it in SymbOS:

- the fast way:
The zero bank is at #fc-#ff. Bank 1-15 can be placed anywhere in the 4MB address space one after another. It is possible that in this area of up to 960K some 64K banks are missing, but the area can't be larger than 960K. With this solution memory banking will be as fast as on the MSX/PCW.

- the slow way:
The zero bank is at #fc-#ff. Each other 64K bank can be anywhere in the 4MB address space (the 4x16K blocks of one bank have to be still in one row). We have a table with 15 entries, which specify the first 16K block of each 64K bank. This solution will be slower because of the required table look-up. I wouldn't suggest using an entry for every single 16K block, as it would slow down banking too much, and it seems, that at least 64K in a row is mostly given.

So what makes more sense? I would like to choose the "fast way", but what do you think?

Programming / Re: SymbOS
« 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.

Programming / Re: SymbOS
« 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!

Programming / Re: SymbOS
« on: 2014.November.02. 14:25:24 »
In the Hungarian SymbOS topic we make a long brainstorming about how possible run the SymbOS on the Enterprise.
Ah cool, I have to read the 10 pages now with the Google translator! :)

One most important question the memory paging:
If I understood right the documentation: because the limited features of CPC the memory paging done by 64KB blocks. Only exception the first (bank 0) which are can mixed 16K segments of other banks. This bank is used by the SymbOS kernel.
The memory paging can be controlled with one I/O port.
It is right?
That's correct!
On the CPC we talk about "blocks" (16K) and "banks" (64K). Each bank contains 4 blocks.
Now you have the following possibilities:
- show first 64K only
- switch any 16K block to #4000-#7fff (the remaining visible ram is still from the first 64K)
- switch the last 16K of an other 64K bank to #C000-#fff (the remaining visible ram is still from the first 64K)
- switch a whole 64K bank to #0000-#ffff
And yes, these configs are controlled with only 6 bits (3 for the bank select, 3 for the "mode" select) on one I/O port.

But how working SymbOS paging on 4x16K paging machines? If I know right the MSX and PCW also use this paging method. The paging routine have a table for each 64K banks for which 4 value needed to send to the 4 paging ports?
It just "simulates" the CPC banking configurations. So the paging routine checks, which mode and which bank is required and OUTs the proper 16K block numbers to the 4 I/O ports. So even the MSX and the PCW memory is separated in 64K banks.

Because the Enterprise can be expanded very flexible, many different expansion exist, this means many different address locations. We think the best way at the boot the SymbOS loader ask the RAM list from the EXOS and fill up a memory banks table with the segment numbers. Only problem if it is problem: this is need a 16x4=64 bytes table. Is a enought space for this in SymbOS kernel? Or already exist because the MSX/PCW?
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).

One more question: can be support more than 16 banks = more than 1024k memory? Todays very easy to put megabytes to Enterprise :-)
Unfortunately not yet. It would require huge changes in parts of the kernel, and an alternative set of memory functions, as the current ones are limited to 20bit (16+4). 1024K should be enough for everyone :D :D

Programming / Re: SymbOS
« on: 2014.November.02. 11:33:17 »
After lgb was showing me his impressive "hack"-port of SymbOS for the Enterprise, he finally convinced me to begin the Enterprise port right now! So during the last two days I started to explore the fantastic world of this very cool Z80 machine with lgb's great help! TBH I am really impressed again!
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.
Thanks to Zozosofts post here I was also able to set up the LPT for 320x200x4 or 640x200x2 screens very quickly, and this is the first result:

The next step is to port the kernel, with which I will start now.
@lgb: Thanks a lot again for your brilliant help!! I will reply soon!


Programming / Re: SymbOS
« on: 2014.October.12. 12:06:49 »
Thanks for the information! Do these SD card extensions require the original ExDos card? (these are so terrible rare...)
SymbOS supports FAT12, FAT16 and FAT32 by itself, so there are no problems with any partition size.

@lgb: So it seems that it's best to port SymbOS to the Enterprise as soon as possible :)

Both ROM have a direct access function (like as DISKIO in the EXDOS for the floppy), and also can be extended if something special needed for the SymbOS.

Anyway need to know more about how works the SymbOS then possible thinking about the best way.
If the direct access function doesn't require any special environment variables etc. at fixed places in memory it could work (SymbOS is a complete independant operating system, removing everything else in memory while booting). Usually the SymbOS mass storage device drivers access the hardware directly, that was also my plan for the Enterprise.

Another quick question: Is the WD1770 (this is used in the ExDos card, isn't it?) similiar to the WD1793?

Programming / Re: SymbOS
« on: 2014.October.11. 21:50:13 »
Hi EP guys, it's nice to hear from you after such a long time again! End of 2012 and since the beginning of this year I am back on SymbOS development. An Enterprise port of SymbOS is still a very big dream and planned for the next release (3.0) or the one after it. SymbOS 2.1 for CPC/MSX/PCW is finally out since August 2014.

@gflorez: Good to hear about new hardware expansions for the EP! Are these still available? Or emulated? I am probably not up-to-date regarding information about what's going on in the Enterprise hardware scene. But this is very interesting! Maybe you have some information and/or links to current projects and the availability? Would be cool! Oh yes, SymbOS can't run with the Enterprise CPC emulator, as it doesn't use the CPC OS at all and requires 128KB or more. But porting SymbOS to the EP shouldn't be very difficult. The graphics can be configured 1:1 like on the CPC and the memory mapping is like on the MSX and PCW. So there is only some work left for writing device handling (keyboard and stuff like that, and mass storage devices).

@lgb: That sounds so crazy! You emulate parts of SymbOS on a PC in C? I can't believe it, that sounds so impressive! Some time ago a friend and I were thinking about an x86 version of SymbOS, which includes a Z80 emulator for the native App code and most parts of the OS, but for drawing the GUI/graphic output and the filesystem it uses x86 code directly, so all time critical stuff is as fast as possible.

What is currently the best emulator for developing EP software?


Programming / SymbOS
« on: 2006.June.20. 21:10:27 »
Quote from: "Zozosoft"
Currently under development the Enterprise All In One Interface. This is same type thing as the SYMBiFACE, it will be contains IDE interface, RAM and ROM extensions and etc.

Any idea, when it could be available? This year?
Btw, what kind of mouse can be connected to the EP?

Programming / SymbOS
« on: 2006.June.19. 01:25:52 »
Wow! When do you think this card will be available?
If I am able to extend my EP64 (I bought it on ebay-UK) with more memory I will buy two cards for sure. I think today an IDE interface (+more ram) is one of the most important extension for an 8bit machine!
SymbOS already supports FAT12, FAT16 and FAT32, so it should run fine with your controller and big harddiscs. But the maximum is 128GB, as currently I am not supporting the atapi protocol. LBA is limited to 128GB (2 ^ 28 * 512). But hey, who cares! :)

Programming / SymbOS
« on: 2006.June.15. 17:06:48 »
Ok, cool! I think it will take some weeks until I can start with the EP, but then I will try to instal Linux to test your emulator.


Programming / SymbOS
« on: 2006.June.15. 16:58:12 »
Quote from: "MrPrise"
What OS are you using for the development?

Currently I am using Windows XP.

Programming / SymbOS
« on: 2006.June.15. 16:29:38 »

thanx a lot for the information! I have already seen, that an EP port will be possible! And good to know, that the emulator has a debugger, too (ok, just a small one).
Please be a little bit patient with the port, I first have to finish the MSX version. But now porting SymbOS to the EP should be even faster, as I already made all these porting-experiences on the MSX  :)


PS: Because of the port I bought a EP64 some days ago. Is it possible to order a memory expansion and/or a disc drive somewhere?

Pages: 1 ... 10 11 12 13 14 15 16 [17]