Enterprise Forever

:UK => Programming => Topic started by: Povi on 2006.June.14. 10:26:40

Title: SymbOS
Post by: Povi on 2006.June.14. 10:26:40
This is the answer from Prodatron (author of SymbOS) about an Enterprise port:
Quote
But maybe we can already discuss about an Enterprise port. I would like to know some data about the EP:
- what are the bankswitching possibilities? In which ways can the Z80 access more than 64K?
- what are the screen modes/resolutions? How is the video ram organized and where in memory is it placed?
- are there standard floppy drives and file systems existing?
- are there emulators for the Enterprise available? Do they contain a monitor/debugger?
 
In any case I will try to organize an EP and maybe a EP-SymbOS could be possible in the future :-)
Title: SymbOS
Post by: Zozosoft on 2006.June.14. 11:48:07
Quote
But maybe we can already discuss about an Enterprise port. I would like to know some data about the EP:
- what are the bankswitching possibilities? In which ways can the Z80 access more than 64K?

Yes, the total addressable space is 4096K. The memory is segmented. Each segment is 16K, the total 4096K=256*16K segments. Numbered from 00H to FFH
The Z80 memory space is divided to 4 pages
0000H-3FFFH: page 0
4000H-7FFFH: page 1
8000H-BFFFH: page 2
C000H-FFFFH: page 3
You can switch any segment to any Z80 page. The page select ports are the B0H-B3H (in the DAVE chip), this select segments to page0-page3.
Any segments can be a ROM or RAM.
The default memory configuration:
00H-03H internal ROM
04H-07H external ROM cartridge socket (for Basic interpreter or other programs)
F8H-FBH second 64K RAM of EP128
FCH-FFH first 64K RAM (The EP64 only have this)
The top of FFH segment used by the EXOS (operating system) for system areas.
Many hungarian machines have 521K memory extensions. (And new memory extension cards will coming :) )

Quote
- what are the screen modes/resolutions? How is the video ram organized and where in memory is it placed?

The NICK chip (video chip) have great feauters. You can define the screen memory everywhere in the video RAM, you can define differentc screen modes to every pixel line!
Easy work to bulid CPC type screens.
The NICK can access 64K video RAM, from the Z80 this is the FCH-FFH segments.
 
Quote
- are there standard floppy drives and file systems existing?

EXDOS the disk controller card, using standard floppy disk drives (40 or 80 tracks, 1 or 2 side: from 180K up to 720K), can use up to 4 drives.
The disk format is standard MS-DOS compatible, FAT-12 filesystem. The disk format is officialy 9 (or 8) sectors/track. Unofficially up to 11 sectors/track, and tracks up to 90 (this is depend of the current floppy drive, but up 84 tracks is "standard")
The disk controller use WD 1770/1772 controller chips.
With some hw modiffications (developed by me :) )the EXDOS can use HD floppy drives (1.2/1.44Mb), using the standard PC compatible HD disks, or unnofficialy format up to 22 sectors/track on 1.44Mb disks.
The EXDOS have built in RAMDISK support, the RAMDISK is use standard FAT12 filesystem.
On Enterprise you have many points where can handle the disks.
With EXOS calls, this is file level access, and with the EXDOS command calls, can use any EXDOS commands (this is standard DOS commands, CD, COPY, MOVE, REN, FORMAT, etc).
With EXDOS calls can use DOS, CP/M like calls (File controll blocks and etc).
With other EXDOS calls can read/write any sectors of any EXDOS logical drives.
And the floppy handler part of the EXDOS have direct entry point, this is the DISKIO calls, with this the low level handler for floppy drives.

And now I developed IDE disk controller card :) some words about this will coming...
 
Quote
- are there emulators for the Enterprise available? Do they contain a monitor/debugger?

The EP32 is have, but not too perfect :( but I hope will coming new better version :)
Title: SymbOS
Post by: Zozosoft on 2006.June.14. 11:49:31
English technical documentations of Enterprise (http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/index.html)
Title: SymbOS
Post by: Prodatron on 2006.June.15. 16:29:38
Hi,

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  :)

CU,
Prodatron

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?
Title: SymbOS
Post by: MrPrise on 2006.June.15. 16:33:36
Quote from: "Prodatron"
And good to know, that the emulator has a debugger, too (ok, just a small one).

What OS are you using for the development?
Title: SymbOS
Post by: Prodatron on 2006.June.15. 16:58:12
Quote from: "MrPrise"
What OS are you using for the development?


Currently I am using Windows XP.
Title: SymbOS
Post by: MrPrise on 2006.June.15. 17:03:39
Quote from: "Prodatron"
Quote from: "MrPrise"
What OS are you using for the development?


Currently I am using Windows XP.

The reason why asked that is because my emulator (unreleased) works under Linux only (yet). It has a built-in debugger, disassembler, you can use breakpoints too. I think its debugger is slightly usable than the EP32's debugger (maybe I am just prejudiced ;-), but at least it is bigger :-D). My emulator is in pre-alpha, there is no sound, but most of the programs are working on it. If you would like to try my emulator please let me know and I will revamp it because Im currently working on its new UI which is not working yet.
This offer is stand for anybody else too who use Linux, of course.
Title: SymbOS
Post by: Prodatron 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.

CU,
Prodatron
Title: SymbOS
Post by: lgb on 2006.June.15. 17:36:42
Quote from: "MrPrise"
If you would like to try my emulator please let me know and I will revamp it because Im currently working on its new UI which is not working yet.
This offer is stand for anybody else too who use Linux, of course.


I'd like to try it as "anybody else who use Linux" :-)
Title: SymbOS
Post by: MrPrise on 2006.June.15. 17:44:10
Ok. I'm going to make a simple website for my emulator and I will inform you if there is any progress. I can quote Depeche Mode: "It's just a question of time" ;-)
Title: SymbOS
Post by: lgb on 2006.June.15. 21:32:41
Quote from: "MrPrise"
Ok. I'm going to make a simple website for my emulator and I will inform you if there is any progress. I can quote Depeche Mode: "It's just a question of time" ;-)


Thanks, and please note that all we need is the source ("use the source, Luke") the website can wait :)
Title: SymbOS
Post by: MrPrise on 2006.June.15. 21:42:24
Quote from: "lgb"
Quote from: "MrPrise"
Ok. I'm going to make a simple website for my emulator and I will inform you if there is any progress. I can quote Depeche Mode: "It's just a question of time" ;-)


Thanks, and please note that all we need is the source ("use the source, Luke") the website can wait :)

I know ;-) But the source is not really "user-friendly" (yet) and I dont want to release such an ugly thing.  :oops:
Title: SymbOS
Post by: Zozosoft on 2006.June.16. 13:01:46
Quote from: "Prodatron"
I bought a EP64 some days ago.

You are very lucky! :) I never see real EP64, only on photos :(
Where you bought?  Many times I searched on the Ebay, but not found any Enterprise :(

Quote from: "Prodatron"
Is it possible to order a memory expansion and/or a disc drive somewhere?

When you want it? Now or in the future? :)
Title: SymbOS
Post by: Zozosoft on 2006.June.16. 13:34:34
I promised few word about the hard disk controller:
The prototype card (http://ep.homeserver.hu/Galery/Bovitmenyek/Picture/IDE02.jpg) have two IDE channels, I think the series will be with one for HDDs and one CF socket.

The ROM handler program using everywhere 32 bit LBA sector numbers, no fucking CHS :) (Only at the lowest level converted to the CHS, if the current drive not support the LBA mode). This is enought to addressing up to 2TB :)
Parst of the program:
Low level command set: read/write sectors, read drive identify informations, etc. Will be available entry point to this routines, like as EXDOS DISKIO (this is the floppy low level routines in the EXDOS ROM)
Initialisation program, this allocate memory from the EXOS, detect controller cards, hard disks, an read the partition informations, make table with all partitions datas.
EXDOS Extension interface: at the system startup, the EXDOS ask every ROM extension programs, who have disks, which needed handled by DOS. If any ROM have disks, report to the EXDOS, have many logical disks, and address of the device driver program.
Not needed to work with files, directories, FATs, etc! The EXDOS will do these functions!
Only needed this functions: read/write sectors, and format disk.
The EXDOS (written in 1985!) can handle logical disks up to 32MB, with FAT-12. Without any modifications!
This means: now you can use 21 (F:-Z:) FAT-12 partitions, every can be up to 32MB size, this is total 672 MB. More than enought :) I think all Enterprise program in the world is about 2-300 MB :)
In the future, after I fully disassembled the EXDOS, I want to recompile with FAT16 and 32 bit sector addressing support.

The IDE ROM program have very high level commands to accessing disks, can read/write sectors with EXOS commands. I written this feature for the FDISK utility (http://ep.homeserver.hu/Galery/Bovitmenyek/Picture/DSCF4372k.jpg), at this way easy to write disk utilities in IS-BASIC :)
Title: SymbOS
Post by: Prodatron 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! :)
Title: SymbOS
Post by: Zozosoft on 2006.June.19. 14:11:03
Quote from: "Prodatron"
LBA is limited to 128GB (2 ^ 28 * 512). But hey, who cares! :)

From the ATA6 standards you can use 48 bit LBA command set :-)
I use this features when needed, to use the higher 4 bits of the 32 bit sector addresses.
Very easy to add this features to existing 28 bit LBA low level routines. Only few instructions needed to the drive identify program, for detecting, current drive is support the 48 bit LBA?
And at the sector address output routine, if the drive support, and the sector address use more than 28 bit, then outputing full 32 bit with 48 bit command set.
Title: SymbOS
Post by: Zozosoft on 2006.June.20. 20:57:43
Quote from: "Prodatron"
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!

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.
Title: SymbOS
Post by: Prodatron 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?
Title: SymbOS
Post by: Zozosoft on 2006.June.20. 21:18:06
Quote from: "Prodatron"

Any idea, when it could be available? This year?

Good question :)
Quote from: "Prodatron"
Btw, what kind of mouse can be connected to the EP?

Currently serial mouse with the RS-232 card (http://ep.homeserver.hu/Galery/Bovitmenyek/Picture/Serialcard.jpg). But we think, for the new board, the PS/2 is the best choice.
Title: Re: SymbOS
Post by: gflorez on 2014.October.11. 17:51:22
I rescue now this thread cos I've been testing SymbOS for CPC, mentioned on the Web emu topic.

SymbOS was created and maintained by Prodatron (http://enterpriseforever.com/profile/?u=52), member of  the web and owner of an EP.

He was interested on to make a version of SymbOS for EP,  but back in 2009 he needed a mouse standard and some high capacity storage to make the port.

I think now is the time, as there are available memory expansions, two SD-card readers, one yet ready and the other on its way, and the boxsoft+PS/2-MSX converter can be a cheap mouse standard.  

-----------------
SymbOS need 128k or more of memory. A pity the EP CPC(geco) emulator only admits up to 64k.

I've grow the Sym-RomD.ROM up to 16k as the ep128emu only admits this size. The CPC mouse emulates the external joystick port of the CPC, so it is only a matter of redefine the keyboard to make it work.

The OS is impressive as you can see.

EDIT: The snapshot is for the CPC side of the ep128emu that all of you have already installed, didn't you?.
Title: Re: SymbOS
Post by: lgb on 2014.October.11. 21:02:43
I don't think SymbOS would run on EP with software CPC emulator for example because of the lack the emulation of RAM paging etc (so hardware level emulation) and of course the memory size. So, a native-EP version of SymbOS would be needed. I don't think it would be too hard, as far as I can see, SymbOS only has a tiny kernel and many components are "processes" (not only the applications but system components as well), communication among them is done via sending "messages". So maybe only the low level stuffs and the (micro-)kernel needs to be modified, and only more light modifications (if any) in other components are needed?

I've just started to write on PC (Linux) a software in C which includes a Z80 emulator (not written by me though) and software emulation of the kernel parts of symbOS with the hope that I can understand symbOS internals better in this way. It's only for try to run SymbOS apps not the original kernel etc which is emulated in native C code. It already knows to load (relocate, etc) the binary format of symbOS and running it, though at the first kernel message command it dies because of the lack of implementation of SymbOS kernel features. Currently the cmdtest.com loads and it also prints text as a single kernel message is implemented via process ID 7, wich would be the symshell on a realy SymbOS. I think it would be a bit hard though to re-implement the full SymbOS kernel in C. For a stuff like cmdtest.com it's easy since basically it's a shell based stuff with only getting a text and print, it would work. However true GUI apps with all the stuffs SymbOS can be great would be a much more harder task. Anyway even at this stage it was a fun to do as I've already learnt many of the internals of the SymbOS, like executable format, memory management and message passing between its components in a scheme of microkernel design basically. My work is based on documents of symbos, some source of the cmdtest.com, and some debugging of the running code of the Z80 emulation. There were some surprised which were not clear according the docs, like size of code area in the header is incremented by 0x100 to reflect the fact that command path and parameters are appended to the static part of the code area at least in memory.
Title: Re: SymbOS
Post by: Prodatron 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?

CU,
Prodatron
Title: Re: SymbOS
Post by: gflorez on 2014.October.11. 22:25:15
No, it doesn't work with CPC sofware emulator, I've tested it already...

The SymOS starts on ep128emu(CPC mode) with all Roms(464, 664 or 6128) provided the Ram is at least  128k.

Insert the disk image below and  write 'run"sym.bas' . Then pulse Enter.
Title: Re: SymbOS
Post by: lgb on 2014.October.11. 22:29:05
@Prodatron

I guess ep128emu is the best emulator. It can run on Linux and Windows too, it has debugger, and also you can do even tricky things by developing LUA scripts which can interact with the emulator. Also it can emulate some of the more modern hardwarers, like the IDE interface (not the SD-card one sadly, but as far as I can understand someone can even implement that without modifying the C++ source of the emulator itself in the form of developing LUA scripts to do ...). I've also written an Enterprise-128 emulator, which is a web based stuff (JSep, running inside the web browser written in Javascript) but it's highly experimental and it lacks any debug capabilities, so I wouldn't recommended it for developing something at least :)

Well, "I have symbOS kernel in C" is a big thing to say :) What I basically did is simple, and was only to be able to execute cmdtest.com. It simply loads a SymExe10 format (and relocates, etc) to a 64K (no need banks etc, since all "system" is written in C) memory array used by the Z80 emulator. Then executing the Z80, entry points of RST vectors are handled by C code before returning to the Z80 emulator. Currently, I ignore any multitasking, modular, etc design of SymbOS, so what I do: if I get message 67 to process ID 7, I know it's a stringoutput message to symshell, so I simply print the text and I queue a message to ack the message from the app (id=195). If a message receive kernel RST couldn't find a suitable message in the queue it would exit that's all, because it's not a multitask system but a simple linear one only :) The only motivation was to find out more information on SymbOS, not a very serious attempt to "re-implement" symbOS in C ... And sorry if I did some mistake describing SymbOS internals, but it's about two days I try to dig in symbOS so I am not yet a guru, far from it :) Also, I haven't ever used SymbOS for real, only I saw some youtube videos :) But since I am interested in internals of operating systems and also 8 bit stuffs, SymbOS seemed interesting enough to try to understand beyond the average user level.

But anyway, a more serious and precise implementation of as a "prototype-OS" is a good idea. I also did it with my some of my 65xx CPU projects. If you develop apps, it's easy to do mistakes. On a real hardware being 8 bit, without MMU etc, it's easy to mess up things an app should not touch, or things like this. With a prototype kernel implemented in C with the target CPU emulation you can make checks like memory protection etc, so it's much easier to catch errors you wouldn't be able to do so easily on a real hardware (because of the simplicity of such a hardware well at least compared to modern hardware ...).

Also one interesting idea I already had with GEOS operating system: if apps only signals the OS to draw GUI windows, controls etc, how mad would be to implement that OS in plain C (with some CPU emulator to run the application code!) and doing the GUI drawing primitives with a modern GUI toolkit! Then, you can run old GEOS apps with highly modern GUI controls with anti-aliased true-type fonts etc inside! :) :) Maybe the same would be true for SymbOS as well as far as I can imagine. Well it wouldn't render Symvideos better :) only toolkit elements of course.
Title: Re: SymbOS
Post by: Zozosoft on 2014.October.11. 22:55:28
like the IDE interface (not the SD-card one sadly)
At application level no difference. Read/write LBA sectors :-)
Title: Re: SymbOS
Post by: lgb on 2014.October.11. 22:57:46
At application level no difference. Read/write LBA sectors :-)

Yeah, but SymbOS may require hardware level access for its drivers and not via EXDOS functions?
Title: Re: SymbOS
Post by: Zozosoft on 2014.October.11. 23:04:05
Yeah, but SymbOS may require hardware level access for its drivers and not via EXDOS functions?
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.
Title: Re: SymbOS
Post by: gflorez on 2014.October.11. 23:31:01

@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).


Hello again Prodatron. A marvellous work you have done...

About mass storage we have an Hungarian SD-card reader (http://enterpriseforever.com/hardver/sd-kartya-interface-cartridge-ben/) available at the end of this month if you email to SzörG (http://enterpriseforever.com/profile/?u=269) at vortyex@freemail.hu. It  connects to the cartridge bay and it would fit inside of a cartridge.

Another option, the English SD-Card reader (http://enterpriseforever.com/hardware/sd-card-interface/) by Saint (http://enterpriseforever.com/profile/?u=322), is more ambitious, and connects to the expansion connector, includes RAM, ROM, SD-card reader and future real expansions...  It is finished but not completed writing the software.

The only drawback with that cards is that the EP operative system only manages natively FAT12(Zozo is hardly attempting to implement FAT16 without losing options(floppy reading), and so actually the required numerous partitions are very tiny.

Talking about mouses, lately we have found EGI (http://enterpriseforever.com/other-topics/enterprise-graphical-interface/), an attempt for a GUI OS made on year 1987 but lost until now. It uses a MSX mouse with the pins arranged for C64....  only used inside a drawing program(Boxsoft's Paintbox). But now inside EGI (http://ep.lgb.hu/jsep/demo.new/?snapshot=egi.ep128s&disk=egi.img&autostart=yes) it has some potential, so then we have though about a PS/2 to MSX converter and then a Boxsoft interface (http://enterpriseforever.com/hardware/re-paintbox-mouse-xr/msg41504/#new).

About EP emulators the best and accurate but some outdated is ep128emu (http://sourceforge.net/projects/ep128emu/files/latest/download)(also CPC and Spectrum), its executable actualised here (http://enterpriseforever.com/ep128emu/ep128emu/?action=dlattach;attach=9081). The CPC snapshot I attached was made with it.

Now there is a propper contender named jsep (http://ep.lgb.hu/jsep/)(lgb (http://enterpriseforever.com/profile/?u=6)), based on javascript over a web page, and so it is not restricted to OS or processor. Even it runs on Android running Chrome or Firefox...
 Only a bit slow(for now...)
Title: Re: SymbOS
Post by: Prodatron 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?
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 12:35:50
Thanks for the information! Do these SD card extensions require the original ExDos card? (these are so terrible rare...)

No, it does not require. For an average Enterprise user with that SD card cartridge (who uses the original EXDOS/EXOS system software, not SymbOS) EXDOS _ROM_ is needed (but not the EXDOS card itself, with WD1770 and such), but the cartridge version of the SD card extension contains that in its own ROM (actually a flash, also contains BASIC since the cartridge replaces the usual place where BASIC cartridge is inserted). And anyway, if you want direct hardware access you may not even require the ROM (or at least only what Zozosoft mentioned that maybe the low level DISKIO routines can be used by SymbOS - if it does not use certain memory regions needed by SymbOS - but the SD card EP cartridge also contain some 8K SRAM by the way ...) and you can "talk" directly to the hardware.

Quote
SymbOS supports FAT12, FAT16 and FAT32 by itself, so there are no problems with any partition size.

Yes, with EP and its original EXDOS it's a limitation by the EXDOS software (FAT12 only). If you have your own code, you can implement whatever filesystem you want :)

By the way, how disk I/O is implemented in SymbOS? I mean, if a process want to read something, will multitasking allows another process to run while data is ready (in "modern" OSes a process is may but put into I/O waiting sleep but scheduler allows another task running not to waste that time), or the whole system is blocked waiting for disk I/O to be finished?

I ask this, because - in theory, as far as I can see - an expanded Enterprise (having more than 128K of RAM) could use the original EXOS/EXDOS for file I/O by reserving some segments used by system software and SymbOS would only use another parts of memory. This would allow to use any of the Enterprise disk I/O without any need to have hardware specific drivers, though it would be slower. And if there is modern feature in SymbOS like the I/O wait sleep, then it's quite impossible to do. Also this means, limitation of EXDOS code applies to SymbOS as well, like being FAT12 only. Anyway, Zozosoft's idea to use at least the low level DISKIO code can be a better solution.

Quote
@lgb: So it seems that it's best to port SymbOS to the Enterprise as soon as possible :)
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 independent 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.

I see. The reason I would like to deal with EXDOS somehow is the fact that Enterprise's own OS is very nice and quite "modern" compared to other computers of that time, only it's not multitasking etc :) I've even started to implement (unfinished though) in my own Enterprise-128 "web" emulator (JSep) to have "device driver" in EXOS talks with JavaScript code, to allow access http pages like files on the Enterprise and things like this. I really like the flexibility of EXOS and EXDOS system softwares. Though, I can understand that SymbOS is a "whole" operating system and it would be hard to make it use another software not designed for multitasking environment originally what SymbOS wants :)

And as I've mentioned above, maybe the diskIO ROM routines can use the cartridge's own RAM, so system RAM is not touched at all. I don't know, Zozosoft knows it better, I would bet :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.October.12. 13:29:39
The SD interface have a memory mapped I/O, and also own RAM space both in the ROM segment. For accessing need to be the ROM segment paged in, because the I/O space.
Anyway the ROM section (the first 8k) of this special segment also can be paged (total 64K, 8*8K pages), then possible put the SymbOS driver ROM to another part if the original ROM not enought.
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 14:52:19
I do not understand a (many :)) thing ...

When somebody made a storage device in the past, it was an EXDOS EXTENSION device.

There is the IDE card from Zozosoft, what can use IDE devices like HDD,IDE-TO-CF Memory Card,or anything ... and this IDE card has an EXDOS EXTENSION interface towards EXDOS.
There is the cartridge SD card what is an EXDOS EXTENSION device, too.
Saint's combined SD solution was planned to be an EXDOS EXTENSION device, too.
And the original floppy drives, as well.

So when this OS would be ported to the EP, every single hardware device have to get a new driver, towards SymbOS ?

Afther that, making a hardware device will require making two drivers, one to EXDOS and one to SymbOS ?
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 15:01:57
Does it mean, that SymbOS uses everything with hardware level access ?

And would it not be interactions between EXOS and SymbOS ?

For example, there will not be a command prompt in SymbOS where we can do EXOS EXTENSION calls ?

On EPs, what have EPROM EXOS EXTENSIONS, those EPROMS will be unavailable from SymbOS ?

SymbOS will use EXOS probably only for startup ? After that, EXOS will be erased from memories, like the FF system segment, or such ones ?
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 15:28:12
Probably it left out from the "news":

http://enterpriseforever.com/hardware/exp1-and-exp2-pinouts/msg34847/#msg34847

Somebody can easily get an internal 512K/1024K expansion from saint, what can be assembled in place of the original 64K expansion.
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 21:03:46
SymbOS will use EXOS probably only for startup ? After that, EXOS will be erased from memories, like the FF system segment, or such ones ?

Exactly. Why are you surprised, SymbOS is not an Enterprise-128 OS it needs only Z80, it has some memory requirements (with certain memory paging method) and not so much more to be able to port it to another machine: it also means that in theory SymbOS applications can run on any of the machines SymbOS runs. So It can't depend on any of the existing OSes, otherwise it wouldn't be portable too much. It wouldn't be true OS then either, as it would require another OS (EXOS) to be able to run :) SymbOS is a message-passing microkernel based multitasking OS, EXOS wouldn't even work this way at all, so it would be hard to interact.

That's one reason - I've told - that SymbOS is great but also, it means to lost "Enterprise specific" things (like EXOS/EXDOS), but everything has its own price ... To develop something GUI/window based but still EP specific thing would be more like EGI, and not SymbOS, they have quite different scopes.
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 21:09:12
Quote
, they have quite different scopes.

Yes, you are right, only it is strange ...

When one thinks of the EP then thinks of EXOS, too.
Everything was bounded to EXOS.
But with SymbOS we may have choice, using EXOS or SymbOS.

Multi - boot EP ... :)

Title: Re: SymbOS
Post by: Zozosoft on 2014.October.12. 21:25:03
I think the best thing if the EXOS still accessible under SymbOS. Can be opened EXOS window like as EGI :-)
Then normal Enterprise programs can be started from SymbOS file manager.
Warm reset feature also only can be used when the system segment preserved.
If this is only work with memory expansion, don't problem. Todays very easy add megabytes to the Enterprise :-)
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 21:35:34
Quote
I think the best thing if the EXOS still accessible under SymbOS.

Probably Zozo you make the same mistake I did.

With SymbOS there is NO such thing that EXOS. EGI is an extension of EXOS. SymbOS (probably) replaces EXOS.
SymbOS uses the hardware, and all of it. SymbOS (probably) will not check memory segments allocated by EXOS. Its a standalone and different thing.
SymbOS's applications runs inside SymbOS. SymbOS is not a Current Application Program to EXOS, or probably only at its bootup.

So that would be a different effort to make SymbOS to keep EXOS intact.
Title: Re: SymbOS
Post by: Zozosoft on 2014.October.12. 21:39:11
Do you read what I'm wrote? :oops: see the word: IF :twisted:
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 21:52:12
I think the best thing if the EXOS still accessible under SymbOS. Can be opened EXOS window like as EGI :-)
Then normal Enterprise programs can be started from SymbOS file manager.
Warm reset feature also only can be used when the system segment preserved.
If this is only work with memory expansion, don't problem. Todays very easy add megabytes to the Enterprise :-)

That was what I suggested too. Let's SymbOS loader to allocate as many memory segments as it can, and what it can allocated, it's marked to be used by SymbOS, and already used segments (system segment, page 0 ...) would be untouched. There are few problems though:

* it won't run on base Enterprise-128 in this way, as SymbOS needs 128K RAM minimum. Remedy: if SymbOS loader can allocate more segments than 128K in sum, let's use only those, otherwise let's use the whole RAM. Still, if video RAM is needed and not enough segments can be allocated, that's a problem (possible solution with enough RAM expansion: let's SymbOS to copy already used segments like system segment into a normal one, and copy back on request but it would be a problem with warm reset)
* since SymbOS uses direct hardware access, the state of eg WD chip can be undefined and not what EXDOS would expect
* normal enterprise programs could be launched though, but it would need to have Enterprise-128 specific part in SymbOS userspace or at least some "loader" ... Also then SymbOS would need to re-free some segments for the app?
* it wouldn't be so much possible easily to return to SymbOS from Enterprise app, maybe the warm reset sequence but basically it means "restart" thus other running apps are lost inside SymbOS
* of coure multitasking is disabled during executing Enterprise-128 app, basically it would mean to pass the full machine back to EXOS from SymbOS

I think it's even more easy (but that is also hard!) to write a new EXOS which allows some kind of "multitasking" even if it only means to "switch" between running apps, and not running them in parallel as with true multitasking OSes
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 21:54:13
Quote
Do you read what I'm wrote? :oops: see the word: IF :twisted:

Thinking a little, maybe it is only a not too much modification of the memory handling of the SymbOS ...

Using only segments not allocated by EXOS ...

But I am not sure, it is worth the effort.




And I think it would not be only the memory handling ...

For example, making exos extension calls:

:help maybe could run ...

but :dir will interfere with the hardware device handling of SymbOS ... so ... probably such thing is not easy ...
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 22:08:15
:help maybe could run ...

but :dir will interfere with the hardware device handling of SymbOS ... so ... probably such thing is not easy ...

Still I can't see the advantages especially compared the difficulties it would mean to implement this. Even running a simple help command would require to partly switch back normal EXOS memory (system segment, etc) and shutting down SymbOS IRQ, RST vectors etc so basically stop its working while command is running. Otherwise it would be problematic that SymbOS uses the RST vectors EXOS would also use, and other problems like this. It someone only wants to use SymbOS as a "file browser" to run non-SymbOS (like Enterprise-128) applications, it's a bid odd to do :) It would be still possible to develop an OS like entity sitting on the top of EXOS with even multitasking (from EXOS side it's a single app) but it wouldn't be SymbOS, and really "hard" multitasking nature would be problematic because of the EXOS mono-tasking nature (thus a disk I/O would hang multitasking - but anyway, pseudo OSes - like Win95 was, basically it's something runs on the DOS halfly not a stand-alone OS - as far as I know it still used BIOS to acces floppy drives thus making serious hangs when dealing with floppies ...).
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 22:11:43

Quote
Still I can't see the advantages especially compared the difficulties it would mean to implement this.

Yes, probably it is the closest to the truth ... :)
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 22:17:40
Yes, probably it is the closest to the truth ... :)

One intersting though VERY MAD project: implement a new, EXOS which runs as a SymbOS application :-P Especially having IS-BASIC as SymbOS app would be funny :) Normal EXOS programs using strictly EXOS functions may work somehow (though I no idea how to cure problems like conflicting the usage of RST vectors), but even just trying bother B0...B3 ports to do memory mapping would cause a crash I guess :( Or such.

Regardless of SymbOS, I had the odd idea to really write a new EXOS (not just "binary patching" existing, original EXOS) which is as much compatible with the original as possible but introducing new features like having muliple programs as same time and allow to switch between them (well, with enough RAM it's not so impossible, some just may need to backup/restore system segment and page0, etc, I am not sure if it's really possible). But this is again a project which would not to worth to really do, as the this is hard to do ...
Title: Re: SymbOS
Post by: Z80System on 2014.October.12. 22:19:57
Quote
One intersting though VERY MAD project: implement a new, EXOS which runs as a SymbOS application

It would be some kind of OS virtualization, isn't it ?

SymbOS host EXOS guest ... :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.October.12. 22:22:10
When my Music Box Player play music whil you write your program in IS-BASIC, then the EXOS are mono or multi tasking? :-)

The EXOS function calls use very few bytes in the page 0. EXOS interrupt system just needed for the built in devices.
If you attach new "virtual" user devices for replace KEYBOARD and etc then these can be drived from your interrupt system and EXOS interrupt system can be override.

Anyway typing DIR in EXOS window not to important function :-)
The most important are the warm reset, and possible to start "legacy" Enterprise programs. For do this just needed to preserve the EXOS allocated memory. With lot of memory don't problem.
Title: Re: SymbOS
Post by: gflorez on 2014.October.12. 22:37:25
Like Rutger Hauer in Blade Runner, I've seen....... inside the SymbOS apps a CPC emulator. That's how the alien OS interacts with the machine, use the EP only as a shell and runs an emulated copy at the upper layer. It's like a scifi movie....it's horrible but brilliant....
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 22:39:57
When my Music Box Player play music whil you write your program in IS-BASIC, then the EXOS are mono or multi tasking? :-)

Hehe, it depends how you count that :) if it can read/write files while you read/write files in IS-BASIC, it's quite that :) Otherwise it's an easier solution like to put something into the interrupt handler, and not so much a true multitasking between two (or more) equivalent applications with the same possibilities to do in parallel.

Quote
Anyway typing DIR in EXOS window not to important function :-)
The most important are the warm reset, and possible to start "legacy" Enterprise programs. For do this just needed to preserve the EXOS allocated memory. With lot of memory don't problem.

If it's only that to start "legacy" apps and shut down SymbOS meanwhile (as it can't run in "EP mode"), it wouldn't be a big problem I guess. It's about the same problem like running Windows 3.1 on an 286 class computer: it has some kind of multitasking between its own apps, but if you need to run a DOS (not native to win3.1) apps, it would require to pause original win3.1 functionality at least. Note, I didn't used windows "too much" :) but something like this I remember about.
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 22:47:22
It would be some kind of OS virtualization, isn't it ?

SymbOS host EXOS guest ... :)

It would be called as "para-virtualization" as it's not full. It's the limit of the CPU (Z80) as of course it's not designed for this purpose :) What would be needed to "intercept" I/O instructions and pass the control to the hypervisor to allow to "emulate" the I/O instead of really doing that which is only allowed for the hypervisor (which controls the guest virtual machines). It's basically the scheme of modern virtualization environments. However, if Z80 gets opcode IN/OUT etc, it has not got a capability to doing something different. With modern CPUs some opcodes are defined as "privileged" ones and executing them in certain modes would cause to generate an "exception" the OS should handle. By contrast, para-virtualization is also interesting, it's like implementing an OS with some modifications to run on top of another component. A real full virtualization at the other hand is capable of running OSes designed to run on the "real hardware" without even knowing about the virtualization (in modern virtualization softwares, there are some crosses, like hypervisor specific guest OS drivers but it's only for performance reasons ...).
Title: Re: SymbOS
Post by: gflorez on 2014.October.12. 22:59:04
I think running MS/DOS commands in the  CMD.EXE window is virtual on win98 and up.
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 23:08:50
I think running MS/DOS commands in the  CMD.EXE window is virtual on win98 and up.

It is. But not the same with Win3.1 :) The key difference that 80386 CPU knows about the "vm86" mode which allows to emulate real mode. In 286 there was (16 bit) protected mode and real mode, but a protected mode OS couldn't run a real mode task too much because of the totally different interpretation of segment registers (they holds selectors in protected mode). 386 knows about 32 bit protected mode as well, and plus, the virtual real mode, or whatever it's called. Win3.1 was basically a 16 bit "OS" (well not even fully OS and it requires DOS) so it could not use the virtual mode capability of 386+ CPUs. Windows systems starting with '95 are partly (but not fully) 32 bit ones. My DOS emulator (dosrun) ran on Linux with the help of vm86() syscall of the Linux kernel and it emulated privileged instructions by software.

Anyway, win 95/98 etc stuffs are still runs on the top of DOS and requires DOS, even if it's not advertised too much. With some simple hack it was possible to exit to DOS instead of switching off the computer :) At least this is what I remember visiting some friends, personally I haven't used Windows OSes so I can be even wrong, though I am still interested in OS internals even if I didn't use them :D Maybe with windows2000 they are totally different OSes and their kernel are partly from the "NT" family of Microsoft operating systems, they can be much more named as "operating systems" as before when another OS (DOS) would be needed to run. I've driven my friends mad to name win'95 in its time as "protected mode DOS function extender with GUI" and not an "OS" :)

SymbOS is more an OS than even win'95 was as it does not need another OS under it :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.October.12. 23:16:25
Yes, Win 9x and ME just a DOS GUI :-)
2000 are the new name of NT 5.0, XP are NT 5.1 and 5.2, Vista are the 6.0, 7 the 6.1, 8 the 6.1, and the 8.1 are the NT 6.3...
Title: Re: SymbOS
Post by: gflorez on 2014.October.12. 23:20:44
You are right, SymbOS is really an OS, on the other side EGI is like WIN31, a front-end(win31 worse, as
EGI doesn't make pretensions of be an OS) .
Title: Re: SymbOS
Post by: lgb on 2014.October.12. 23:29:23
You are right, SymbOS is really an OS, on the other side EGI is like WIN31, a front-end(win31 worse, as
EGI doesn't make pretensions of be an OS) .

Yes, and it's not a problem, EGI is a nice idea to have "GUI for EXOS", nothing wrong about that! I am just interested what EXOS 3 would be ... :)
Title: Re: SymbOS
Post by: Prodatron 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 (http://enterpriseforever.com/programming/how-do-i-to-setup-a-cross-dev-environment-for-enterprise-128/msg41314/#msg41314) I was also able to set up the LPT for 320x200x4 or 640x200x2 screens very quickly, and this is the first result:

(http://www.symbos.de/gfx/preview/sym-ep-01lowlevelscreen.png)

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!

CU,
Prodatron
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.02. 11:54:04
Hello Prodatron!

In the Hungarian SymbOS topic we make a long brainstorming about how possible run the SymbOS on the Enterprise.
But without inside informations these are only just a guess.
I think more practical discuss with the original author :-) You know the SymbOS details we know the Enterprise details :-)

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?

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?

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?

One more question: can be support more than 16 banks = more than 1024k memory? Todays very easy to put megabytes to Enterprise :-)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.02. 11:56:57
and this is the first result:
Wow! :smt038
Title: Re: SymbOS
Post by: lgb on 2014.November.02. 13:42:11
After lgb was showing me his impressive "hack"-port of SymbOS for the Enterprise, he finally convinced me to begin the Enterprise

Ah, wonderful! :) Sorry about "badgering" you too much, but it seems it helped :-)

Quote
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!

Well yes, EP is interesting machine both in its hardware and software (EXOS/EXDOS/etc) too, in my opinion.

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

You're welcome, I am proud if I could help, and of course it applies for the future as well!

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.
Title: Re: SymbOS
Post by: Z80System on 2014.November.02. 14:10:36
Quote
and this is the first result:

Yes, we will have SymbOS, cool-cool-coooooool!



Otherwise I just made a PS/2 keyboard interface to the EP (It's a work in progress thing, I will fine tune it, but I can type or play already with a PS/2 keyboard),
and I would like to make a PS/2 mouse interface, too.

Enterprise already uses mouses for some things, like PAINTBOX or EGI through a common software interface, called "mouse.xr".
(Actually, it is the file name of a program became the de facto EP mouse API and mouse software driver implementation for the boxsoft mouse interface hardware, which is a NEOS mouse hardware interface to the EP.)

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 ?
Title: Re: SymbOS
Post by: Prodatron 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
Title: Re: SymbOS
Post by: Prodatron 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!
Title: Re: SymbOS
Post by: Prodatron 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.
Title: Re: SymbOS
Post by: lgb 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 ;)
Title: Re: SymbOS
Post by: Z80System 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 ?
Title: Re: SymbOS
Post by: lgb 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.
Title: Re: SymbOS
Post by: Z80System 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 ...
Title: Re: SymbOS
Post by: lgb 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 :)
Title: Re: SymbOS
Post by: Z80System 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 ... :)
Title: Re: SymbOS
Post by: Z80System 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 ...
Title: Re: SymbOS
Post by: geco 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
Title: Re: SymbOS
Post by: Zozosoft 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 (http://gafz.enterpriseforever.com/Galery/Bovitmenyek/Picture/EXDOS_Microteam-ISS4~1.jpg) 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 :-) (http://enterpriseforever.com/hardware/exp1-and-exp2-pinouts/msg37752/#msg37752)

In my machine I have a  another 32K at 04-05h (http://gafz.enterpriseforever.com/Galery/Bovitmenyek/Picture/Cartridge(ZL-03modified)_2x32K+32KSRAM~1.jpg) :-)

My other machine (http://gafz.enterpriseforever.com/Galery/Bovitmenyek/Picture/512ext1.jpg) 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 (http://gafz.enterpriseforever.com/Galery/Bovitmenyek/Picture/1MB_RAM~5.jpg), it is located at 80-BFh.
EPROM/SRAM card for Gyula Mészaros (http://gafz.enterpriseforever.com/Hardware/SRAM/Picture/P1010086.JPG), 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 (http://gafz.enterpriseforever.com/Galery/Bovitmenyek/Picture/IM000721.jpg)

Conclussion: hard to find two same Enterprise configuration the I really suggest the segment table for paging.
Title: Re: SymbOS
Post by: lgb on 2014.November.02. 17:02:01
The most popular expansion the MICROTEAM type EXDOS (http://gafz.enterpriseforever.com/Galery/Bovitmenyek/Picture/EXDOS_Microteam-ISS4~1.jpg) 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.
Title: Re: SymbOS
Post by: Z80System 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 ...
Title: Re: SymbOS
Post by: Zozosoft 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.
Title: Re: SymbOS
Post by: Zozosoft 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.
Title: Re: SymbOS
Post by: Z80System on 2014.November.02. 17:11:11
So ... enterprise owners have to manage (in hardware) the segment mappings not to collide each other ...

And when they did that, every ram/rom segments maps (decodes) to a unique position of the 0-255 range, then OSes have to recognise and handle that ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.02. 17:22:39
As far as I know, every EP OS bootup sequence have to go through all of the 256 segments,
paging those to a page (b0,b1,b2,b3), and make read/write operations on those, detecting the state of the segment.

Zozo knows the exact rules of the detection only ...

And the results will say, what is the current memory configuration of that particular EP running the OS ...

The OS have to use what memory configuration it found ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.02. 17:38:28
Quote
Most easy way: the loader program ask the EXOS at the boot.

I do not know ... I am not sure ... but I'm sure, that EXOS is not a BIOS ... It can have memory resources allocated ...

FF segment is always allocated by EXOS, and can be others, too ...



Of course, that it would be VERY COOL, when SymbOS can be a "Current Application Program" (CAP) to the EXOS ...

A CAP can use EVERYTHING of the hardware (I think) after it disabled the interrupts of the EXOS, and respects and preserves the allocated segments of the EXOS.

You can find information of the CAP at here:

http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/kernel/Ch2.html
http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/kernel/
http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/index.html

In this case, when SymbOS would be a CAP, the memory segment layout can (should) be read from EXOS, of course.

And it would be VERY VERY COOL, of course.

But when SymbOS does not want to be a CAP ... it has to detect memories by itself ... hasn't it ?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.02. 17:54:48
I do not know ... I am not sure ... but I'm sure, that EXOS is not a BIOS ... It can have memory resources allocated ...
I'm sure!

Quote
FF segment is always allocated by EXOS, and can be others, too ...
Yes, but you also got it as shared segment.

For EXOS compatibility need to preserve the system data and page zero segment.
With a little trick the page zero can be moved to the system segment, then only 16K needed for EXOS.
I think this is not a problem on expanded machines.

If it is done then at the Shut Down menu can return to the normal EXOS operation.
When pressing reset button, Hot Restart can be done by SymbOS not need a full reboot.
When select normal Enterprise program in File Manager, instead a ugly error message (this is not a executable program) can ask the user: Needed to exit SymbOS for execute this EXOS program. Are You sure? If yes then the SymbOS free up the memory and start the EXOS program.
Title: Re: SymbOS
Post by: Z80System on 2014.November.02. 18:00:53
Yes, it would be the megaultimatetopfirsclasssuperb solution ... :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.02. 19:48:44
About the mouse: I think the Boxsoft type will be good for primary standard.
It is use MSX protocol, which are already supported by the SymbOS, only the low level I/O routines needed to make Enterprise version.
It is true not too many old mouse exist, but very easy and cheap to reproduce: using a existing PS/2 -> MSX converter circuits then only few 74LS ICs needed, then ready to use PS/2 to EP interface. Gflorez tried it and working.
This solution can be used with any, unmodified Enterprise without any extra hardware. (And the interface also can be used for joystick interface for autofire joys)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.02. 19:58:57
and the interrupt handling (no work at all)
Lgb wrote: only every 6. IRQ used from the 300Hz CPC interrupts, then only 50Hz IRQ needed. It is already done by the Nick.
Just need to handle the IRQ flags in the Dave.
If not needed any special just add these to the IRQ routine, before EI:
LD A,30H
OUT (0B4H),A

This is reset and re-enable the Video IRQ in the Dave.
Do same before enable the interrupts at first time for your program.

Anyway if you need the original 300Hz CPC interrupts, no problem, with more complex LPT you can generate more Video interrupts is one frame.
Title: Re: SymbOS
Post by: Prodatron 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?
Title: Re: SymbOS
Post by: Prodatron 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
patch:
LD a,(lookup_table)
;a=first 16K block
Title: Re: SymbOS
Post by: geco on 2014.November.03. 16:13:09
The problem is that access of FC-FF segments are slow, because these segments are used by NICK chip also.
I think the 2nd solution would be the best, but zero page should be chosen elsewhere if SymbOS has active code on it, for fast solution zero page should be asked from EXOS, and if EXOS returns the page(s), it should be write into the code everywhere of SymbOS where zero page is used.
Title: Re: SymbOS
Post by: geco on 2014.November.03. 16:18:21
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
patch:
LD a,(lookup_table)
;a=first 16K block

Are there any free register pair which can be used for this?
Ex BC is used on CPC for specifying registers, on EP it does not neded:

ld c,a
ld b,high(lookup_table)
ld a,(bc)

?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 16:21:30
I think put bank 0 to FC-FFh are very wrong idea!
Because these are the video memory which are very slow because the Nick have the access priority. In the worst case the Z80 needed to wait about 770ns for the access window. It is independent from the CPU speed. Running code from video memory will be slow, and hard to calculate the execution speed, because the Nick and Z80 running at different clock signals.
Putting the kernel to video memory will be dramatically reduce the performance :oops:

If you always want a fixed Bank 0 then I suggest F8-FBh, or F9-FCh in this case 16K video memory will be the block 3 of the Bank 0.

I think "the slow way" are acceptable compromise. Using 64K blocks table enought flexible for the most of the existing configurations.
Msx running on 3.58Mhz, Enterprise 4Mhz, it is compensate the little slower banking. And todays exist a 10Mhz Turbo Enterprise :-)

The fixed bank 0 why needed? It is not possible the loader program put the actual segment number to inside code where it is needed? (I used this trick many time when convert old fixed addressed program to "compatible with all configurations")
Title: Re: SymbOS
Post by: Z80System on 2014.November.03. 16:21:56
I simply do not understand why this paging stuff so important ...

Are these bank switching (paging) sequences executed very- very often ? So often, you have to consider not to be maximum flexible ?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 16:47:34
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
patch:
LD a,(lookup_table)
;a=first 16K block
Add two RLCA then full 64 bytes table can used!
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 16:48:15
I simply do not understand why this paging stuff so important ...
The kernel and the applications are running in different memory banks.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.03. 16:54:31
Ok, I didn't know, that having code in the video memory reduces the speed so much.
So bank 0 should be moved to #f9-#fc on systems with memory expansions (yes, the last 16K should contain the screen).
@Geco: Yes, in 2 cases BC is free, so this is faster :) In a third case I have to use the slow ld (xx),a... methode unfortunately.
@Z80system: The paging is done quite often (between every task switch, when calling OS functions from tasks, when accessing application data from the different OS modules etc.), so it's good to have it in a fast way. But I think even the "slow way" will be fast enough.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.03. 16:59:50
Add two RLCA then full 64 bytes table can used!
It depends on the remaining free bytes for the kernel area... In this case I would even save two RRA :) as currently I am doing
AND #78:RRA:RRA:RRA (bits 3-6 contain the bank number)
Title: Re: SymbOS
Post by: Z80System on 2014.November.03. 17:09:43
I see the future ... in what I will use an EP > 1024MB with excellent modern keyboard and mouse and TFT monitor and an OS has many applications what are capable of using that much of memory ... :)

On an 8 bit CPU ... :) !
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 17:12:08
If you want I can write routine for the loader program which are allocate the memory and fill up the lookup_table.
Title: Re: SymbOS
Post by: lgb on 2014.November.03. 17:27:30
If you want I can write routine for the loader program which are allocate the memory and fill up the lookup_table.

I've already offered that too, but I guess you would be a better help here :) Also the loader can pass other things as well, like the current time (I am really not sure if eg ZT stores the time from RTC - if someone has - as the EXOS time, so the best way would be read date/time from EXOS and pass to SymbOS, it's another question if SymbOS want to read time - if there is RTC - further to avoid de-sync caused by like disabling INT sometimes so loosing an 1/50Hz tick ~ also I am not sure how precise the 50Hz created with VINT in one of the LPBs).
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 17:30:15
I am really not sure if eg ZT stores the time from RTC
ZT write the RTC time to the EXOS time variables.
Title: Re: SymbOS
Post by: Z80System on 2014.November.03. 17:35:34
EXOS will be the BIOS (a fat one) ... I think it's a good metaphor ... isn't it ? :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.03. 18:45:51
Thanks for the offer! :) I will write you as soon as the port is in a more advanced state.

Regarding RTCs, are there different ones existing for the EP? Of course the best solution would be to poll the RTC in SymbOS directly like it is done on the CPC and MSX. But the solution with receiving the start time from EXOS is probably ok, too. Sure you will loose some seconds after several floppy disc accesses, but that shouldn't be too bad.

I have a quick question again regarding memory configuration:
- I am now planning to put bank 0 to #f8,#f9,#fa,#ff
- on a standard EP128 bank 1 would be #fb,#fc,#fd,#fe and all additional banks can be anywhere

Now my question:
- what's about EP64 machines, which are expanded to 128K or more? Do they always have RAM at #f8-#fb or can it by anywhere as well, while #f8-#fb isn't available?

I am only asking because the 16K blocknumbers for bank 0 are hardcoded in the code for optimization. If I have to be flexible here as well, I will add a patch routine during the initialization.
Title: Re: SymbOS
Post by: geco on 2014.November.03. 19:17:03
I have a quick question again regarding memory configuration:
- I am now planning to put bank 0 to #f8,#f9,#fa,#ff
- on a standard EP128 bank 1 would be #fb,#fc,#fd,#fe and all additional banks can be anywhere

Now my question:
- what's about EP64 machines, which are expanded to 128K or more? Do they always have RAM at #f8-#fb or can it by anywhere as well, while #f8-#fb isn't available?

I am only asking because the 16K blocknumbers for bank 0 are hardcoded in the code for optimization. If I have to be flexible here as well, I will add a patch routine during the initialization.

There could be problems on EP64 machines, because the old memory expansions did not use F8-FB segments, so normally an expanded EP64 which was not expanded to EP128 do not have F8-FB segments, normally the felxible code should be used.
the memory configuration can be used on a normal 128Kb machine, but there is a possibility to leave 128K version, and make only it for expanded machine, and save EXOS segments, if you put PAGE0 content of EXOS to the beginning of FF segment, and set FF segment as PAGE0 in EXOS, then only one segment is enough for saving EXOS.
I would help also for the loader, but I think Zozo is the best person for it :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 19:23:56
Regarding RTCs, are there different ones existing for the EP?
Only one type, using MC146818P compatible RTC chip (which are also used on PC). But can be located on different I/O ports, but this is can be setuped, but I think the autodetect also not to be a hard problem :-) (my clock program write to the CMOS memory and verify it, if ok then the clock chip exist)

Quote
Sure you will loose some seconds after several floppy disc accesses, but that shouldn't be too bad.
I think if you also use the Dave 1Hz IRQ for clock, then no problem.

Quote
I am now planning to put bank 0 to #f8,#f9,#fa,#ff
At the EXOS compatible mode the FFh needed to be preserved

Quote
- what's about EP64 machines, which are expanded to 128K or more? Do they always have RAM at #f8-#fb or can it by anywhere as well, while #f8-#fb isn't available?
Can be at anywhere. Most of expansions developed for the EP128 then don't make F8-FBh area.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.03. 20:40:22
Ok, good to know. The 16K blocks of bank 0 can now be located anywhere :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 20:43:37
Ok, good to know. The 16K blocks of bank 0 can now be located anywhere :)
Great! :smt038
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.03. 20:58:34
Question for the future, but probably not bad idea thinking forward:
The CPC style 320x200/4 or 640x200/2 screen good for the begining...
...but we will be more happy if got a full screen desktop without border!
Technicaly the Nick can display 736x300/2 or 368x300/4. Because this is not fully viewable on older displays, I think follow the PAL standard will be the good idea, it is will be 720x288/4 or 360x288/4. (Anyway configurable screen size will be good idea :-) )

The problem: need more than 16K video memory. It is how possible in the SymbOS? I see in the PCW memory map also two video segment used.

Ok, it is possible only on expanded machines.

(And also possible to use interlace for 2x vertical resolution :-) also need 2x video memory.)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.03. 21:15:03
Yes, I already discussed this with Trebmint, the creator of SymStudio (PC-based IDE for SymbOS), and he really wants to have higher resolutions for the EP, too! :)
As you said for the beginning the two CPC screens will be used, as it's less complicated to have the screen in 16K. And yes, on the PCW I had the same problem with the screen beeing larger than 16K, so I already have some techniques and experiences for switching between 16K during low level graphic operations.
720x288x2 and 360x288x4 sounds really good, though we will have to stay within 8bit for the Y resolution, otherwise it would require huge changes in some of the low level routines to increase it to 16bit. That means we have 720x256x2 and 360x256x4 in the end, which is 22,5KB. I think that's quite ok.
In any case we will have 2 versions of SymbOS EP then, the base version which runs on 128K machines, and the extended version for the higher screen resolutions, which requires 192K or more. This is necessary as the memory map of the OS will be a little bit different, but it's not a problem at all, there are just two different "make" files.
Title: Re: SymbOS
Post by: Z80System on 2014.November.03. 23:34:40
When somebody writes an application to SymbOS (I suppose they can use C or C++), what are the limitations of the application program ? In terms of memory or such ...

When I wrote programs in C to EP, the memory was consumed too fast by the compiled C program ... With SymbOS can I use 256K program code or such ?
Title: Re: SymbOS
Post by: Z80System on 2014.November.03. 23:36:17
Or is it my problem, to solve my program using for example 256K memory with SymbOS, still ?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.03. 23:54:50
You still have to work within 64K banks, but you can switch between these banks with interbank-calls. There are also functions for accessing and copying memory between any locations. Memory in SymbOS within the 1MB is always addressed with its bank-number (0-15) and its 16bit address (0-65535).
Title: Re: SymbOS
Post by: Z80System on 2014.November.03. 23:58:12
Zozosoft already made his EP to work with a Z80 at a clock of 10MHz.

But it is a newer Z80 what Zozo had to use achieving this.
And unfortunately this newer Z80 cannot work with the undocumented instruction set of the original Z80.

Is it impossible to manage SymbOS not using undocumented instructions ? 'Cause in that case, it can be running on a speed X2.5 of the original EP ...
Title: Re: SymbOS
Post by: Trebmint on 2014.November.03. 23:58:43
When somebody writes an application to SymbOS (I suppose they can use C or C++), what are the limitations of the application program ? In terms of memory or such ...

When I wrote programs in C to EP, the memory was consumed too fast by the compiled C program ... With SymbOS can I use 256K program code or such ?
Prodatron has told me over the last few days about the Enterprise port, so I've just re-signed into the forum. My name is Trebmint and I'm the coder of something called symstudio, which is a PC based IDE for symbos. basically it offers the simplest way to develop an application. The project is on going, but in the nest few weeks a major upgrade will be released.

I created a few videos many months ago, but hopefully this will give you a little idea of what Symstudio does. Basically its a form editor, media creation tool with an assembler and Basic language built in.

https://www.youtube.com/watch?v=GqEjBHgdL_A (https://www.youtube.com/watch?v=GqEjBHgdL_A)

As for memory. Applications can only be 64k, but the data can be 1Mb in size if you choose
Title: Re: SymbOS
Post by: Prodatron on 2014.November.04. 00:07:33
Zozosoft already made his EP to work with a Z80 at a clock of 10MHz.

But it is a newer Z80 what Zozo had to use achieving this.
And unfortunately this newer Z80 cannot work with the undocumented instruction set of the original Z80.

Is it impossible to manage SymbOS not using undocumented instructions ? 'Cause in that case, it can be running on a speed X2.5 of the original EP ...

You are probably speaking about the Z180? SymbOS makes extensive use of the undocumented IXL/IXH/IYL/IYH 8bit registers, so you have to add a trap IRQ routine for these instructions and emulate them with own routines (which is possible with the Z180 AFAIK), but it will slow down everything a lot, so I am not sure, if this makes sense... :/ Better use a eZ80 :P
Title: Re: SymbOS
Post by: Prodatron on 2014.November.04. 00:10:26
Prodatron has told me over the last few days about the Enterprise port, so I've just re-signed into the forum. My name is Trebmint and I'm the coder of something called symstudio, which is a PC based IDE for symbos. basically it offers the simplest way to develop an application. The project is on going, but in the nest few weeks a major upgrade will be released.

I created a few videos many months ago, but hopefully this will give you a little idea of what Symstudio does. Basically its a form editor, media creation tool with an assembler and Basic language built in.

https://www.youtube.com/watch?v=GqEjBHgdL_A (https://www.youtube.com/watch?v=GqEjBHgdL_A)

As for memory. Applications can only be 64k, but the data can be 1Mb in size if you choose

Will be cool to have the new EP screen modes in SymStudio soon! :)
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 00:17:33
Quote
Better use a eZ80

Hmmm ... I'm afraid of there are causes making Zozo to use the Z180 ... or maybe he actually had that CPU only at his hands ...

I will ask him when he will be here at the morning ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.04. 01:01:56
Zozosoft already made his EP to work with a Z80 at a clock of 10MHz.

But it is a newer Z80 what Zozo had to use achieving this.
It is not fully true!

10MHz working with standard Z80, just replace the old Z80A with a new one which are produced for 10MHz (Z84C0010PEG)

It is a another project for a Z180. (And the final goal a switchable Z80/Z180 turbo system :-) )
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 01:02:20
Quote
https://www.youtube.com/watch?v=GqEjBHgdL_A

As for memory. Applications can only be 64k, but the data can be 1Mb in size if you choose

That looks very cool on the videos,
but unfortunately the Symstudio's webpage does not work for me ...

Anyway ... Is the API used by Symstudio the API of SymbOS, too ? So with Symstudio somebody calls SymbOS APIs directly, or has Symstudio its own API to its own library ?
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 01:05:58
Quote
It is not fully true!

10MHz working with standard Z80, just replace the old Z80A with a new one which are produced for 10MHz (Z84C0010PEG)

It is a another project for a Z180. (And the final goal a switchable Z80/Z180 turbo system :-) )

And what about that suggested eZ80 thingy ? Why don't you use that ? On the wiki that seems ultra fast and compatible (for me :)) ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.04. 01:15:38
And what about that suggested eZ80 thingy ?
Can not used because it is have own I/O ports which are conflict with the existing I/O port in the Enterprise. It is also true for Z380. Only Z180 can be placed to Enterprise (which are promised to the next Enterprise model more than 25 years ago...)
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 01:21:09
Quote
Can not used because it is have own I/O ports which are conflict with the existing I/O port in the Enterprise. It is also true for Z380. Only Z180 can be placed to Enterprise (which are promised to the next Enterprise model more than 25 years ago...)

I was afraid of such kind of thing like this ...

So (how you read) Z180 is knocked out by the undocumented instructions of the SymbOS, too ...

What remains is the 10MHz "normal" Z80, did I understand well ? Have we a 10 MHz solution already with undocumented instruction set working ?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.04. 01:36:17
So (how you read) Z180 is knocked out by the undocumented instructions of the SymbOS, too ...
Yes :-(
But will be great for the normal EXOS/BASIC/EXDOS system, as Bruce say: don't used anything undocumented in IS programs for the maximal compatibility.
And you can write new super fast 50FPS game for this system :-)


Quote
Have we a 10 MHz solution already with undocumented instruction set working ?
Yes.
You don't see it? (http://enterpriseforever.com/hardver/hardware-hogyan-apritsuk-miszlikbe-enterprise-unkat/msg32774/#msg32774)

In this topic the detailed instructions. (http://enterpriseforever.com/hardware/6mhz-and-more/msg37513/#msg37513)
Title: Re: SymbOS
Post by: Trebmint on 2014.November.04. 01:38:37
That looks very cool on the videos,
but unfortunately the Symstudio's webpage does not work for me ...

Anyway ... Is the API used by Symstudio the API of SymbOS, too ? So with Symstudio somebody calls SymbOS APIs directly, or has Symstudio its own API to its own library ?
No the website has been gone for some years. It hopefully will be back with a redesign of the symbos site very soon. And yes it 100% uses the Symbos API's where it can, but also has its own library of what I call SymBasic. Apps written in Symbasic are pretty quick. Not as quick as pure z80, but logic & loops etc are 5-10x faster than you'd get from a normal 8bit basic interpreter. I'm pretty confident that the final version will be as quick if not quicker than any C compiler you know on a z80. But you can mix and match between symbsic and Assembler anyway if you need 100% speed. And considering that the symbos API does most of the work the speed difference isnt that noticable anyway.
Currently any app created in Symbasic will carry the Basic code inside the app, meaning that a simple Hello world will be around 13k in size. I am working on a new compile system which actually only includes the used commands/functions and that with the highly optimized compiler will see that come down to around 4k for a simple App.
There actually is a version of C
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 01:54:32
I suggest a link to the EP scene at the date: 31. Oktober 2014 :) :

http://www.symbos.de/news.htm

I think it is official ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 01:58:21
Quote
And yes it 100% uses the Symbos API's where it can, but also has its own library of what I call SymBasic.

Cool, cool, cool ... or straight insane ... :)

Anyway ... what is the purpose of this Symstudio or even the SymbOS ?

Are these merely hobby projects ? Or studies or what are they ?
Title: Re: SymbOS
Post by: gflorez on 2014.November.04. 10:18:15
Direct access HxC with FAT32 on a CPC! Not as fast as a direct SD-card reader but when implemented on an EP we´ll have three different high capacity media to choose....

Title: Re: SymbOS
Post by: Zozosoft on 2014.November.04. 10:46:29
About the floppy driver: I think the best solution using extracted low level routines from EXDOS, and modify to the SymbOS special requirements.

I do same for example in my HXC manager.
Title: Re: SymbOS
Post by: Trebmint on 2014.November.04. 11:04:35
Cool, cool, cool ... or straight insane ... :)

Anyway ... what is the purpose of this Symstudio or even the SymbOS ?

Are these merely hobby projects ? Or studies or what are they ?
They are hobby projects I guess. Symstudio exists because the first time I saw Symbos I wanted to support it, as in my opinion it is probably the most interesting and cool 8bit project of the past 20 years. I think a number of people are now fairly determined that symbos will keep growing, both in the hardware it reaches and uses, and in the number of apps which appear over the next year or two.
Title: Re: SymbOS
Post by: gflorez on 2014.November.04. 11:12:11
Cool, cool, cool ... or straight insane ... :)

Anyway ... what is the purpose of this Symstudio or even the SymbOS ?

Are these merely hobby projects ? Or studies or what are they ?

Have you seen this (http://enterpriseforever.com/programming/symbos-106/msg41491/#msg41491) post?

SymbOS is a full grown operative system made similar to Microsoft Windows but running on a tiny 8 bit 4mhz Computer.

It can have two or more apps working at the same time, full coloured hi-res screen, mouse GUI and has almost all the tricks and goods that have the OSes of the big computers. Even it has becoming a microcomputing standard as in shortly it will be in three different systems. But totally free...

But the most important thing concerning us, SymbOS works on MSX or CPC ignoring their original operative systems, aspect that will change in the EP , as seems Prodatron wants to integrate EXOS to the max, asking advice to all our "EP wise men".

And all this is happening right now...

About Symstudio it is a platform for PC that permits you to compile apps for SyimbOS in a comfortable and easy environment.
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 12:00:11
Quote
SymbOS is a full grown operative system made similar to Microsoft Windows but running on a tiny 8 bit 4mhz Computer.

It can have two or more apps working at the same time, full coloured hi-res screen, mouse GUI and has almost all the tricks and goods that have the OSes of the big computers. Even it has becoming a microcomputing standard as in shortly it will be in three different systems. But totally free...

But the most important thing concerning us, SymbOS works on MSX or CPC ignoring their original operative systems, aspect that will change in the EP , as seems Prodatron wants to integrate EXOS to the max, asking advice to all our "EP wise men".

And all this is happening right now...

About Symstudio it is a platform for PC that permits you to compile apps for SyimbOS in a comfortable and easy environment.


Yes- yes, I got these,

the one I did not find yet, is the initial intentions of the authors of SymbOS and Symstudio ... Are these totally hobby projects ? From the beginning ?

And did a hobby project or effort become this big and great ?
Title: Re: SymbOS
Post by: gflorez on 2014.November.04. 12:14:07
I think every hobby project can be a big success if it has followers. Some projects develop in commercial but then the  communal contributions of the followers can stop. Think of this web with lots of adverts and all it's vast archive limited to senior members....

Just now you are reading and writing inside a living miracle.
Title: Re: SymbOS
Post by: Z80System on 2014.November.04. 12:16:30
Quote
They are hobby projects I guess. Symstudio exists because the first time I saw Symbos I wanted to support it, as in my opinion it is probably the most interesting and cool 8bit project of the past 20 years. I think a number of people are now fairly determined that symbos will keep growing, both in the hardware it reaches and uses, and in the number of apps which appear over the next year or two.

And now, I got this one, too ... :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.05. 18:56:01
During the last two days I ported the SymbOS microkernel to the Enterprise (task management, memory management, memory banking, interprocess-communication). After some debugging it's running now! :) Unfortunately nothing to show, as it isn't graphical at all. Now I will go on with the Device Manager (some hardware stuff like keyboard handling etc.) and then the big part starts, the Desktop Manager (GUI).
It's still making a lot of fun! :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.05. 19:11:43
Great news!

What is the final choice for the memory banking?
If I followed right the discussion :oops:
Bank 0: 3 any segment + one video segment
Bank 1-15: any continous 64K areas

Or finaly used the full 64 bytes table?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.05. 21:40:18
Bank 0: 3 any segment + one video segment
Bank 1-15: any continous 64K areas
Yes, this is exactly how it works now. The 64 byte table is currently not planned, as it would be very unoptimized in some cases. Banking occures quite often, not only during task switching, but also within tasks, when it accesses other memory. As an example, if the GUI process (called "Desktop Manager") is rendering a form it does multiple bank switching for each control inside the form: General data and text/graphic data maybe located in different ram blocks. The current EP solution is about as fast as the MSX version, and that's really fine :) I hope, the requirement to have at least single continous 64K areas is ok for nearly all ram expansions.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.05. 21:47:34
I hope, the requirement to have at least single continous 64K areas is ok for nearly all ram expansions.
Yes, it is good for about 99.9% of expansions :-)

The 3 segment of bank 0 needed to continous 48k, or can be a really any segments?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.05. 22:12:34
Yes, it is good for about 99.9% of expansions :-)
I am glad about this! :)

The 3 segment of bank 0 needed to continous 48k, or can be a really any segments?
All 4 segments of Bank 0 can be anywhere (but segment 4 has to be video ram, so #fc-ff).

I have a quick question:
I need a small "Enter" key for SymbOS to simulate the 2nd mouse button (first mouse button is ALT+Space, second is ALT+Enter). "Enter" is usually located right to the space key.
The big key, which is named "Enter" on the EP is usually called "Return" on other computers:
- CPC has the big "Return" key and a small "Enter" key right to the space key
- MSX has the big "Return" key and a small "Code" key right to the space key, so on MSX I use this for the 2nd mouse button
- EP doesn't have such a "small" enter key, only the big one (which is called "enter", too).
But the EP still has two shift keys. Now I wonder what shift key you are usually using for typing upper case letters? The right or the left one? As I would like to use the other one for a "Enter"-key replacement (for have the second mouse button).

PS: Or maybe I should use the INS key for this, as there is not such a key on the CPC...
Title: Re: SymbOS
Post by: Prodatron on 2014.November.05. 22:34:07
I think "Ins" is best for the small enter key replacement. "Pause" will be used for F9 and "Stop" for F10.
Title: Re: SymbOS
Post by: Z80System on 2014.November.05. 22:37:04
Maybe INS key is the better ... Otherwise, it is strange to hear, that SymbOS editor functionalities do not use a key like INS ... probably there is no overwrite editing mode only the default insert mode ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.05. 22:38:32
Anyway ... aren't these key replacement "shortcuts" configurable ?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.05. 22:39:59
All 4 segments of Bank 0 can be anywhere (but segment 4 has to be video ram, so #fc-ff).
And on 128K FB-FEh will be the Bank 1, and F8,F9,FA,FF the Bank 0?



Quote
I need a small "Enter" key for SymbOS to simulate the 2nd mouse button (first mouse button is ALT+Space, second is ALT+Enter). "Enter" is usually located right to the space key.
The big key, which is named "Enter" on the EP is usually called "Return" on other computers:
I think ALT+ENTER (EP ENTER :-) ) also will be good.
Both SPACE and ENTER not used for any plus function with ALT in normal Enterprise mode.
Title: Re: SymbOS
Post by: Z80System on 2014.November.05. 22:43:32
Quote
Both SPACE and ENTER not used for any plus function with ALT in normal Enterprise mode.

But maybe SymbOS uses alt+enter for something ... in this case Prodatron is looking for empty combinations for SymbOS not for EXOS editors ... isn't he ?
Title: Re: SymbOS
Post by: Z80System on 2014.November.05. 22:49:28
Quote
"Pause" will be used for F9 and "Stop" for F10.

And this will be strange, too. Probably I would like to use shift+f7,shift+f8 for f9,f10 in that case,
when SymbOS applications do not use shift+f9,shift+f10 frequently ... (in this case I would not have these keys ...:))

Or in the case of f9,f10 the real shift will be the double shift ... both shifts pressed at once ...

So probably this kind of things are the things everybody wants to set for their own taste.
Title: Re: SymbOS
Post by: Z80System on 2014.November.05. 23:10:30
Now I saw to CPC's keyboard ...

How I see CPC has no ALT at all ... so with ALT you can double the EP keys, cannot you ?

In this case alt+enter can be the little enter of CPC, if SymbOS uses that key frequently ...

And alt+space and alt+right shift can be mouse buttons ...

And alt+f7,f8 can be f9,f10 ...

And such ... but everybody will be able to decide the good combinations only in practice ...
Title: Re: SymbOS
Post by: lgb on 2014.November.05. 23:44:43
How I see CPC has no ALT at all ... so with ALT you can double the EP keys, cannot you ?

As far as I know, SymbOS uses the 'copy' key as 'alt' on CPC.
Title: Re: SymbOS
Post by: Z80System on 2014.November.05. 23:47:08
Things can be difficult in the real world ... :)
Title: Re: SymbOS
Post by: BruceTanner on 2014.November.06. 11:00:59
I wonder if it would be possible to fake an EXOS environment (RST, replacement memory allocation and video and editor device etc) in the SymbOS app's memory space, and then run IS-BASIC in a SymbOS window! :smt021
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.06. 11:05:48
I wonder if it would be possible to fake an EXOS environment (RST, replacement memory allocation and video and editor device etc) in the SymbOS app's memory space, and then run IS-BASIC in a SymbOS window! :smt021
Interesting idea!
Title: Re: SymbOS
Post by: Z80System on 2014.November.06. 11:10:09
Quote
and then run IS-BASIC in a SymbOS window!

Would it be an IS-BASIC related thing, or are we talking about every EXOS based software using the standard EDITOR device or such ?
Title: Re: SymbOS
Post by: BruceTanner on 2014.November.06. 11:16:29
Would it be an IS-BASIC related thing, or are we talking about every EXOS based software using the standard EDITOR device or such ?

The ultimate aim would be to provide a full EXOS-compatible environment so you can run any standard EXOS program. But just IS-BASIC would be a very cool start! Of course anything that fiddles with the LPT isn't going to work, so that rules out a lot of games I guess. :roll:
Title: Re: SymbOS
Post by: Trebmint on 2014.November.06. 11:56:00
Can I just point out that Symbos isn't going to be just desktop apps, but games too. And since symbos is machine dependent you can run these too.

https://www.youtube.com/watch?v=79sYv1pBwvs (https://www.youtube.com/watch?v=79sYv1pBwvs)
https://www.youtube.com/watch?v=JfR0yQks2Hs (https://www.youtube.com/watch?v=JfR0yQks2Hs)

These videos are running on the MSX in 16 colours, but the same files will run the same in 4 colours on the CPC and now Enterprise - Dont ask its magic :)
Earlier this year Prodatron even wrote a graphics extension which means graphics will be faster and more flexible... this will become evident I hope with the release of 3.0. The benefits are a larger development base, limitless storage for graphics, and everything the Symbos API allows like potential networking. We then also have in the future the potential of full screen machine dependent (graphically anyway) games... so you will benefit directly from CPC development.
Welcome to symbos... 2015 is going to be interesting :)
Title: Re: SymbOS
Post by: lgb on 2014.November.06. 12:15:46
The ultimate aim would be to provide a full EXOS-compatible environment so you can run any standard EXOS program. But just IS-BASIC would be a very cool start! Of course anything that fiddles with the LPT isn't going to work, so that rules out a lot of games I guess. :roll:

As far as I can tell it's not so easy, at least the memory paging should be modified to use them via SymbOS functions, etc. Same for IS-BASIC. Maybe it's not impossible :) But really at least direct hw I/O must be somehow avoided especially the direct modification of 0xB0-0xB3 ports. Also some new EXDOS (fish?) should be written to use things via SymbOS and not direct I/O. And yes, directly setting LPT etc wouldn't be too good either :) However what I think for a more simple start: the possibility to run CP/M applications on the top of SymbOS somehow. In theory some "interface" CP/'M CBIOS and BDOS should be written with the only purpose is to "transfer" calls for their SymbOS equivalents. And at least you can run multiple CP/M programs in parallel. :) There are some useful CP/M programs like even compilers which would used then with SymbOS too. And CP/M is simple enough (at least more simple than the EXOS/EXDOS realm) to do. In my opinion at least!
Title: Re: SymbOS
Post by: Trebmint on 2014.November.06. 13:38:55
CPM running under Symbos - Sounds like getting a Rolls Royce and fitting it with an engine from a go-kart
Title: Re: SymbOS
Post by: Prodatron on 2014.November.06. 14:26:19
Well, it's funny but I never thought about having a real INS key in SymbOS, that's probably because of my CPC origin... :oops:
Ok, I will first use the INS key. Problem with Alt+Return (Alt+Enter on the EP) is, that this key-combination is already used for switching between fullscreen- and window-mode for the SymShell how it was in Windows.

Most keys are configurable...
(http://www.symbos.de/gfx/shots/system/symbos-system-controlpanel9.gif)
but some for special functions are hardcoded.
F9/F10 can be emulated with ALT+F7/F8, but then you loose the possibility to have ALT+F9/F10, too. In this case it's really up to the user to do the configuration he likes.
Yes, ALT on CPC is "Copy", on MSX it's "Graph" and on PCW it's "Extra", the Enterprise is the only one, which has a real Alt-Key! :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.06. 14:47:32
I wonder if it would be possible to fake an EXOS environment (RST, replacement memory allocation and video and editor device etc) in the SymbOS app's memory space, and then run IS-BASIC in a SymbOS window! :smt021
@Bruce, it would be really cool to have your impressive IS-Basic running in SymbOS! :) I am just afraid, that this would fail mainly because of the memory mapping requirements, which LGB already mentioned. We can't introduce additional mapping methodes in SymbOS as otherwise applications won't be plattform-independant anymore. I am currently reading your large QA-thread (http://enterpriseforever.com/hall-of-fame/en-vagyok-a-hibas-im-to-blame/), and I also have to learn more about IS-Basic and EXOS. Maybe it's possible to emulate at least an EP64 environment!

Running "virtual CP/M 2.2 machines" in SymbOS (using the SymShell environment) should be possible without problems. We already had plans for this some years ago, but as I stopped working on SymbOS for a few years it hasn't been realized yet.
Title: Re: SymbOS
Post by: lgb on 2014.November.06. 15:01:53
CPM running under Symbos - Sounds like getting a Rolls Royce and fitting it with an engine from a go-kart

:) No, it's like getting a Rolls Royce and leave the engine (it's the symbos kernel / system processes still) but using the car to transfer dirty potato from the field at country side :) But seriously: it's not a bad idea, I think,
There are many CP/M softwares (well, not the ones like wordstar, seriously, GUI based better one can be written for SymbOS) which are basically command line based stuffs, which can be useful (I even used CP/M based compiler on Linux because there was no modern version, but who cares if you need to give a single command like it would be a native cli app). You can think running them as symshell apps with some CP/M CBIOS/BDOS "glue" or whatsoever :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.08. 18:51:07
Just a quick question, is it possible to skip the memory test at the beginning, when EXOS is "booting"? I would like to test with some more than 128K soon, and e.g. 512KB already needs ages to check...
Title: Re: SymbOS
Post by: geco on 2014.November.08. 19:24:29
If you use emulator then please choose a config with EXOS 2.3, or with TASMON. The test will be much faster, and in EXOS 2.3 you can bypass memory test by a keyboard combination, unfortunately I do not remember for it, but booting screen shows it.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.08. 19:52:01
If you use emulator then please choose a config with EXOS 2.3
Yes, my upgraded EXOS most recommended, also for your real machine :-)
Title: Re: SymbOS
Post by: Z80System on 2014.November.09. 04:13:49
These means that unfortunately the original EXOS have no quick ram test feature or skip ram test feature (or we do not know about that). Probably they thought we would like to wait for booting this much ... And probably the warm reset will solve everything ... Or such ... :)

Some EP developers, especially Zozo created quick ram tests, but unfortunately that is tricky and difficult to integrate an already written ram test code to an extension ROM, and because of that, there is only a very limited number of extension ROMs containing a quick ram test part. Some ROM ASMON versions or ROM WP versions have that.

Or Zozosoft's enhanced EXOS ROMs have quick test, too. And Zozosoft's memory test have many functions as well, what other ram tests have not. Like faking 128K machine on a hardware extended memory configuration, and detailed test information, and such ones ...

Zozosoft modified EXOSes can be burned to an EPROM replacing the EXOS ROM on the motherboard, or other programs (like WP with Zozo's ram test, for example) can be burned to an EPROM to the cartridge.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 06:52:10
Zozosoft modified EXOSes can be burned to an EPROM replacing the EXOS ROM on the motherboard, or other programs (like WP with Zozo's ram test, for example) can be burned to an EPROM to the cartridge.
For the first way needed to open the machine but in this way bugs in the EXOS are also fixed.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 14:17:57
Ok, I will update my EP128EMU with EXOS 2.3! :)

:smt026 A few minutes ago I got SymbOS nearly fully running on the EP :smt026

(http://www.symbos.de/gfx/preview/sym-ep-02desktoprunning.png)

They grey colours maybe a little bit sad, but it shows again, that this is an Enterprise and not a CPC :D (which only has 1 grey).
"Only" the sector read/write routines for the WD are missing now...

Thanks to all of you for your great support here!! :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 14:25:50
Amazing!!!
:smt038
Title: Re: SymbOS
Post by: Z80System on 2014.November.09. 14:27:56
This thing will be cool ... :)

Is there a documentation for the settings and customization of the SymbOS ?

Can a user set the ICON captions (names) to transparent background ?

Can a user customize the colors ?

Till this point, what are the plans about EXOS compaibility ? Will SymbOS be a CAP to EXOS ? Will I be able to exit to EXOS ?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 14:40:41
Transparent icons and captions are not possible yet.
Colours can be customized. For all the settings please have a look at the screenshots of the control panel:
http://www.symbos.de/apps.htm?3#marke0 (http://www.symbos.de/apps.htm?3#marke0)
Regarding EXOS it seems, that it's quite easy to save its state during SymbOS is running, if your EP has enough RAM. So it will be possible to return to EXOS without a reset. As mentioned before SymbOS is not a cap of any existing OS, it has its complete own multitasking environment.
Title: Re: SymbOS
Post by: Z80System on 2014.November.09. 14:54:46
Quote
Transparent icons and captions are not possible yet.

Okay, maybe I can set the ICON caption background color to the color of the real background = transparent ICON caption ... :)

Quote
Colours can be customized. For all the settings please have a look at the screenshots of the control panel:
http://www.symbos.de/apps.htm?3#marke0

Maybe it would be the time for me to run SymbOS in an emulator or such ... :)

Quote
Regarding EXOS it seems, that it's quite easy to save its state during SymbOS is running, if your EP has enough RAM. So it will be possible to return to EXOS without a reset. As mentioned before SymbOS is not a cap of any existing OS, it has its complete own multitasking environment.

Okay, I probably think of the state saving/restoring calling it "CAP", because a CAP do not have to call EXOS ... so when SymbOS is saving/restoring EXOS, it's a "CAP" not making a single EXOS call ... :)
Title: Re: SymbOS
Post by: geco on 2014.November.09. 15:02:33
cool :smt041 :smt041
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 15:06:05
Maybe it would be the time for me to run SymbOS in an emulator or such ... :)
You can try it online here (and probably soon on LGBs emulator, too :) ):
http://symbos.cpc-live.com/
Use the Num-Pad (with "Num" switched off) to control the mouse.
There is a disc in drive A and drive B, for some apps you have to switch to drive B (Startmenu -> Run -> Browse).

Okay, I probably think of the state saving/restoring calling it "CAP", because a CAP do not have to call EXOS ... so when SymbOS is saving/restoring EXOS, it's a CAP not making a single EXOS call ... :)
In this case I agree :)
Title: Re: SymbOS
Post by: lgb on 2014.November.09. 16:49:16
You can try it online here (and probably soon on LGBs emulator, too :) ):

I still wish having boxsoft mouse support in SymbOS EP128 port, so you can try it with a mouse with my emulator on-line ...
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 16:53:05
@Lgb, BTW that was a good idea with the taskbar :)
(http://www.symbos.de/gfx/preview/sym-ep-03colouredtaskbar.png)
I will have a look at the BoxSoft mouse support as soon as the floppy disc driver is running.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 16:54:28
@Lgb, BTW that was a good idea with the taskbar :)
I also wanted to suggest this (different palette for taskbar) :-)
Title: Re: SymbOS
Post by: Z80System on 2014.November.09. 17:01:25

Quote
@Lgb, BTW that was a good idea with the taskbar :)

And what about the vertical taskbar ? :)



And with this different taskbar palette option, will SymbOS get an EP specific control panel item ?

How much are SymbOS different around its platforms ?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 17:08:14
And what about the vertical taskbar ? :)
Then you can't use different colors.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 17:12:20
And what about the vertical taskbar ? :)
That's the reason why there is no vertical taskbar :mrgreen:

And with this different taskbar palette option, will SymbOS get an EP specific control panel item ?
Yes, I will add a button "taskbar" there for the EP, which opens another colour definition dialogue for the taskbar colours.

How much are SymbOS different around its platforms ?
Nearly all apps are not platform specific, so you can run the same EXE file on all systems which run SymbOS.
The control panel is indeed a little bit different, as each system has some different hardware specs (like keyboard layout, screen resolutions/colours etc). Currently it's still the same EXE, but I guess for the 3.0 I will make a dedicated version for each platform to save memory.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 17:35:35
I also wanted to suggest this (different palette for taskbar) :-)
That was a good suggestion, and now it looks already better than the CPC version :) After the first port is finished I wonder how it will look with 360x255...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 17:44:23
Little idea: the taskbar needed to count in graphics screen? I think for 255+taskbar...
Title: Re: SymbOS
Post by: Z80System on 2014.November.09. 17:56:27
Quote
That was a good suggestion, and now it looks already better than the CPC version :) After the first port is finished I wonder how it will look with 360x255...

Aren't there a technique, like screen "cutting" on C64, or such, with what CPC can accomplish the different color palette toolbar ?



And, in case of the EP: aren't there "fullscreen" apps in SymbOS where that technique would have a meaning, with what Amiga OS can change screens ?
Somebody can drag the different (full)screens in vertical direction, splitting the hardware screen vertically, and of course, the vertically splitted screens can have different palettes, different screen modes, or such ...

I think of this effect:

https://www.youtube.com/watch?v=H86miOXXS48#t=538
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 17:56:57
Little idea: the taskbar needed to count in graphics screen? I think for 255+taskbar...
Very good point! I am sure that's possible! Then we have 360x269 :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 18:01:13
Aren't there a technique, like screen "cutting" on C64, or such, with what CPC can accomplish the different color palette toolbar ?
Yes, but on the CPC you have to use interrupt-based hardware tricks, which will crash if the interrupts are locked for a moment (e.g. when reading from disc). So probably not a good idea to use this in a GUI+multitasking environment.

And, in case of the EP: aren't there "fullscreen" apps in SymbOS where that technique would have a meaning, with what Amiga OS can change screens ?
Somebody can drag the different (full)screens in vertical direction, splitting the hardware screen vertically, and of course, the vertically splitted screens can have different palettes, different screen modes, or such ...
Thanks to Nick it would be quite easy to have these Amiga workbench multiscreen effects on the EP. Let's see what the future brings :)
Title: Re: SymbOS
Post by: lgb on 2014.November.09. 18:03:59
Little idea: the taskbar needed to count in graphics screen? I think for 255+taskbar...

Zozo is the leader of "the human rights for higher vertical resolution" movement :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 18:25:37
Lgb already helped me a lot with the floppy disc controller of the EP. It seems to be (nearly) the same like these from the MSX.
Attached is a data sheet of the common MSX FDCs (sheet by Marcos Blanco). Is the WD in the EP the same like the Microsol?
MSX FDC commands seem to be the same:
Code: [Select]
fdc_cmd_recal   equ #00     ;recalibrate (seek track 0)
fdc_cmd_seek    equ #10     ;seek track
fdc_cmd_read    equ #80     ;read sector
fdc_cmd_write   equ #a0     ;write sector
fdc_cmd_id      equ #c0     ;read sector ID
fdc_cmd_break   equ #d0     ;abort command
It seems, that writing the FDC driver should be an easy task, if the MSX routines can be used...
Title: Re: SymbOS
Post by: lgb on 2014.November.09. 18:42:36
Lgb already helped me a lot with the floppy disc controller of the EP. It seems to be (nearly) the same like these from the MSX.

Yes, I tried to help, however I am far from being a WD/EXDOS expert it seems. What I am not really sure: the exact functions of bits on port 0x18 on reading/writing and there was some topic about "turbo EXDOS carts" with switchable clocks or so? I can't remember too much, and maybe this "turbo" thing is not so common either? Zozo, please help :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 19:34:32
Quick answer, WD commands used by the EXDOS ROM:
88h read sectors
E8h read track
C8h read sector ID
A8h write sectors
F8h write track
08h restore
18h seek track
58h step in
78h step out
D0h abort command
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 20:16:10
List of the EXDOS floppy driver capatibilities:
-can handle four drives (A,B,C,D)
-drive can be a 40 or 80 tracks, single or double sided, any combination of these
-drive types can be mixed in any combination
-40 tracks disks can be used in 80 tracks drive with double stepping
-disk compatibility checked, double stepping automaticaly switch on or off
-at non compatibility situation (80 track disk in 40 track drive or a double sided disk in single sided drive) error reported
-handle 8,9,10,11 sectors/track disks
-plus tracks don't problem (I have a 90 tracks drives :-) ), most commonly used disk format 84x2x10=840K
-don't use Drive Ready signal, then no problem with modern drives
-at default don't use Disck Change signal, then also no problem with modern drives
-works reliable at different speed machines (from 4 to 10Mhz tested yet)
-exist a Turbo EXDOS hack, where WD overclocked to 10Mhz then 13 sectors/track can be stored with normal DD disks and drives, it is can be work both WD1770 and 1772
-more Turbo :-), 13.333Mhz for 1.2M drives (300rpm mode) with HD disks, and 16Mhz for 1.44M drives with HD disk. With 1.44 drive can be up to 22 sectors/disk. Exist a different configuration where 1.2M drives run at 360rpm then 9.6Mhz used for handle DD disks, and 16MHz for HD.

At file system level (these also valid for fixed disk volumes):
-probably all options of FAT filesystem supported, for example FAT copies can be from 1 to 7
-FAT copies really used as backups, if any FAT sector unreadable, then automaticaly try to use same sector from the next copy
-instead the hw Disk Change use a sw disk change checking, for this store 32 bit disk serial number in the boot sector. At todays the updated formating programs generate a combined boot sector which are have same serial number for EP and PC.
-can handle early MS-DOS 1.x disk which not have a BPB, and Apricot disks which have a non standard BPB
-for UNDEL store the first character of filename in directory entry. Allocation information not deleted from the last FAT sector, this situation marked in boot sector with Dirty Disk Flag.

Another:
EXDOS card built with WD1770 or WD1772, at 1770 the step rate 0 are the fastest, 6ms. With 1772 the step rate 3 will be faster, 3ms. About 99% of the drives in the world can be used with 3ms, then faster and quiet. (The fastest with 1772 the step rate 2 which are 2ms.) EXDOS have a variable where can selecet the step rate.

Most of them will also needed from SymbOS :oops:
I think need a Setup option or Configuration windows or something :-) for select step rates and enable/select turbo modes.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 20:45:17
the exact functions of bits on port 0x18 on reading/writing
18h write:
b0: Drive Select 0 (Drive A: )
b1: Drive Select 1 (Drive B: )
b2: Drive Select 2 (Drive C: )
b3: Drive Select 3 (Drive D: ) at all, 1 will be select the drive
b4: Side 1 Select: 0=Side 0, 1=Side 1
b5: Double Density Enable, 0=MFM 250Kbits/sec, 1=FM 125Kbits/sec
b6: Disk Change Reset, some very early 3.5" drives suport this, praticaly don't used, left at 0
b7: In Use signal, don't used, left at 0

18h read:
b0: Ready signal (pin 34) from the selected drive, EXDOS don't use. Active low.
b1: INTREQ output from WD, Active high
b2: nc
b3: nc
b4: nc
b5: nc
b6: Disk Change signal (pin 2) from the selected drive, at default EXDOS don't use. Active low.
b7: DRQ output from WD, Active high. EXDOS use at all transfer routine, because this is the fastest way check the DRQ (IN A then JP M)


Quote
and there was some topic about "turbo EXDOS carts" with switchable clocks or so?
Turbo switch at 20h, lowest 2 bits select from 4 clock speeds.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 20:48:29
Wow, so much infos, thanks a lot!!
Before I start in the details, one question:
Where is the "Motor On/Off" bit?? :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 20:55:18
Where is the "Motor On/Off" bit?? :)
WD177x automaticaly handle this.
Title: Re: SymbOS
Post by: Z80System on 2014.November.09. 20:55:30
Quote
http://symbos.cpc-live.com/

It's cool, and what is the most important of all: I could make "transparent" icon titles ... and blue and grey graphics ... :)

This CPC thing is not too strong with color mixing, is it ? Or is it the 3-3-2 bit color mixing ?
Title: Re: SymbOS
Post by: Z80System on 2014.November.09. 21:05:10
On the font settings page I saw chance to load a font file ...

I think maybe EP text 80 font (did you already see that?) nicer like the default font in this emulator config ...

Probably you already was in WP or tried TEXT 80 in BASIC or such ...

Is not that font more stable or readable ? Or probably are many font files for SymbOS already ?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 21:22:27
About the boot sector, for the software disk change checking and UNDEL function need at
40-45h: "VOL_ID" identifier string
46h: Dirty Disk Flag (last FAT copy contain allocation information for deleted files)
47-4Ah: 32bit random serial number. (Todays same written to 27-2Ah for PC)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.09. 22:32:23
Quick answer, WD commands used by the EXDOS ROM:
88h read sectors
E8h read track
C8h read sector ID
A8h write sectors
F8h write track
08h restore
18h seek track
58h step in
78h step out
D0h abort command

Interesting that most commands need to have bit 3 set (x8h). Does it have a special meaning?

18h write:
b0: Drive Select 0 (Drive A: )
b1: Drive Select 1 (Drive B: )
b2: Drive Select 2 (Drive C: )
b3: Drive Select 3 (Drive D: ) at all, 1 will be select the drive
b4: Side 1 Select: 0=Side 0, 1=Side 1
b5: Double Density Enable, 0=MFM 250Kbits/sec, 1=FM 125Kbits/sec
b6: Disk Change Reset, some very early 3.5" drives suport this, praticaly don't used, left at 0
b7: In Use signal, don't used, left at 0

18h read:
b0: Ready signal (pin 34) from the selected drive, EXDOS don't use. Active low.
b1: INTREQ output from WD, Active high
b2: nc
b3: nc
b4: nc
b5: nc
b6: Disk Change signal (pin 2) from the selected drive, at default EXDOS don't use. Active low.
b7: DRQ output from WD, Active high. EXDOS use at all transfer routine, because this is the fastest way check the DRQ (IN A then JP M)

Turbo switch at 20h, lowest 2 bits select from 4 clock speeds.

Some questions:
- double density: Don't we have usually DD 720K discs (2 sides, 360K/80 tracks per side)? I would probably always set this bit to 0 (I guess SymbOS won't be used to read very old EP discs but those which can be exchanged with a PC)
- DRQ (bit 7) at port 18h is the same like bit 1 of the status register (port 10h), which reports a DRQ? Usually I use the status register to check if there is a DRQ while reading a sector. So I should better use port 18h? But how do I recognize, if the sector is finished? (bit 0 of the status register) I don't want to bring confusions here.

E.g. this is a routine for the "National" WD-type:

Code: [Select]
;### FDCRED -> read sector
;### Input      A=sector, HL=destination address
;### Output     CF=0 -> ok
;###            CF=1 -> A=error code (...)
;### Destroyed  AF,BC,DE,HL
fdcred  ld b,fdc_cmd_read
        call fdcexe
fdcred1 ld a,(fdc_data)
        ld (hl),a
        inc hl
fdcred2 ld a,(bc)
        add a
        jp p,fdcred1        ;bit6=1 drq, new byte
        jr nc,fdcred2       ;bit7=0 execution goes on
        ld d,0
        jr fdcres  ;go to result phase

And this is the one for the Microsol:

Code: [Select]
;### FDCRED -> read sector
;### Input      A=sector, HL=destination address
;### Output     CF=0 -> ok
;###            CF=1 -> A=error code (...)
;### Destroyed  AF,BC,DE,HL
fdcred  ld b,fdc_cmd_read
        call fdcexe
        ld d,0
fdcred1 ini
fdcred2 in a,(fdc_status)
        rrca
        jr nc,fdcres
        rrca
        jr c,fdcred1
        jr fdcred2

Do you use the "abort command" for proceeding "Motor on"? This is how the Microsol WD-like FDC is doing it.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 23:14:52
Interesting that most commands need to have bit 3 set (x8h). Does it have a special meaning?
It is disable the Spin-up sequence. If enabled the WD177x wait 6 revolutions (=1 second) before the command started.

Quote
Some questions:
- double density: Don't we have usually DD 720K discs (2 sides, 360K/80 tracks per side)? I would probably always set this bit to 0 (I guess SymbOS won't be used to read very old EP discs but those which can be exchanged with a PC)
Yes it is always 0. But don't confuse with "disk DD". It is the write encoding method. 40x1x9=180K disk also use Double Density MFM encoding.

Quote
- DRQ (bit 7) at port 18h is the same like bit 1 of the status register (port 10h), which reports a DRQ? Usually I use the status register to check if there is a DRQ while reading a sector. So I should better use port 18h?
It is same, but read from WD STATUS need to additional instructions for check DRQ.
From EXDOS STATUS register:
IN A,(C)
JP M,DRQ_ACTIVE


Quote
But how do I recognize, if the sector is finished?
EXDOS check the INTRQ bit at 18h after every readed bytes.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 23:28:29
Do you use the "abort command" for proceeding "Motor on"?
EXDOS use a Seek Track command. And check the old and new track numbers, really needed a Seek? If yes then enable 30ms wait bit in the command byte.
And at the begin store the Motor On bit from WD STATUS, it used when set the initial time out counter. This counter used when waiting for the first DRQ.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.09. 23:35:24
And one important note: unfortunately the WD timings not emulated in the emulators. Then needed to test the floppy driver on real machines.
Title: Re: SymbOS
Post by: lgb on 2014.November.10. 00:13:02
On the font settings page I saw chance to load a font file ...

I think maybe EP text 80 font (did you already see that?) nicer like the default font in this emulator config ...

Probably you already was in WP or tried TEXT 80 in BASIC or such ...

Is not that font more stable or readable ? Or probably are many font files for SymbOS already ?

Ok, but text 80 on EP (which is actually not a hardware text mode unlike text 40 but a pixel mode) is for 640 pixel wide screen, but here SymbOS runs in 320 pixel mode to be able to have 4 colours (so SymbOS uses quite narrow fonts to have mode chars, not 8 pixel wide). Indeed SymbOS have (?) 640 pixel mode but then you have only a 2 colours only. Also SymbOS seems to use proportional fonts. As far as I can know from various SymbOS documents, it seems it has its own font format, indeed. Imho, but I can be wrong here.
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 08:14:03

Quote
so SymbOS uses quite narrow fonts to have mode chars, not 8 pixel wide

I did not take that into account, It's true ... I have to reconsider this ...

Quote
Indeed SymbOS have (?) 640 pixel mode but then you have only a 2 colours only.

Yes, I saw that setting, but I did not try, yet. I like colors ...

Quote
As far as I can know from various SymbOS documents, it seems it has its own font format, indeed.

What documents did you find about SymbOS ?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 08:45:01
What documents did you find about SymbOS ?
Try it :-)
http://symbos.de/download.htm (http://symbos.de/download.htm)
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 08:56:21
Quote
Try it :-)
http://symbos.de/download.htm

I think there is no talking about fonts in those docs.

I only found this (on this site search for "font"):

http://www.msx.org/forum/development/msx-development/symbos-msx-multitasking-operating-system-help-needed?page=329
Title: Re: SymbOS
Post by: lgb on 2014.November.10. 09:16:29
I think there is no talking about fonts in those docs.

Ehhh. The key if you try to find something: download all stuffs, unpack ZIPs etc then use grep (or whatever, at least on UNIX systems) to try to find some words. Eg: symbos-doc-develop.zip contains SymbOS-DesktopDataRecords.txt file, and you can find the word 'font' at many places, the format should be about at the end of the file.
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 09:27:49
Quote
Ehhh. The key if you try to find something: download all stuffs, unpack ZIPs etc then use grep (or whatever, at least on UNIX systems) to try to find some words. Eg: symbos-doc-develop.zip contains SymbOS-DesktopDataRecords.txt file, and you can find the word 'font' at many places, the format should be about at the end of the file.

Yes, you are right. Again. I have no excuses ... :(
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 09:28:12
use grep (or whatever, at least on UNIX systems) to try to find some words.
On Windows: Total Commander ALT+F7 :-)
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 09:30:39
Quote
On Windows: Total Commander ALT+F7 :-)

Yes, I did that. But I did it wrong, and I had the preconceptions that there is no font documantation in those docs ... and I did not verify my search.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 10:05:39
Regarding fonts, yes, it's possible to change them and to load other ones. It seems that I forgot to upload some fonts that are currently available and which are suitable to be used as system fonts. I will catch up here... The font format is quite simple as you can see in the "SymbOS-DesktopDataRecords.txt".
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 10:21:18
It is same, but read from WD STATUS need to additional instructions for check DRQ.
From EXDOS STATUS register:
IN A,(C)
JP M,DRQ_ACTIVE

EXDOS check the INTRQ bit at 18h after every readed bytes.

Thanks, Zozo!
If I got it correctly the core loop of a sector read routine should look like this:
Code: [Select]
        ;[...] start execution phase

        LD C,#13
        LD HL,destination_address
loop    INI
check   IN A,(#18)
        JP M,loop
        BIT 1,A
        JR Z,check

        ;[...] do result phase

Would this work?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 10:34:06
Would this work?
No, because the IN A,(nn) don't set the flags, only the IN r,(C) do it.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 10:39:13
List of the EXDOS floppy driver capatibilities:

Let me comment this for SymbOS:
[OK] can handle four drives (A,B,C,D)
[OK] drive can be a 40 or 80 tracks, single or double sided, any combination of these
[OK] drive types can be mixed in any combination
[OK] 40 tracks disks can be used in 80 tracks drive with double stepping
[OK] at non compatibility situation (80 track disk in 40 track drive or a double sided disk in single sided drive) error reported

If it doesn't require a different programming of the WD, this should work, too:
[OK] handle 8,9,10,11 sectors/track disks
[OK] plus tracks don't problem (I have a 90 tracks drives :-) ), most commonly used disk format 84x2x10=840K

This should work, too, but has to be tested:
[OK] don't use Drive Ready signal, then no problem with modern drives
[OK] at default don't use Disck Change signal, then also no problem with modern drives

This isn't supported:
[N/A] disk compatibility checked, double stepping automaticaly switch on or off

I have no idea about this:
[??] works reliable at different speed machines (from 4 to 10Mhz tested yet)
[??] exist a Turbo EXDOS hack, where WD overclocked to 10Mhz then 13 sectors/track can be stored with normal DD disks and drives, it is can be work both WD1770 and 1772
[??] more Turbo :-), 13.333Mhz for 1.2M drives (300rpm mode) with HD disks, and 16Mhz for 1.44M drives with HD disk. With 1.44 drive can be up to 22 sectors/disk. Exist a different configuration where 1.2M drives run at 360rpm then 9.6Mhz used for handle DD disks, and 16MHz for HD.

Another:
EXDOS card built with WD1770 or WD1772, at 1770 the step rate 0 are the fastest, 6ms. With 1772 the step rate 3 will be faster, 3ms. About 99% of the drives in the world can be used with 3ms, then faster and quiet. (The fastest with 1772 the step rate 2 which are 2ms.) EXDOS have a variable where can selecet the step rate. [...] I think need a Setup option or Configuration windows or something :-) for select step rates and enable/select turbo modes.
I wonder how to support the Turbo modes, what different WD-programming they require...
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 10:42:04
No, because the IN A,(nn) don't set the flags, only the IN r,(C) do it.
Ah yes! But in this case it doesn't seem to make sense to use IN A,(C) in the 512byte sector loop, as then I wouldn't be able to use INI anymore...?
So better this one?

Code: [Select]
       ;[...] start execution phase

        LD C,#13
        LD HL,destination_address
loop    INI
check   IN A,(#18)
        RLCA
        JR C,loop
        BIT 2,A
        JR Z,check

        ;[...] do result phase
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 10:46:44
From the EXDOS ROM:
Common routine for read sectors/track/ID
A contain the Command value.
Code: ZiLOG Z80 Assembler
  1. lde43:  CALL    LDF50           ;set the delay values
  2.         OUT     (C),A           ;write WD Command
  3.         SET     3,C                     ;point to EXDOS Status register
  4. lde4a:  JR      LDE4C       ;delay
  5. lde4c:  LD      A,00H           ;delay
  6.         IN      A,(C)           ;read EXDOS Status
  7.         JP      M,LDE65         ;jump if DRQ
  8.         DEC     DE                      ;decrement time out counter
  9.         IN      A,(C)           ;delay
  10.         IN      A,(C)           ;read EXDOS Status
  11.         JP      M,LDE65         ;jump if DRQ
  12.         LD      A,D                     ;time out counter
  13.         OR      E                       ;=0?
  14.         JP      Z,LDEE3         ;exit if time outed without DRQ
  15.         IN      A,(C)           ;read EXDOS Status
  16.         JP      P,LDE4A         ;jump if no DRQ
  17. lde65:  DEC     C                       ;point to WD Data (shadow)
  18.         IN      A,(C)           ;read data byte
  19.         LD      (HL),A          ;store
  20.         INC     HL                      ;increment transfer address
  21.         INC     C                       ;point to EXDOS Status
  22. lde6b:  IN      A,(C)           ;read status olvasása
  23.         AND     82H             ;keep only DRQ and INTRQ
  24.         JR      Z,LDE6B     ;wait for  next DRQ if no active bits
  25.         JP      M,LDE65         ;jump to read byte if DRQ active
  26.         JR      LDEE0       ;at INTRQ will exit
  27.  
  28. ldf50:  BIT     2,(IY-16H)      ;head moved?
  29.         JR      Z,LDF58         ;jump if no
  30.         SET     2,A                   ;enable 30ms delay in command byte
  31. ldf58:  LD      DE,9331H        ;time out counter
  32.         BIT     7,(IY-16H)       ;Motor ON?
  33.         RET     NZ                 ;return if yes
  34.         LD      DE,0               ;greater value (65536) for the time out counter
  35.         RET
  36.  
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 11:05:09
Great, thank you!
Is there a reason why they use...
IN A,(C)           ;read data byte
LD (HL),A          ;store
INC HL
...instead of...
INI
? (B doesn't seem to be used)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 11:21:33
Is there a reason why they use...
I not found :oops:
I using modified EXDOS routines in my programs and replaced this part to INI :-)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 11:37:35
Write routine, very similar:
Code: ZiLOG Z80 Assembler
  1.         CALL    LDF50           ;set the delay values
  2.         OUT     (C),A           ;write WD Command
  3.         SET     3,C                     ;point to EXDOS Status register
  4.         LD      DE,0            ;time out counter
  5. lde89:  DEC     DE                      ;decrement time out counter
  6.         LD      A,D                     ;time out counter
  7.         OR      E                       ;=0?
  8.         JR      Z,LDEE2     ;error exit if time outed without DRQ
  9.         IN      A,(C)           ;read EXDOS Status
  10.         JP      M,LDE99         ;jump if DRQ
  11.         AND     02H                     ;INTRQ?
  12.         JR      NZ,LDEE2    ;error exit if yes
  13.         JR      LDE89      
  14. lde99:  DEC     C                       ;WD Data (shadow)
  15.         LD      E,C                     ;
  16. lde9b:  INC     C                       ;EXDOS Status
  17.         LD      D,(HL)          ;bytes for output
  18.         INC     HL                      ;increment transfer address
  19. lde9e:  IN      A,(C)           ;read EXDOS Status
  20.         AND     82H                     ;only DRQ and INTRQ bits
  21.         JR      Z,LDE9E     ;wait for the next DRQ if no active bits
  22.         LD      C,E                     ;WD Data
  23.         OUT     (C),D           ;write out data byte
  24.         JP      M,LDE9B         ;continue if DRQ happened
  25.         INC     C                       ;point to EXDOS Status
  26.         DEC     HL                      ;decrement transfer address to
  27.                                                         ;last sent byte
  28.         JR      LDEF7           ;exit at INTRQ
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 11:46:16
And the Verify:
Code: ZiLOG Z80 Assembler
  1. ldeae:  CALL    LDF50           ;set the delay values
  2.         OUT     (C),A           ;write WD Command
  3.         SET     3,C                     ;point to EXDOS Status register
  4. ldeb5:  JR      LDEB7       ;delay
  5. ldeb7:  LD      A,00H       ;delay
  6.         IN      A,(C)           ;read EXDOS Status
  7.         JP      M,LDECF         ;jump if DRQ           
  8.         DEC     DE                      ;decrement time out counter
  9.         IN      A,(C)           ;delay
  10.         IN      A,(C)           ;read EXDOS Status
  11.         JP      M,LDECF         ;jump if DRQ
  12.         LD      A,D                     ;time out counter
  13.         OR      E                       ;=0?
  14.         JR      Z,LDEE3         ;error exit if time outed without DRQ
  15.         IN      A,(C)           ;read EXDOS Status
  16.         JP      P,LDEB5         ;jump if no DRQ
  17. ldecf:  DEC     C                       ;point to WD Data (shadow)
  18.         IN      A,(C)           ;read data byte
  19.         INC     C                       ;point to EXDOS Status
  20.         CP      (HL)            ;compare bytes
  21.         JR      NZ,LDEED    ;error exit if difference
  22.         INC     HL                      ;increment transfer address
  23. lded7:  IN      A,(C)           ;read EXDOS Status
  24.         AND     82H                     ;keep only DRQ and INTRQ
  25.         JR      Z,LDED7     ;wait for  next DRQ if no active bits
  26.         JP      M,LDECF         ;jump if DRQ
  27. ldee0:  JR      LDEF8       ;exit at INTRQ
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 12:12:36
About the Double Stepping:
When identify the disk, EXDOS read Sector ID from track 8, then check the track number in the readed ID:
=4? then 40 tracks disk in 80 tracks drive, switch on Double Stepping
=8? right disk for the drive, Double Stepping off
=16? 80 tracks disk in 40 tracks drive, report incompatibility error

Also at disk identify: if the disk double sided then read a Sector ID from Side 1 then check the side in the ID. If it is 0 then report incompatibility error (double sided disk in one sided drive)

At Sector Read/Write/Verify calculate the physical track number (logical track x2 if Double Stepping), then use Seek Track command (which also do the Motor On).
Then write out the logical Track number, start sector, number of sectors parameter to WD registers, and then start the main Read/Write/VerifY routines.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 12:42:34
Thanks again for these details!

About the Double Stepping:
When identify the disk, EXDOS read Sector ID from track 8, then check the track number in the readed ID:
=4? then 40 tracks disk in 80 tracks drive, switch on Double Stepping
=8? right disk for the drive, Double Stepping off
=16? 80 tracks disk in 40 tracks drive, report incompatibility error
Good idea! :) What's about reading track 2 instead, as you save some seek time (you will be at track 0, too, for reading the boot sector, so it's not so "far" away)?

then use Seek Track command (which also do the Motor On).
Does it always use the seek command (for turning the motor on), even if the track didn't change during the last access?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 12:54:41
Thanks again for these details!
 What's about reading track 2 instead, as you save some seek time (you will be at track 0, too, for reading the boot sector, so it's not so "far" away)?
Probably also will work :-)

Quote
Does it always use the seek command (for turning the motor on), even if the track didn't change during the last access?
Yes, for the Motor On reason. But compare the old and new track numbers, and set a Head Moved flag when the head really moved.
This flag checked at the begin of execution of the main transfer routines, and if head moved then set bit 2 of the command byte, which enable 30ms delay at the WD command execution.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 14:55:29
About the Drive E:
This is the RAMDISK on the Enterprise.
On expanded machines in a EXOS compatible mode can be support this, especially because the SymbOS only support 1MB memory, on 1MB+ machines lot of free memory for RAMDISK :-)
It is standard FAT volume, at the boot sector from 100h- stored the segment numbers (each 16K) where the RAMDISK stored. Easy to calculate from LBA sector number the memory location where the sector stored.
The loader program can ask the RAMDISK for the SymbOS driver: get the boot sector of the Drive E: and if succesful then get the first segment number from the boot sector at 100h, and this segment number passed to the RAMDISK driver.
Title: Re: SymbOS
Post by: lgb on 2014.November.10. 15:14:45
About the Drive E:
This is the RAMDISK on the Enterprise.
On expanded machines in a EXOS compatible mode can be support this, especially because the SymbOS only support 1MB memory, on 1MB+ machines lot of free memory for RAMDISK :-)
It is standard FAT volume, at the boot sector from 100h- stored the segment numbers (each 16K) where the RAMDISK stored. Easy to calculate from LBA sector number the memory location where the sector stored.
The loader program can ask the RAMDISK for the SymbOS driver: get the boot sector of the Drive E: and if succesful then get the first segment number from the boot sector at 100h, and this segment number passed to the RAMDISK driver.

I also suggested using RAMdisk, if there is enough RAM of course. Someone may create RAMdisk even if there is not enough RAM left for fast SymbOS operation (ie: 128K is barely enough to run SymbOS, thus not optimal). I guess the loader should detect RAMdisk anyway (to be able to pass SymbOS driver to support it) and warn user (or even allow to destroy it, but only if user accepts!!!) if ramdisk is too big to be able to run SymbOS (or too big and left only the minimal space for SymbOS, etc) but otherwise there will be enough RAM to run SymbOS without the ramdisk. I am not sure if this idea is good, though ... And of course it only makes sense if system segment etc is preserved, otherwise you can't use EXDOS too much (I guess) to access it because of the cold reset. Though it can be still useful for one way (EP->SymbOS) data transfer. Or such ...
Title: Re: SymbOS
Post by: edoz on 2014.November.10. 20:23:57
Very cool that SymbOS is already  running on the Enterprise! Cool to have a new z80 computer that join's  the SymbOS family  :) :) I don't own a enterprise computer (only MSX)  but it would be wonderful  to have SymbOS apps  running on this System as well :) The cool thing about SymbOS is that if  you build a new SymbOS app other communities have benefits!! Because it runs on the CPC, MSX and Enterprise! .. It would be fun to play a network game on different systems together!!! Who know;-)
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 20:34:40
Quote
It would be fun to play a network game on different systems together!!! Who know;-)

Does SymbOS have a network API, already ?

Do CPC and MSX have a network hardware interface, already ?

EP does not have network hardware, yet. Or did not you think of IP networking ?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 20:37:57
Because it runs on the CPC, MSX and Enterprise!
...and the PCW Joyce :P

.. It would be fun to play a network game on different systems together!!! Who know;-)
Yes, network support is a "must have" for the next version.
On the MSX the Denyonet ethernet card will be used for this, and on the CPC we are currently studying the ESP8266 wlan module, which can be connected via a serial connection. Cool thing is, that on the EP this has been discovered, too: http://enterpriseforever.com/hardware/another-possibility-for-enterprise-on-ethernet/ (http://enterpriseforever.com/hardware/another-possibility-for-enterprise-on-ethernet/). So maybe no need to write too many different network drivers :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 20:43:14
Does SymbOS have a network API, already ?

Do CPC and MSX have a network hardware interface, already ?

EP does not have network hardware, yet. Or did not you think of IP networking ?
SymbOS network drivers are planned for the next version. Regarding the hardware check my other post :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 21:16:35
Now it has loaded the first application from floppy disc :)

(http://www.symbos.de/gfx/preview/sym-ep-04discloading.png)

There is still an issue with the disc driver, which I have to fix now before I can load more apps.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 21:29:56
When possible download beta (or alpha? :-) ) version? I want to see with my eyes :-D
Title: Re: SymbOS
Post by: Prodatron on 2014.November.10. 21:36:57
When possible download beta (or alpha? :-) ) version? I want to see with my eyes :-D
I will upload a DSK as soon as this floppy stuff is fully working in the emulator! :)
I really wonder, if it will run on real hardware, too...
Title: Re: SymbOS
Post by: edoz on 2014.November.10. 22:12:41
Wow.. Crazy the taskmanager is running already!!! Enterprise users did you see symbos already in action ?.. Here a small movie I created Las week. Symbos on my msx (http://m.youtube.com/watch?v=-8MOGvumGKI)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 22:29:58
Wow.. Crazy the taskmanager is running already!!! Enterprise users did you see symbos already in action ?.. Here a small movie I created Las week. Symbos on my msx (http://m.youtube.com/watch?v=-8MOGvumGKI)
I think the MP3 encoder need a new hw topic :-)
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 22:40:03
Quote
Here a small movie I created Las week. Symbos on my msx

Hmmm ... that MSX seems powerful 8 bit computer ...

Is that scrolled virtual desktop feature a common one, or MSX specific only ?

(Maybe EP could do that vertically (scrolling) with multi desktop (amiga like dragging of screens/desktops) simultaneously ... :))
Title: Re: SymbOS
Post by: lgb on 2014.November.10. 22:41:30
I think the MP3 encoder need a new hw topic :-)

Decoder? :) Or I just see a portion of the video, and there was encoder too in it. Maybe something similar:

http://www.hestore.hu/prod_10025007.html (http://www.hestore.hu/prod_10025007.html)
http://www.hestore.hu/files/vs1011.pdf (http://www.hestore.hu/files/vs1011.pdf)
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 22:41:54
Quote
Hmmm ... that MSX seems powerful 8 bit computer ...

Can we play mp3 on z80, at all ? Or is it an accelerated MSX ?
Title: Re: SymbOS
Post by: lgb on 2014.November.10. 22:47:41
Is that scrolled virtual desktop feature a common one, or MSX specific only ?

(Maybe EP could do that vertically (scrolling) with multi desktop (amiga like dragging of screens/desktops) simultaneously ... :)

I am far from being an MSX expert, but as youtube descriptions says, it's with GFX9000: http://www.msx.org/wiki/GFX9000 (http://www.msx.org/wiki/GFX9000)

EP can do scroll horizontally too with a custom LPT and adjusting LD pointers. However the screen is imho 16 colour with quite good resolution, it's not possible on EP, and maybe this good one on MSX is the result of the GFX9000 cartridge as well.

Or some MSX expert should tell the truth anyway :)
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 22:57:54
Quote
I am far from being an MSX expert, but as youtube descriptions says, it's with GFX9000: http://www.msx.org/wiki/GFX9000

Of course, I looked only and not saw ... :)



But ... we talking about SymbOS like it supports CPC,MSX and soon EP ... but in MSX it supports such subversions of that hardware, like that cartridge ... and more versions of CPC ... and so ... this SymbOS thing is quite advanced I feel ... so I want to say ... It is even bigger than I thought it is ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.10. 23:05:26
Quote
First MSX (Philips 8280) is running on 7 Mhz (Z80) Using Sunrise IDE and MP3 decoder

It seems a 7Mz Z80 is enough to decode MP3 ?

How I remember 100MHz PCs could play MP3 widespread ...
Title: Re: SymbOS
Post by: lgb on 2014.November.10. 23:09:19
But ... we talking about SymbOS like it supports CPC,MSX and soon EP ... but in MSX it supports such subversions of that hardware, like that cartridge ... and more versions of CPC ... and so ... this SymbOS thing is quite advanced I feel ... so I want to say ... It is even bigger than I thought it is ...

Well, at least now there is some reason to have: turbo EP (done), big-memory EP (done), external video cartridge thingy like GFX9000 (not done yet). Before, everybody told, that it's useless to create a more powerful Nick, or anything like that, but if SymbOS can use it, maybe there is some value of those projects anyway. And btw, for high resoluton 16 colour mode, it is still possible to utilize somehow the EXTCOL inputs of EP with some additional hardware which would allow even "mix" traditional Nick graphics and "new style" graphics by the "old" hardware.

About the MP3: it's not so easy to decode by software, so I doubt Z80 can do it :) On PCs, something like 40MHz 486 systems could play 32kbs mono MP3s and such (or Amiga 1200 with CPU accelerator cards with clocs about 30MHz). For more sane audio quality it was better to think about the Pentium class CPUs already. MP3 decoding is quite FPU heavy stuff. I don't know if some specialized "integer only" solutions (like the "libmad" on Linux which mplayer could use as well - I was an mplayer developer but it was a long time ago ...) would help, but even if it does, it's for sure too much for a Z80 even at higher clock speeds. But as I've linked some URLs above, there are nice (even not so expensive) single chip decoders, it's a more realistic way to play MP3s on 8 bit micros anyway. And again the youtube title of the video also tells about the Mp3 decoder which is meant (I think) as a hardware decoder, not software ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.10. 23:12:16
And again the youtube title of the video also tells about the Mp3 decoder which is meant (I think) as a hardware decoder, not software ...
I also think. And want to see the details! Enterprise have a stereo sound input at the expansion bus... :-)
Title: Re: SymbOS
Post by: lgb on 2014.November.10. 23:19:27
I also think. And want to see the details! Enterprise have a stereo sound input at the expansion bus... :-)

Google is our friend, a simple search and: http://www.pa4den.nl/MP3opMSX.html (http://www.pa4den.nl/MP3opMSX.html)
Btw, it's funny that it seems some IC like what I've already written about some posts ago, it's not even too expensive, but needs SPI (well that once is something about I2C, bit confusing) bus it seems (like the SD card btw, and also that mentioned wifi module ... we would need a generic SPI interface not just for SD ...)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.11. 00:10:01
Of course the Z80 doesn't do any decoding. But it has to do all the transfer by itself: Reading all data from the mass storage and sending every byte to the MP3 decoder. This is already something for a good old 4Mhz 8bit CPU :P
Btw, what is the transfer speed of the currently produced SD card interface for the EP? On the CPC we have a maximum of 162KBytes/s for the IDE interface. It could be increased to 200KB/s, which is the maximum for the CPC. But on the EP (with standard Z80) outside the videoram it could be even faster?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.11. 00:16:24
SD interface have a memory mapped I/O, and have a fast read mode when the bytes of the sector can be copied with LDIR.
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 00:26:29

Quote
But it has to do all the transfer by itself: Reading all data from the mass storage and sending every byte to the MP3 decoder.

Okay, and what about the encoded sound stream ? Does the extra hardware push that to an additional DAC, or Z80 mixes/plays that to some MSX/CPC DAC ?

EP has 2 channel (left,right) 6 bit DAC ...
Title: Re: SymbOS
Post by: Prodatron on 2014.November.11. 00:30:01
Okay, and what about the encoded sound stream ? Does the extra hardware push that to an additional DAC, or Z80 mixes/plays that to some MSX/CPC DAC ?

EP has 2 channel (left,right) 6 bit DAC ...
This is probably up to a potential hardware producer, if he provides an external additional jack (like for the MSX) or leads the sound signal into the EP, if this is possible.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.11. 00:32:02
SD interface have a memory mapped I/O, and have a fast read mode when the bytes of the sector can be copied with LDIR.
That's cool. Using LDI:LDI:LDI:... "raw" data transfer rates of >200KB/s should be possible :)
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 00:42:14
@Prodatron, What is the trigger when or why you begin to support a produced hardware extension for a supported hardware platform ?

Or do you (SymbOS) offer HAL or driver interfaces to implement SymbOS drivers for the different hardware extensions ?

And how do these hardware drivers become a part of SymbOS ? Do the driver writers give you versions and you integrate those in the SymbOS distributions ?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.11. 00:52:53
@Prodatron, What is the trigger when or why you begin to support a produced hardware extension for a supported hardware platform ?

Or do you (SymbOS) offer HAL or driver interfaces to implement SymbOS drivers for the different hardware extensions ?

And how do these hardware drivers become a part of SymbOS ? Do the driver writers give you versions and you integrate those in the SymbOS distributions ?
For the "mass storage device" drivers (this is everything which can read/write 512byte sectors like floppy discs, hard discs, sd cards or USB storage devices), we have a flexible driver system for the MSX version but currently not for the CPC/PCW/EP version, as hardcoded drivers do usually save some memory. I have no idea if it makes sense to switch to a flexible mass storage driver system for the EP, too, as it requires a little bit more memory and makes booting more complicated.
For all other stuff you can implement your own drivers for additional hardware on application level.
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 01:04:58
Prodatron is too modest to say so, but he buys pretty much all the cool hardware and supports it in Symbos. If an Enterprising Enterprise user created an MP3 hardware decoder or Ethernet, prodatron would soon have a driver so it could be used.
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 01:06:09
Quote
For all other stuff you can implement your own drivers for additional hardware on application level.

Probably I do not understand what "application level" means here ... when somebody makes an audio/video/keyboard/mouse/such hardware extension for a supported platform ...

Probably SymbOS will support that ... and probably the OS has to support that itself (or through drivers), making possible for all of the applications to use the new hardware ...

Like (for example) in the case of that MSX cartridge video hardware ... probably that is used by SymbOS itself, and not used by application level ... isn't it ?
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 01:06:52
Quote
Prodatron is too modest to say so, but he buys pretty much all the cool hardware and supports it in Symbos. If an Enterprising Enterprise user created an MP3 hardware decoder or Ethernet, prodatron would soon have a driver so it could be used.

Ah ... it's the answer already ...
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 01:33:25
From a coders point of view unless you're targeting a specific piece of hardware there is almost certainly going to be either an API or library that will work on every similar piece of hardware. Im looking forward to the networking API with 3.0 soon hopefully
In fact from a coders viewpoint once you've altered your thinking to the structure it is almost more impressive behind the scenes than looking at the GUI in action... and it 100% solid too.

I've worked on a number of 8bit GUI's that pretended to be the real thing. Symbos is the real deal IMHO
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 02:01:02
Quote
unless you're targeting a specific piece of hardware

Yes, I asked the hardware driver questions because I created a PS/2 keyboard interface and now I am creating a PS/2 mouse interface,
and the keyboard is hardware compatible to the EP's internal keyboard, but the mouse will not be hardware compatible to the mouse (the boxsoft mouse interface) what SymbOS will use first -> I will not have a working mouse in SymbOS ... but SymbOS have to have a mouse ... :)

But I understood (as far as I did it well :)), that the hardware support is totally internal to and controlled by SymbOS (except of the mentioned MSX storage part) and not open toward additional hardware developers.

So I have to make a hardware compatible (to the supported EP mouse) PS/2 mouse, or I have to wait till SymbOS will support my mouse, too.
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 10:28:16
Yes, I asked the hardware driver questions because I created a PS/2 keyboard interface and now I am creating a PS/2 mouse interface,
and the keyboard is hardware compatible to the EP's internal keyboard, but the mouse will not be hardware compatible to the mouse (the boxsoft mouse interface) what SymbOS will use first -> I will not have a working mouse in SymbOS ... but SymbOS have to have a mouse ... :)

But I understood (as far as I did it well :)), that the hardware support is totally internal to and controlled by SymbOS (except of the mentioned MSX storage part) and not open toward additional hardware developers.

So I have to make a hardware compatible (to the supported EP mouse) PS/2 mouse, or I have to wait till SymbOS will support my mouse, too.
Its a tricky subject, because if you've made yourself hardware of course you will have to design drivers for symbos to work with them. However those drivers should work with the API so from another coders/users viewpoint they are abstracted from the hardware through an API
In most cases Prodatron will create those drivers if the hardware is/was available to buy... like for instance in the case with MSX FDC of which there are dozens of variants, prodatron has tried to get as many working as possible.
The wide range of hardware symbos works with is one of the totally cool things about it... and obviously in the case of the symbiface it has been designed for the OS and OS for the hardware. Its even been discussed how something like a updated symbiface hardware device might be cross platform to a degree also, meaning a levelling of ability of the symbos running machines. The idea's we have for networking for instance are very very cool and it would be great if all the computers could be part of it
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 11:19:54
Quote
The wide range of hardware symbos works with is one of the totally cool things about it...

Yes, I just realized it in a post of me some posts earlier, too ...



But my mouse probably can be a blind spot even in this case ... because the raw hardware handling assembly code would be 5-10 assembly instructions for that only,
but the hardware itself is not so significant, probably SymbOS's task list have (and will have) much more significant entries in priority ...

But when you make a hardware compatible (to the original EP internal keyboard) PS/2 keyboard to the EP,
then you have to assembly (or wire) it to the inside of the EP, because the original EP keyboard interface is not broken out to a connector of the EP.

Hardware compatible PS/2 keyboard is important, because then you can play the games with the PS/2 keyboard, and HW compatibility is cool anyway ...

But when you did that (assembly inside the EP) then there is a very simple, much nicer (and easier) way to communicate with a mouse than the boxsoft mouse interface way ...

(Of course, HW compatibility with boxsoft's mouse is possible, still ... :))
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 12:34:04
Well I'm sure Prodatron will help with you're non standard mouse/keyboard combo :) Its quite cool as people suggest things and they just suddenly happen... like MP3 support, Video, 16 colour on MSX for instance.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.11. 13:31:36
Disc access is now working fine! :)

(http://www.symbos.de/gfx/preview/sym-ep-05discworking.png)

Will answer soon regarding mouse support! (currently in a hurry)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.11. 13:34:36
Disc access is now working fine! :)
.DSK? :-) for testing on real machine.
Title: Re: SymbOS
Post by: lgb on 2014.November.11. 13:49:29
.DSK? :) for testing on my emulator.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.11. 16:15:11
Little note: at 1984 november shipped the first 100 EP64 machine to developers and the press.
Now at 2014 november the SymbOS will be a good 30th Birthday surprise for the Enterprise! :ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: Prodatron on 2014.November.11. 16:52:11
The current loader doesn't include the block allocation, so it sets up the block to a fixed 128K configuration (#f8, #f9, #fa, #ff for SymbOS bank 0, #fb-#fe for SymbOS bank 1). And you will need to boot it on a 128K machine anyway, as it assumes, that the Zero page is #F8, otherwise it will crash when it tries to start. It's only a problem of the loader, the kernel itself is already able to handle any dynamic configs with the small lookup table we discussed. This missing allocation is what I want to change now for the next step.

But if it's still usefull for you, I can upload a DSK :)

Little note: at 1984 november shipped the first 100 EP64 machine to developers and the press.
Now at 2014 november the SymbOS will be a good 30th Birthday surprise for the Enterprise! :ds_icon_cheesygrin:
What a cool timing! :D So I need to hurry up with finishing a full-working version during this month! :P
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.11. 17:01:03
This missing allocation is what I want to change now for the next step.
I can write routine which do it.

Quote
But if it's still usefull for you, I can upload a DSK :)
Don't problem! I can build any EP configurations :-)
Anyway my speed memory test have a option for boot up only with 128K (or a 64K :-) )

Quote
What a cool timing! :D So I need to hurry up with finishing a full-working version during this month! :P
At 1984 december 14 (http://enterprise.iko.hu/articles/PersonalComputerNews09300003.jpg) arrived the first machines to the shops :-)
Title: Re: SymbOS
Post by: edoz on 2014.November.11. 18:39:55
Hmmm ... that MSX seems powerful 8 bit computer ...

Is that scrolled virtual desktop feature a common one, or MSX specific only ?

(Maybe EP could do that vertically (scrolling) with multi desktop (amiga like dragging of screens/desktops) simultaneously ... :))

Hi. In my movie The first MSX you see is a standard MSX which is only upgraded to 7 Mhz. Indeed it is playing a MP3 file using a MP3 decoder card for MSX (sunrise MP3 player)
This is also working on a standard 3.5 Mhz standard MSX. But you need a storage device in SymbOS to stream the MP3 bits to the MP3 card. (This is done by the Z80)

The next screen is a windows PC which runs SymStudio. Which is currently the best IDE to create apps for SymbOS. Currently I'm working on explore.exe (with help of Trebmint and Prodatron of course)

The next display you see in the movie is a MSX Turbo-R. (last released MSX) In this MSX I use the GFX9000 (Yamaha v9990) video chip which is in a subslot of the MSX.
The Yamaha video chip is supported in SymbOS and is a very powerful extend graphic card. (From what I know the v9990 was planned to be inside a MSX3 but this one was never released but the chip was created luckly ;) The v9990 is also supported on a standard MSX 2.

In an other movie you can see the speed differents between a turbo-r and a normal MSX (Where the first MSX is a turbo-r and the second a normal one)
Other movie (https://www.youtube.com/watch?v=e8ZtztYr5gA)
Title: Re: SymbOS
Post by: edoz on 2014.November.11. 18:59:34
Disc access is now working fine! :)

(http://www.symbos.de/gfx/preview/sym-ep-05discworking.png)

Will answer soon regarding mouse support! (currently in a hurry)

VERY NICE!!! to see this screenshot!!
Title: Re: SymbOS
Post by: lgb on 2014.November.11. 19:16:58
It seems there are some MSX users here :) As far as I know, the graphics controllers in MSX computers (TMS9918, V9938, V9958, or maybe even V9900) has own dedicated video RAM and not shared with the CPU. So you need instruct the video chip to do something with the video RAM (afaik there are some "hardware accelerated" operations as well can be instructed?). But if it's true, how can someone play video on MSX when it's always slower to modify the video RAM by video chip ops and not direct video RAM writes by the CPU itself? My question also remains for the rest of a SymbOS like software: without direct video RAM access how this can be implemented at a sane speed? Sorry if I asked something stupid, I don't know too much about MSX machines, really ...
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 20:40:02
It seems there are some MSX users here :) As far as I know, the graphics controllers in MSX computers (TMS9918, V9938, V9958, or maybe even V9900) has own dedicated video RAM and not shared with the CPU. So you need instruct the video chip to do something with the video RAM (afaik there are some "hardware accelerated" operations as well can be instructed?). But if it's true, how can someone play video on MSX when it's always slower to modify the video RAM by video chip ops and not direct video RAM writes by the CPU itself? My question also remains for the rest of a SymbOS like software: without direct video RAM access how this can be implemented at a sane speed? Sorry if I asked something stupid, I don't know too much about MSX machines, really ...
Well I'm sure prodatron can illuminate more on MSX video, but as the person who coded the video file creator called symstudio I can say that the video files have fairly small frames... each screen is around 6k and frame per second is on a standard 4Mhz MSX2 about 7-8 and a little slower if something else is processing. Believe it or not the speed of a standard MSX playing 16 colour video is faster than that of a 4 colour CPC, which shows you the power of a VDP chip.
In general use Symbos stores the graphics such as fonts and backgrounds within the video ram, so just issuing a block command to the VDP is really really quick compared to our normal direct writing to video ram method.
Title: Re: SymbOS
Post by: lgb on 2014.November.11. 21:05:28
Thanks for the explanation. Nice enough, what I thought to be a disadvantage can be actually an advantage :)
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 21:18:57
Pushing the limits with colors ...

In an 50Hz CRT monitor (especially with old, slow fluorescent materials) when we use 25FPS, but we render 2 different frames (with related information of course) then the monitor itself will mix the two frames of every 25 FPS screen ... it will be flashy, "vibrating" screen, but the colors will be approximately (a+b)/2.

So with this technique, on CRT monitors, users with limited color systems can have more colors.

But for this, SymbOS would have to draw 2 screens, every graphic resource could be converted for this mode, probably changing the application creating tools, pipelines and such ...


But with a special use of this technique the applications could be the same as they are now, and on EP the technique probably will have a more enermous effect than on other platforms.

The special use would be using every first screen drawing SymbOS without background picture, and drawing every second screen using the background picture AND a one color mask of the SymbOS's screen what is drawn on the first screen previously.

With this technique, SymbOS would be drawn almost the same way and with the same applications as now.

The background picture would be mixed with the background color of the SymbOS frame, and the SymbOS screen elements (windows) would be mixed with the one color mask on the background picture screen.

In this way the background picture frame can have a totally different palette than the SymbOS frame.
It would be cool, but on EP the benefits would be much larger,
because on the enterprise with an LPT changing the palette in every scanline,
you can display every 256 colors in one picture if you want that.

With this way we can convert pictures to the EP like these:

http://www.ep128.hu/Ep_Demo/Leiras/Enterprise_Slideshow_2.htm
http://www.ep128.hu/Ep_Demo/Leiras/Enterprise_Slideshow_3.htm

We would have to save one color from the palette of every scanline, that would be the mask color, what is required only for reaching that the background picture will not be visible mixed into the windows of SymbOS.

In this way, similar pictures like these could be the background of the EP SymbOS, and SymbOS could be drawn with its own 4/16 colour.


And this "multi color background" technique could be combined with the vertical scrolling virtual desktop or the amiga like draggable multiscreen techique, at once ... :)


Of course, I did not verify the memory requirements of these ... :)


I hope I explained well these ... my english is barely enough for such things ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.11. 21:44:13
With this way we can convert pictures to the EP like these:
And these :-) (http://www.ep128.hu/Ep_Demo/Pic/Interlace3.png)
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 21:52:02
Yes, but of course, the background pictures cannot be interlace pictures,
because that use the 25FPS technique in itself ...

I do not know what is better ... using interlace for the SymbOS case or not (probably not),
but one of the pictures is the background and the second is the SymbOS (and both in normal Y resolution).

But very-very similar pictures like these ...
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 21:56:49
I must say those are very impressive a beautiful images. And even if this were possible technically for the symbos drawing pipeline, the main issue is that as a windowed OS, not a fixed full screen palette switching would have bad effects in that say two images/forms could not share the same screen without 1 looking awful. Prodatron was able to change the palette for the command line to the nice blue as its the only info that will every appear in that area, the top half unfortantely has to share a palette

Symbos uses a clever 4 shade method, of light, lightish, darkish and dark. That means in 16 colour mode you drop MSB 2 bits of a 4bit colour value and its converted to the 2 bit shade version. It works suprisingly well as we carefully chose a CPC palette initially
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 22:12:50
Quote
the main issue is that as a windowed OS, not a fixed full screen palette switching would have bad effects in that say two images/forms could not share the same screen without 1 looking awful.

With the trick I tried to explain, SymbOS's screen would be drawn by its own 4 or 16 color palette on the whole of its screen.

It would be like this:


- NICK draws the background screen. The background screen is an LPT changing the palette (without Z80 involved) by scanlines. The graphic data in memory is a multi-color image shown before + a one color mask where the SymbOS windows are. The mask overwrites the picture data with the mask color, of course.

- Next frame NICK draws the SymbOS frame, which is a normal SymbOS LPT with 4 or 16 color, and the background image is not drawn, only a background color. (Or we can call it mask color in this case, too.)

This sequence (two 50 Hz frames) is repeated by the NICK, without Z80 involved. We only see the SymbOS's screen on every second video(monitor) frame.

In this way, if a SymbOS application does a 50 Hz animation, then we will see it 25 Hz because we will se only every second frame from the SymbOS buffer ...
This is not good, but SymbOS probably rarely does 50 Hz animations, but on the EP we will have multi color backgrounds ...

The mixing of the two frames is done by the CRT fluorescent material. (Or the human eyes and brain of the observer, too ... I do not know ... :))

Do you still say this is problematic somewhere ? I do not see the problem ...
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 22:38:11
Oh okay I get it. I think this would be a detailed issue for prodatron to solve though. Currently the limit for symbos is 16 colour as routines exist to convert 2 to 4 colours, 4 to 2, 4 to 16, 16 to 4, 16 to 2 and 2 to 16 etc. If for instance we introduced 256, which is a mode on the MSX2 we would have so many conversion routines that just don't fit easily into the limited space. I guess here you pay a price for cross platform compatibility. Believe me Prodatron has been asked to do 256 or even 16k colours for the MSX2, so if it were easy it would have happened.

Currently symbos has 2 inernal graphics formats. A 16 colour one based on the pixel byte of the MSX VDP, and the 4 colour one based on the CPC's alternating pixel method. When loaded graphic will be converted appropriately to the machine.

If this screen were to work it would currently be at the 16 colour only level, which I assume is possible, or does it require a RGB channel type method to be performed?

TBH I'm sure this is probably just one of the things that a 4mhz just cant do without the speed being drastically effected.
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 23:06:33
Yes, maybe the whole concept is EP specific too much ...

But how I see ...

The difference to the normal SymbOS working would be

- A different LPT which contains two frames instead of the current one frame ...
- One of the previously specified LPT frame data and its associated graphics data could come from an EP specific format. It could be a binary, not interpreted on other platforms.
This would be the multi color background image. This image have to be represented in a color mode what SymbOS knows (4 or 16 color mode). But the palette could be change raster by raster except of the mask color what have to be constant in index and in color.
- SymbOS would have to draw mask rectangles on the background frame in parallel to the original windows on its own frame. It has not to know the palette at all, it has to know the mask color index only with what it draws the mask.

The rest would be the same, I think.

The problem (I found now) is that the screen mode of the background image have to be 4 color mode, when SymbOS draws its screen in 4 colour mode, because the mask rectangle have to be drawn pixel perfect on the background frame, too.

And I do not know exactly 4 color mode is enough for those nice pictures, or not.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.11. 23:18:42
And I do not know exactly 4 color mode is enough for those nice pictures, or not.
The most of them are in 16 colors attribute mode.
Anyway you can convert test images to 4 colors. And possible to define one or more fix palette colors, which can used as mask color.
(And possible to convert images without changing palette then I think these easy to use as SymbOS background)
Title: Re: SymbOS
Post by: Trebmint on 2014.November.11. 23:24:26
I'm sure if its easy or even possible Prodatron will attempt it (He is a genius after all). First however I'm sure he just wants to get the 1st flavour working, and then probably the borderless version.

I must admit as a CPC user, I'm pretty jealous of the machine the MSX'ers have. The CPC is stuck in 4 colours, as the chunky 16 colour mode looked a bit rubbish. 160x200x16 was childish looking (and prodatron removed it) - Strangely though 256x212x16 which isnt that much greater is lovely on the MSX. I even prefer the 1:1 square pixel 256x212x16 MSX mode to the 2:1 pixel 512x212x16 mode.

Somebody needs to get designing a Symbiface 3 hardware for the MSX/CPC/EP which has Mouse,Ram,SD,HxC,Networking,Real Time Clock, and serious graphics chip... Then we'd see something truely wonderful
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 23:25:53
Quote
The most of them are in 16 colors attribute mode.

It is not good, because in attribute mode they cannot draw a PIXEL PERFECT mask rectangle with a specified color, can they ?

The pixel size would be good, because (after SymbOS learned attributum mode) the 4 and 16 color modes can be cover with attributum pixels correctly,

but in one byte we have to be able to have 3 colors ... and attributum mode can have only 2 ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.11. 23:29:33
In attribute mode the most easy use black as mask color.
At the masked area just set the attibutes to black. It is need half of memory size than the normal graphics.
Only problem, when the SymbOS objects not aligned to 8 pixel at horizontaly, the 1-7 pixel additional black shadow added.
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 23:33:24
Quote
Only problem, when the SymbOS objects not aligned to 8 pixel at horizontaly, the 1-7 pixel additional black shadow added.

I think it is not the "only problem" it's the point itself ... :) Without a pixel perfect mask this would be unusable ... for my taste ...

The question is how the 4 color mode IVIEW pictures look ... if not good enough ... this whole concept is useless to me ...


Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 23:37:38
Quote
The CPC is stuck in 4 colours,

Except of the taskbar, EP is stuck at 4 colours, too ...

It is why I tried to integrate the multi color EP images to the EP look and feel of the SymbOS ...

But without a pixel perfect mask AND the vibration of the screen ... I do not think it would worth the effort ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.11. 23:44:50
In turn, I'm seeing a slide show with those pictures ... I imagine the SymbOS windows above those ... that is a nice view ... :)
Title: Re: SymbOS
Post by: Trebmint on 2014.November.12. 00:29:03
I hope one day we can push graphics to the limits on every machine, but you have to remember its cross platform and you are in some ways tied to technicalities of not just the machine you are using but of ever machine symbos supports. Of course you can just go full screen and code yourself to the video hardware if you want to lose cross platform, but keep many of the OS benefits of symbos.

This perhaps is a debate for another time, maybe next year when we've achieved the goals of the 3.0 release. Certainly as the coder of the symstudio development sytem I'm very interested in making symbos a full screen game OS, but that includes balancing act of how machine specific you allow grapics to go. I considered many times how a mapping tool, or art package might be integrated across various machines. Prodatron already has a yet unused graphics library that is more in keeping with games than has been used so far in symbos. Yes pacman is great, and a pretty accurate representation of the game, but its very simple and moves few graphics about. For instance what can be achieved currently is pretty visually cool. This is a screen of an arkanoid game I have been working on running on Symbos version 2.0
(http://www.catanddoggifts.co.uk/image/sorp/bat1.png)
Version 3.0 will see this graphics extension in action and we will get better than this with real software sprites, and the ability to move more faster.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.12. 00:54:22
(http://www.symbos.de/gfx/preview/sym-ep-06trebmint.png)
I like this greetings from Trebmint!
And he already tried something with SymBasic as you can see!
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.12. 08:01:44
Nice! :-)
Title: Re: SymbOS
Post by: lgb on 2014.November.12. 10:27:09
There is still no "like" button at the posts :)
Title: Re: SymbOS
Post by: edoz on 2014.November.12. 10:59:27
I love the welcome screen !!!
Title: Re: SymbOS
Post by: Prodatron on 2014.November.12. 16:34:33
Sorry, I was busy most of the last hours, but now I could finally try it on the real hardware:

(http://www.symbos.de/gfx/preview/enterprise128-firstrealrun-2s.jpg)
(http://www.symbos.de/gfx/preview/enterprise128-firstrealrun-1s.jpg)

It's working! :)
Many thanks again especially to LGB and Zozosoft!!! You made this possible!
Attached is a disc image. Please remember, that it will only run on an unexpanded EP128 (which also means, that you can't start too much stuff at the same time).

I recognized the following issues:
- I have a lot of read-retries when loading from disc; there is probably a problem with the timing of the sector read routine (I didn't test writing yet); I didn't copy the original one Zozo posted, as I thought I could do it more optimized, but I guess I will now just take it 1:1
- mouse can only be controlled in the "emergency" way (ALT+cursor, ALT+space = leftclick, ALT+ins = rightclick); this makes it impossible to drag and drop windows and other stuff

Regarding the second isse:
Currently it's bad not to have a "real" external joystick or a mouse for SymbOS. If I understand it correctly, external joysticks are uncommon for the EP. So my idea is to switch between keyboard- and mouse-mode.
Pressing INS will tougle between them:
- keyboard mode: the internal joystick acts as cursor keys, pause and stop act as F9, F0 (or whatever you defined here)
- mouse mode: the internal joystick controls the mouse pointer, pause and stop act as left and right mouse button; all other keys are still the same
What do you think about it?
Title: Re: SymbOS
Post by: edoz on 2014.November.12. 16:45:05
NICE!!!! and AMAZING !!
Title: Re: SymbOS
Post by: Z80System on 2014.November.12. 16:52:05
Quote
What do you think about it?

I think ... we have to get mouses and emulators have to emulate mouses ... :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.12. 16:53:06
Wow! Fantastic!!! :smt038

Little note: RGB SCART cable recommended :-) (http://retrocables.es/tienda/index.php?id_product=48&controller=product&id_lang=1)

External joysticks are common, just need a adapter. All old user have it :-)
It is the simple type. (http://www.ebay.co.uk/itm/Joystick-Adapter-for-Enterprise-128-64-Vintage-home-computer-made-in-Hungary-/321572739955?pt=US_Vintage_Computers_Mainframes&hash=item4adf3a9b73) The Autofire not work with this, but I think this is not important to SymbOS :-)

Anyway I planing develop new Boxsoft Joy interface clone which are do conversion for the two joysticks and also for PS/2 mouse (internal use PS/2 -> MSX conversion and this connected to EP at similar way as the old Neos mouse do)

So add ext joy support, don't bad idea!
But the switching mode with INS also will be great! Do it both if possible!
Title: Re: SymbOS
Post by: geco on 2014.November.12. 16:56:13
Great !!! :smt041

External joystick was also available for EP, and I think most of EP users in Hungary had at least one joystick adapter for their machine.
The usage is the same like keyboard, but read from port B6h

Code: [Select]
     ld     a,x           ;select row ofext joy
      out   (0b5h),a
      in     a,(0b6h)
      rrca                 ;bit 0 signs if the specified joystick direction was active (0 active, 1 inactive)
      jr      nc,joyact
a=0-4    Ext joy1     (fire up down left right)
a=5-9    Ext joy2     (fire up down left right)
Title: Re: SymbOS
Post by: lgb on 2014.November.12. 17:03:29
Sorry, I was busy most of the last hours, but now I could finally try it on the real hardware:

Cool :)

http://ep.lgb.hu/jsep/demo.new/?disk=SymbOS-EP-Full.dsk (http://ep.lgb.hu/jsep/demo.new/?disk=SymbOS-EP-Full.dsk)
It seems to work with my web based emulator (you should click run button, then load "sym") however I can't use that too much since ALT (at least for me) is not configured to be passed to the browser on Linux, I use ALT key for custom key definitions and to temporary switch between Hun/Eng keyboard layout. Anyway :) The clock on the desktop counts, so the system should work otherwise. Also, you may want to use the boxsoft mouse stuff to support mouse, then I would be able to use mouse with the emulator mentioned above too.

I don't know how uncommon to have external joysticks, maybe it was told by me, sorry about that: I can only assume that since EP has internal joystick, there is not _as_ much need for a joystick as with other 8 bit micros to have some fun for games, though it's better to have an external, indeed. At least I have no joystick for EP, I meant :) Sorry for the confusion if it was me who gave you not so correct information about this. But I don't play with computers (and didn't) so it can be a reason I think differently than most of the people.

About the unexpanded EP: if you have Zozo's EXOS, there is a key to be pressed during reset, then it will behave as you have only 128K RAM (with z80 page 0 etc). I can't remember which key / key combination it is though, but it was mentioned here too in one of the previous posts, as far as I can remember.

It's still a good idea to support pointer movement with internal joy, at least I like your "switchable" idea of yours.

Quote
Many thanks again especially to LGB and Zozosoft!!! You made this possible!

Well, it's my pleasure if I could help a bit, and it's enough for thanking to have SymbOS on EP128, more than enough :) I think.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.12. 17:28:16
If you play too hard the games (especialy if you a child) then easy to broke the internal joy. So I think most of users bought a external joy at the first weeks.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.12. 20:47:53
- I have a lot of read-retries when loading from disc
Yes :oops: and using a slow step rate. I suggest the loader ask the defaul step rate (variable 73) and pass to floppy driver.
Your card also have a 1772 then Step Rate 2 suggested.
Put to EXDOS.INI (like as AUTOEXEC on PC):
VAR 73,3
LOAD SYM

Bigger problem with the floppy driver, don't work above 4Mhz :-(
Report error 26, and once at 10MHz totaly hang-up, pointer not moving. After switched back to 4Mhz, pointer moving again, but still error 26.
If tried to load at any turbo speed, don't working, even switch back to 4Mhz and try again.
If started at turbo and switch back to 4MHz then try to load then switch back to turbo are working way.
(EXDOS loading works with any turbo, and even when you switch clockspeed as crazy under loading :-D )

When loaded from drive B: and drive A: not exist, at accessing drive A: looks nothing, no error displayed.

Anyway make a problem when loaded from drive B: because components searched from drive A:
I suggest the loader ask the Default Drive at loading, and pass to the kernel as boot drive, it is the variable 71.

Task manager CPU time calculating will be crazy when CPU speed switched. At 4Mhz idle display about 6% usage, then switch to 6 then about 0%, ok this look good, but when switch to 7.12 or 10 then display 60-70% usage. :oops:
When started 10Mhz, display about 4% at idle, but when switched back to 4Mhz then display about 50-70% usage :oops:

The joystick pointer only move to four directions. Will be better if 8 directions can be used.


Title: Re: SymbOS
Post by: Zozosoft on 2014.November.12. 20:51:09
And a little trick:
At the start add to the program:
LD A,12
OUT (0BFh),A
This is will disable the one wait state at each M1 cycle in normal RAM. (In EXOS 2.4 will be disabled as default)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.12. 21:21:25
Clock switching can be simulated in ep128emu:
At Machine/Quick configuration save as Config 1 the normal 4MHz config.
Then edit the CPU speed, for example to 10MHz, and save as Config 2.
Then PageUp/Down can be used as clock switch.

(In emulator the floppy load works on turbo, because the WD timing not emulated :-( seeks done instantly, DRQ come instantly, and will wait for the operation, can't missed.)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.13. 11:24:23
Thanks for all the feedback and infos! :)
Ok, I will now:
- add joystick support (thanks for the details, Geco!)
- keyboard/mouse mode switch with INS
- have a look at the disc routines
- work through all of Zozos hints and tipps :D

Ah, great that these monitor cables are still available! This UHF crap sucks a lot especially on my TFT TV. One of my EPs didn't seem to deliver a proper picture at all, I hope it will do with the SCART cable.
Oh, and I recognized, that at one machine the RETURN key and the internel joystick is not working. Is the keyboard membrane probably damaged and has to be replaced?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.13. 11:30:24
Oh, and I recognized, that at one machine the RETURN key and the internel joystick is not working. Is the keyboard membrane probably damaged and has to be replaced?
Yes, there is a new membrane. (http://www.ebay.co.uk/itm/Brand-New-Enterprise-64-128-Computer-Keyboard-Membrane-by-RWAP-Software-/351216936072?pt=UK_VintageComputing_RL&hash=item51c6292488)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.13. 11:44:31
One of my EPs didn't seem to deliver a proper picture at all
Look the R202 variable resistor (http://ep128.hu/Album/Pic/EP_alaplap.jpg) at left side the modulator, probably need fine tuning. And also adjustable the RF modulator.

But the SCART cable much much much much better :-D
Title: Re: SymbOS
Post by: Prodatron on 2014.November.13. 16:38:36
Yes :oops: and using a slow step rate. I suggest the loader ask the defaul step rate (variable 73) and pass to floppy driver.
Your card also have a 1772 then Step Rate 2 suggested.
Put to EXDOS.INI (like as AUTOEXEC on PC):
VAR 73,3
LOAD SYM
[...]
Anyway make a problem when loaded from drive B: because components searched from drive A:
I suggest the loader ask the Default Drive at loading, and pass to the kernel as boot drive, it is the variable 71.
These EXDOS variables can be found here as well?
http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/kernel/Ch11.html#F16 (http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/kernel/Ch11.html#F16)

Regarding the Turbo modes I will first try to get the driver working ok on a normal EP. Then let's test again at higher speeds...

Task manager CPU time calculating will be crazy when CPU speed switched. At 4Mhz idle display about 6% usage, then switch to 6 then about 0%, ok this look good, but when switch to 7.12 or 10 then display 60-70% usage. :oops:
When started 10Mhz, display about 4% at idle, but when switched back to 4Mhz then display about 50-70% usage :oops:
Yes, changing the CPU speed during runtime will confuse the measurement of the CPU usage completely, as the CPU speed is only tested once during booting :)

The joystick pointer only move to four directions. Will be better if 8 directions can be used.
That is because currently there is only this "emergency mode" for controlling the mouse. This mode uses the usual keyboard routine, which only outputs 1 key at the same time. It will be fixed either with the "mouse mode" or with external joysticks (which is now implemented).
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.13. 16:55:55
These EXDOS variables can be found here as well?
Some are in EXDOS manual (http://enterprise.iko.hu/books/EXDOS-UserManual.pdf) at PDF pages 95-96.
Full list in ISDOS manual (http://enterprise.iko.hu/books/English_ISDOS.pdf) at PDF page 65.


Quote
Regarding the Turbo modes I will first try to get the driver working ok on a normal EP. Then let's test again at higher speeds...
I guess if original EXDOS routines used then will work on turbo :-)

Quote
This mode uses the usual keyboard routine, which only outputs 1 key at the same time.
Then possible send switching key codes for the additional directions? For example left,up,left,up,left,up...
The EXOS do this for the cursor movement, you can try it at the BASIC editor.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.13. 21:23:40
I have two quick questions about EXOS Function 24 - Allocate Segment:
1.) is it always the case, that it returns the next free segment with the lowest number?
2.) page zero (which is at #b0, #0000-#3fff after loading): is it always the case, that only the first 256 bytes (#0000-#00ff) are used for EXOS?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.13. 21:57:18
1.) is it always the case, that it returns the next free segment with the lowest number?
Yes.

Quote
2.) page zero (which is at #b0, #0000-#3fff after loading): is it always the case, that only the first 256 bytes (#0000-#00ff) are used for EXOS?
It is used from 30h-5Bh.

The allocation as I think:
Do Allocate segment, until got a shared segment error (7Fh), store a list of allocated segments.
When get a shared segment error, then it is the System Segment (FFh).
Now come the trick: combine the Zero Page Segment with the System Segment.
Need to copy the system area, and also your loader program for continue the execution. And at the final need to left routines for the Warm Reset (which can restart SymbOS, for example in a all applications closed state, but possible continue anything), and a exit routine which will reverse the allocation and then exit to EXOS.

Set the User Boundary with EXOS 23, where is needed, it is depend from your program size.
If successful then copy the start of zero page to the system segment until the boundary.
Then page the system segment to page 0, and write it is address to BFFCh USR_P0 variable (page 2 address, on page 0: 3FFCh)
And finaly store the original page zero number to the start of allocated segment list.

This trick made one more continous 64K block at most of systems. But on lot of memory systems not too important.

And when you got the list of allocated segments, then select the 64K blocks, segments for Kernel, and video segments.
At the video segment need to calculate video addresses from the segment number (lower 2 bits of segment number will be the high 2 bits of video address).

Finaly give back the remaining unused segments with EXOS 25. (non-continous space, or more than 1M situation)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.13. 22:13:31
Great concept, makes a lot of sense! :)
Let me first finish the allocation stuff, so that SymbOS runs with any amount of memory (128-1024K) + some more important things. At the end I will implement this EXOS/restore methode as well!
Title: Re: SymbOS
Post by: Prodatron on 2014.November.13. 22:15:32
then it is the System Segment (FFh).
Btw, couldn't this even start at #FE or earlier, if there are a lot of additional things loaded?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.13. 22:22:54
Btw, couldn't this even start at #FE or earlier, if there are a lot of additional things loaded?
The loaded things go for another segments. If open a large video pages with EXOS then possible go out from FFh. But in your situation video pages don't used.
But add a check (shared=FFh) will good for 100% certainty.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.13. 22:38:05
At the end I will implement this EXOS/restore methode as well!
My EXIT routine, I use when any error happen while loading program, at exit from program, and also used as "Exit at Warm Reset".
Code: ZiLOG Z80 Assembler
  1. EXIT:           DI
  2.                 LD SP,100H   ;set stack
  3.                 LD A,255
  4.                 OUT (0B2H),A   ;page in the system segment
  5.                 LD HL,EXIT
  6.                 LD (0BFF8H),HL   ;set routine address as Warm Restart routine (for a case when reset pressed again)
  7.                 LD HL,(0BFF4H)   ;EXOS LPT address
  8.                 SET 6,H
  9.                 LD B,4
  10. EXIT1           SRL H
  11.                 RR L
  12.                 DJNZ EXIT1   ;convert for send out to Nick
  13.                 LD A,L
  14.                 OUT (82H),A
  15.                 LD A,H
  16.                 OR 0C0H
  17.                 OUT (83H),A   ;EXOS LPT restored
  18.                 LD A,(P0S)      ;original Zero Page segment
  19.                 OR A
  20.                 JR Z,NOP0       ;jump if no segment change
  21.                 OUT (0B1H),A
  22.                 LD DE,4000H
  23.                 LD BC,SIZE
  24.                 LD H,E
  25.                 LD L,H
  26.                 LDIR            ;copy back the start of page zero segment
  27.                 OUT (0B0H),A  ;switch back
  28.                 LD (0BFFCH),A  ,write back to USR_P0
  29. NOP0:
  30.                 LD C,40H
  31.                 EXOS 0   ;EXOS reset, for deallocate all user memory
  32.                 LD A,1
  33.                 OUT (0B3H),A   ;ROM1 to Page 3
  34.                 LD A,6          ;function code: 6, start Enterprise logo screen
  35.                 JP 0C00DH    ;start ROM1 routine
  36.  

This can be used at "Shut Down" menu. And also when normal EXOS program selected for loading, at this situation after the "EXOS 0" do the loading instead the ROM1 starting.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.14. 01:10:07
Dynamic memory segment allocation is working! :)
(http://www.symbos.de/gfx/preview/sym-ep-07onemegabyte.png)
Now it supports up to 1MB and can be booted from systems with expanded memory, too.
Joystick support is included, too. Sector routines haven't been fixed yet, so it's maybe better only to try it in the emulator :oops:

Btw, I recognized (thanks to Edoz), that it only runs in the Emulator, if there is a disc in drive A AND drive B... So one more issue with the disc routines.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.14. 07:53:27
With more memory, more fun :smt038

Now it is totaly frezze on more than 4MHz :oops:
Title: Re: SymbOS
Post by: edoz on 2014.November.14. 09:21:52
Dynamic memory segment allocation is working! :)
(http://www.symbos.de/gfx/preview/sym-ep-07onemegabyte.png)
Now it supports up to 1MB and can be booted from systems with expanded memory, too.
Joystick support is included, too. Sector routines haven't been fixed yet, so it's maybe better only to try it in the emulator :oops:

Btw, I recognized (thanks to Edoz), that it only runs in the Emulator, if there is a disc in drive A AND drive B... So one more issue with the disc routines.


WOW!! 1 MB that is cool !! Then we are able to run more applications at the same time!!!
How can I create a disk image for the enterprise ? If I want to test my own apps. ;)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.14. 09:27:47
How can I create a disk image for the enterprise ? If I want to test my own apps. ;)
It is a standard FAT12 disks, MS-DOS compatible. You can find tons of programs to do this :-) I using WinImage on Windows.
And there is a empty disk image pack. (http://ep128.hu/Emu/Ep_Disk_Image.rar)
Title: Re: SymbOS
Post by: Trebmint on 2014.November.14. 10:08:23
@Edoz - Symstudio in MSX DSK settings can also be used for the Enterprise. Cool really I have no work to do on that. I will of course set up a compile for Enterprise button to make it look like I'm doing lots of work
Title: Re: SymbOS
Post by: edoz on 2014.November.14. 10:16:26
@Edoz - Symstudio in MSX DSK settings can also be used for the Enterprise. Cool really I have no work to do on that. I will of course set up a compile for Enterprise button to make it look like I'm doing lots of work


YES!!! It works! .. Amazing!! .. I never created something for the Enterprise but Tetris is just working without troubles !!

(http://i61.tinypic.com/30t49bk.jpg)

I also tried to run explore.exe (which is not finished currently) But it works very well... (ok I still have to the correct colors as it was build for 16 colors and not 4)

(http://i59.tinypic.com/33vixec.jpg)


Prodatron and trebmint your software is crazy cool!
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.14. 11:08:26
YES!!! It works! .. Amazing!! .. I never created something for the Enterprise but Tetris is just working without troubles !!
Can we download it? :-)
Title: Re: SymbOS
Post by: edoz on 2014.November.14. 11:14:23
Can we download it? :-)

explorer.exe is currently in development so you have to wait. But Tetris is already done. But I just noticed that the arrow keys are not working in games. (like tetris)
Prodatron needs to fix that first ;)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.14. 12:46:23
The "keytest" function, which returns, if a key is currently pressed or not, isnt working now, as it requires another translation map. Will come with the next update :)
Title: Re: SymbOS
Post by: Trebmint on 2014.November.14. 13:21:09
The fact that Tetris works without change on a completely different machine is pretty amazing... especially as it is a graphical App and the VDP and Nick chips are just so so different.

I think its really great that Enterprise users seem to be interested in symbos. together we can create something really good. Even if its not in a special attribute type byte aligned screen mode :P
Title: Re: SymbOS
Post by: Z80System on 2014.November.14. 13:33:21
Quote
I think its really great that Enterprise users seem to be interested in symbos.

Enterprise lacks of programs which can use much memory or can handle and does use much background storage.

In this year Saint built very cool memory extensions and vortyex built SD controllers what are as cool and tiny like the former ram extensions.

When somebody mentioned SymbOS in a topic, I saw that it is THE solution for effectively using those.

And fortunately, lgb thought of it, too ... :)
Title: Re: SymbOS
Post by: Z80System on 2014.November.14. 13:51:26
Quote
Even if its not in a special attribute type byte aligned screen mode :P

Enterprisers (and probably every micro users) always look for possibilities to use as much of their stuffs as can be possible ... maybe multi color background on EP with a multi platform OS like SymbOS is too much ... but those pictures are very magnetic to us, because these are a relatively new deveopment on the EP and they liberated the EP screen from the 4/16 color madness ... :) In EP's own ages we simply could not imagine EP can do pictures like these ... If they could show up like background screens of a GUI OS ... It would be "incredible" I think ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.14. 13:54:28
Just a idea: Enterprise mode screen saver. At this situation can be used these pictures.
Title: Re: SymbOS
Post by: Z80System on 2014.November.14. 13:59:00
Quote
Just a idea: Enterprise mode screen saver. At this situation can be used these pictures.

Yes! With a cool interleaved slide in from the two sides ... or such ... :)

50FPS byte scroll would be good enough ... that would be fast and slick enough ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.14. 14:04:49
Or maybe with a simple pre calculated palette fade in/out from/to black ...
Title: Re: SymbOS
Post by: lgb on 2014.November.14. 14:11:29
Just a idea: Enterprise mode screen saver. At this situation can be used these pictures.

Indeed, very nice idea! Also, I am not sure if it's possible but there can be SymbOS apps having "fullscreen" mode with "private" gfx mode. So even an image viewer, which on EP at least can show image in full screen with fancy Nick LPT tricks. The only disadvantage: it won't run in fullscreen mode on other SymbOS ports, so it somewhat violates the "portable application" rule (but anyway even videos having MSX and CPC format separately so it seems even with SymbOS there are exceptions of the "being portable" rule).

http://ep.lgb.hu/jsep/demo/?disk=EPSLIDESHOW.IMG&autostart=yes&skiplogo=yes&mem=128&zt=no (http://ep.lgb.hu/jsep/demo/?disk=EPSLIDESHOW.IMG&autostart=yes&skiplogo=yes&mem=128&zt=no)

It's not even interlace btw, I can imagine screen saver simply shows pictures one after one ... So it can be better :)

Btw about video modes: as I mentioned I have the idea that there are MSX and CPC videos for SymbOS. Would SymbOS/Enterprise-128 would be able to show one of them? I guess CPC's format is close just the video memory is linear not "interleaved" (or whatever) as with CPC. Because if it is not possible another machine dependent video format should be introduced ...
Title: Re: SymbOS
Post by: edoz on 2014.November.14. 14:29:37

In this year Saint built very cool memory extensions and vortyex built SD controllers what are as cool and tiny like the former ram extensions.


Indeed SD controllers are very usefully... especially for SymbOS it's a must I think. It's very nice that those devices are available for the Enterprise Computer. I saw there is a IDE tab in the enterprise emulator. Is this based on the same principals ?

It's funny. I never heard about the Enterprise system until Prodatron told me about it. I don't know why, but somehow I like this machine. I installed yesterday the emulator and I was  totally surprised about the boot screen! that is so colorful! and the nice keyboard sound in basic.
That sound is crazy. Ok... I'm sorry ;) ... the MSX is for me the most amazing computer .. but the Enterprise seems to get close to the MSX ;) . I don't own a Enterprise. (The prices seems sky high on Ebay for me) But it looks very cool with the joystick on the console! To bad they didn't build-in a floppy drive during that time.

Anyway! I would say let's work together and make nice programs for SymbOS :D :D and those lovely supported Z80 system :D
Title: Re: SymbOS
Post by: Trebmint on 2014.November.14. 14:33:05
The .vid videos created will work in 4 colours for Enterprise straight from day 1. The format is already fine I believe.

The thing to take from symbos is that it will be pushed by Prodatron pretty much as far as it can go on specific platform, as long as it doesn't create a situation that an APP wont work on another supported system. The attribute mode would probably be too platform specific, as neither the CPC or MSX use that, and there's no benefit in creating a 8 pixel byte aligned version as that would break all the Apps that currently exist.

Taking symbos fullscreen and not cross platform graphically is something I hope happens after 3.0, but it needs to be carefully planned as it would be great to keep 99% of code the same even if the graphics are machine specific. Symstudio already allows the importation of .bmp, jpgs etc and converting to 4/16 colour with automatic embedding into projects, meaning you dont have to rely on the symbos automatic upgrade or downgrade. basically meaning graphics can already be kind of machine specific if you wish
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.14. 14:59:51
I saw there is a IDE tab in the enterprise emulator. Is this based on the same principals ?
It is my older development, started at about 20 years ago :-)
Today's it is obsolete, because the SD interface. But if Prodatron have a energy for do it, possible to add driver for SymbOS :-)


Quote
I never heard about the Enterprise system until Prodatron told me about it.
I see flag of Netherlands at your name. This is interesting because I think many Enterprise users at your country, we have many issues of Dutch Enterprise magazines. Look at the collection. (http://enterprise.iko.hu/magazines.htm)


Quote
I don't own a Enterprise. (The prices seems sky high on Ebay for me)
If you really want one, then I have some spares...

Quote
To bad they didn't build-in a floppy drive during that time.
The next model planed with built in, but it is never released :cry:
Title: Re: SymbOS
Post by: Z80System on 2014.November.14. 15:03:30
Quote
Is this based on the same principals ?

IDE interface for the EP is a piece of hardware designed by Zozosoft.

Before the cartridge SD controller that IDE controller was the only solution to use larger and faster storage devices than floppies.

Because of almost everything can have an IDE interface you can use many type of devices with the EP through that IDE interface: HDDs, IDE to SD, IDE to CF or what you want.

From the software perspective it has a "driver" for the EXDOS (wich is an extension for EXOS), and every software use that what could use the floppies.

The cartridge SD card is a different thing from the hardware perspective, it connects to the cartridge port, and is not mixing IDE interface to the things ... but it has a software driver just like IDE interface has, and every software uses that what could use floppies under EXOS/EXDOS ...

The ep128emu2 can emulate floppies and the IDE controller ... the cartridge SD has no emulation till now ...

SymbOS would have to support these things, too. Floppies are supported now through the floppy controller chip interface, and it has to support the IDE interface and the cartridge SD, too ... I think ...


Quote
(The prices seems sky high on Ebay for me)

We are suprised of that, too. In the "hungarian e-bay" (called vatera.hu) you can buy enterprises about 50-200 dollars. The prices are such high in the last or last two years, only ... In theory, they produced 80000 instances of the EP ... but we do not know where they are ... :(
Title: Re: SymbOS
Post by: BruceTanner on 2014.November.14. 15:09:10
explorer.exe is currently in development so you have to wait. But Tetris is already done.

I like your priorities! :mrgreen:
Title: Re: SymbOS
Post by: lgb on 2014.November.14. 15:18:28
It is my older development, started at about 20 years ago :-)
Today's it is obsolete, because the SD interface. But if Prodatron have a energy for do it, possible to add driver for SymbOS :-)

However it may turn into a question about wasting memory. What I mean here is the needed memory space for the driver, if the OS is not "load driver from disk" kind. As far as I can see, MSX works with loading SymbOS drivers, but CPC is not. While I tried to disassembly CPC SymbOS, I seen that there are many hw drivers built-in somehow. Which can be a factor if you have the base 128K RAM only. If every drivers are built-in there can be a problem later. But the another side of the problem: having loadable drivers also causing using a bit more memory. Hmmm. The question here is soon (especially for the next SymbOS version which can be even larger maybe) that how realistic to run SymbOS with 128K RAM only. It's not too much to actually work with SymbOS so we can say it will be not enough to even boot SymbOS. But there is some little sound within me saying: "ok, not enough but nice feeling to know it will work _somehow_ even on the good-old base system with only hardware elements produced by the original manufacturer of the machine when it was sold/bought ...". It's even true for the SD driver, as not everybody have it. I am not sure what the strategy of SymbOS for the future versions on different platforms: will 128K enough for every future versions as well, what will be about the "monolithic" and "loadable driver" versions in MSX/PCW/CPC/EP128 .... will they be always different (as like now afaik, that msx uses loadable drivers but not the cpc, I think). etc, etc.
Title: Re: SymbOS
Post by: Trebmint on 2014.November.14. 16:11:25
However it may turn into a question about wasting memory. What I mean here is the needed memory space for the driver, if the OS is not "load driver from disk" kind. As far as I can see, MSX works with loading SymbOS drivers, but CPC is not. While I tried to disassembly CPC SymbOS, I seen that there are many hw drivers built-in somehow. Which can be a factor if you have the base 128K RAM only. If every drivers are built-in there can be a problem later. But the another side of the problem: having loadable drivers also causing using a bit more memory. Hmmm. The question here is soon (especially for the next SymbOS version which can be even larger maybe) that how realistic to run SymbOS with 128K RAM only. It's not too much to actually work with SymbOS so we can say it will be not enough to even boot SymbOS. But there is some little sound within me saying: "ok, not enough but nice feeling to know it will work _somehow_ even on the good-old base system with only hardware elements produced by the original manufacturer of the machine when it was sold/bought ...". It's even true for the SD driver, as not everybody have it. I am not sure what the strategy of SymbOS for the future versions on different platforms: will 128K enough for every future versions as well, what will be about the "monolithic" and "loadable driver" versions in MSX/PCW/CPC/EP128 .... will they be always different (as like now afaik, that msx uses loadable drivers but not the cpc, I think). etc, etc.
On the whole I would assume that's because the CPC is a closed system in that the sound, graphics, fdc are the same on everyone. that's not the case with the 4000 differernt models of MSX. Its impossible to embed something that isnt standard
Title: Re: SymbOS
Post by: lgb on 2014.November.14. 16:18:02
On the whole I would assume that's because the CPC is a closed system in that the sound, graphics, fdc are the same on everyone. that's not the case with the 4000 differernt models of MSX. Its impossible to embed something that isnt standard

Indeed, it can be a reason, I guess. Just I'm wondering now what about the EP128. Also what about the support of 128K only in future versions of SymbOS.
Title: Re: SymbOS
Post by: Trebmint on 2014.November.14. 16:33:20
Indeed, it can be a reason, I guess. Just I'm wondering now what about the EP128. Also what about the support of 128K only in future versions of SymbOS.
Prodatron is dedicated to every version (I guess unless its a hardware specific version - for say a hires graphics card etc) to be working on base level machine that means 128k. No doubt this will only leave minimal RAM, and you will never be able to launch more than one or two small apps at the same time. However I think its safe to assume that most people will be either in emulator or if using real hardware have upgraded it substantially. Basically speaking symbos is a highly advanced modern OS that even in a basic state requires nearly a 100k. If could be smaller then Prodatron would have done so.
We have talked a while back about a symbos lite, that effectively would be symbos without GUI. That's for the future though
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.15. 11:34:47
Question about the ROM versions: it is just used for a storage, replace the disk loading, and then data copied to RAM.
Or some parts running from the ROM?
Title: Re: SymbOS
Post by: lgb on 2014.November.15. 12:38:16
Question about the ROM versions: it is just used for a storage, replace the disk loading, and then data copied to RAM.
Or some parts running from the ROM?

At least by watching the disassembled CPC ram image, it seems, data and code is quite at the same place :( Though by having the source it would be not impossible to restructure a bit to have data / code into different segments but then maybe memory paging would be a problem that kernel uses only one segment or such ....
Title: Re: SymbOS
Post by: Prodatron on 2014.November.15. 14:37:34
SymbOS allows to deactivate the desktop, so an app can work in fullscreen mode. In this case it's platform specific. An application has to detect if it supports the specific platform and then manage the video output by itself. This is done in the SymShell CLI, if you switch to fullscreen mode (which is currently not working on the EP) as well as in the screen saver. These slideshows would be possible in this mode :)

Handling drivers: LGB is right. Dynamic loadable drivers require more overhead and memory. For the CPC and PCW it wasn't necessary at all, for the MSX it was only necessary for the mass storage devices (things like mouse and RTC are standard here). Because of the additional memory and overhead I usually try to use built-in drivers, but if there are too many different devices, which should be supported, we need to handle it dynamic.

SymbOS should always run on original unmodified, unexpanded systems to prove, that it's possible :P (in case of the EP at least with 128K and EXDOS card). This is even planned for the future. But as it's growing and growing, new versions will come with optional modules, which are loaded after booting the core part and handled like applications, but these modules still expand the functionality of the system. So you will still have additional new features in the future, but if you like to try it on an unexpanded system you just load the base version.
For the EP there will probably be two versions in the future: The actual "normal" one and the "power-user" one with higher resolutions, which won't run on 128K anymore.

The "Rom-version" of SymbOS CPC is only used for booting, that means instead of loading from disc it decompressed the data from rom. Running directly from rom would require a lot of changes (no self-modifying code anymore, task switching need to take care about the rom config, too). A rom version would have different code compared to the normal version, which will introduce a lot of more work. As it's not a problem to expand the ram instead of the rom, I don't see a reason for having a rom version.
Title: Re: SymbOS
Post by: Z80System on 2014.November.15. 22:42:45
Quote
These slideshows would be possible in this mode :)

I think, that will be done ... :)

Anyway ... in this way, every platform specific program, game, demo can be possible on the top SymbOS ?

I ask memory from SymbOS, use SymbOS's background storage handling functions, but then I can disable SymbOS and run a fullscreen demo using every bit of the hardware, just like in the case of the EXOS ?

Or is this about the video only, and SymbOS will run in the background and I cannot use every bit of power of the machine ?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.16. 12:32:13
It's still a Z80, there is no protected mode :P
That means you can use SymbOS for reserving memory and loading data and then patch the IRQ handler at #38 and completely control the machine by yourself.
Title: Re: SymbOS
Post by: lgb on 2014.November.16. 13:37:48
It's still a Z80, there is no protected mode :P
That means you can use SymbOS for reserving memory and loading data and then patch the IRQ handler at #38 and completely control the machine by yourself.

:) Nice, only then a SymbOS function would be useful to re-initialize the Nick LPT, as if you "take over the control" and you install a custom LPT it would be nice to restore it, however since Nick registers are read-only you have no chance to save the address of the Nick LPT etc.
Title: Re: SymbOS
Post by: Z80System on 2014.November.16. 13:44:30
Quote
Nice, only then a SymbOS function would be useful to re-initialize the Nick LPT,

With a memory extended machine we would restore the EXOS interrupts in SymbOS fullscreen mode ... and there would be quick switch between EXOS and SymbOS ... wouldn't be ? :)

It would be an EXOS application for SymbOS ...
Title: Re: SymbOS
Post by: Z80System on 2014.November.16. 14:01:45
Of course, EXOS cannot se SymbOS's volumes because of the unknown filesystem, but somebody could keep EXOS volumes in the drives or on the devices, too.
Title: Re: SymbOS
Post by: Povi on 2014.November.16. 14:04:57
Anyway ... in this way, every platform specific program, game, demo can be possible on the top SymbOS ?

OK, but why do you want to make platform specific sw over the Symbos? The only EP-specific sw, I can imagine in Symbos is an app, that enables to run EP executables (file type 5), and after finish run, the app restores Symbos.
Title: Re: SymbOS
Post by: lgb on 2014.November.16. 15:56:39
OK, but why do you want to make platform specific sw over the Symbos? The only EP-specific sw, I can imagine in Symbos is an app, that enables to run EP executables (file type 5), and after finish run, the app restores Symbos.

More-or-less I agree, but of course a sound player using Dave is EP-specific after all but not so bad to have :) For other things, fullscreen mode is still useful with some kind of EP specific video modes at _some_ cases at least (eg an image viewer can work as a portable SymbOS app, but can have fullscreen mode to use EP specific video mode to be able to show images in better quality using tricky LPTs etc). Though I don't see it's too useful to have EP-specific things _only_ since then it makes much more sense to write them as an EXOS app and not SymbOS anyway.

Running an EXOS app while in SymbOS can  be useful sometimes maybe, though there can be problems, eg "take over the control" over SymbOS when it is not about doing a disk operation etc, as it would be a crash possibility to reprogram WD by EXDOS meanwhile, etc.
Title: Re: SymbOS
Post by: edoz on 2014.November.16. 17:03:20
More-or-less I agree, but of course a sound player using Dave is EP-specific after all but not so bad to have :) For other things, fullscreen mode is still useful with some kind of EP specific video modes at _some_ cases at least (eg an image viewer can work as a portable SymbOS app, but can have fullscreen mode to use EP specific video mode to be able to show images in better quality using tricky LPTs etc). Though I don't see it's too useful to have EP-specific things _only_ since then it makes much more sense to write them as an EXOS app and not SymbOS anyway.

Running an EXOS app while in SymbOS can  be useful sometimes maybe, though there can be problems, eg "take over the control" over SymbOS when it is not about doing a disk operation etc, as it would be a crash possibility to reprogram WD by EXDOS meanwhile, etc.

About sound. Which sound 'devices' does the Enterprise have ? (or add-on hardware for sound.) 
Title: Re: SymbOS
Post by: lgb on 2014.November.16. 17:16:53
About sound. Which sound 'devices' does the Enterprise have ? (or add-on hardware for sound.)

EP has two key featured ICs (I mean built in): one of the them is "Nick" which is responsible for video. The other is "Dave" which does quite lots of things, like interrupt 'controller', memory mapper, but it also produces the audio. Dave is a custom solution, so on Enterprise-128 not the well known "AY" (AY-3-8910/8912/etc and compatibles, YM2149, etc ... also known as "PSG") was used for generating audio as with many other Z80 based machines (well this fact sometimes made EP users sad eg with ported games from another Z80 computers using the "AY"), but an own solution. It can produces 4 channel audio in stereo, though the wave form is somewhat limited, if I remember correctly there is some kind of white noise (one channel), and of course square wave (three channels), though there are some methods to modify with polynomial counters configured. Channels do have left and right volume control as well, so it's stereo. Dave also supports simple D/A functionality with 6 bit resolution. Of course many tricks exist to "extract" more out of the chip it was designed for :)

http://ep.lgb.hu/doc/Dave.html (http://ep.lgb.hu/doc/Dave.html)
Title: Re: SymbOS
Post by: lgb on 2014.November.16. 18:54:10
@Edoz - Symstudio in MSX DSK settings can also be used for the Enterprise. Cool really I have no work to do on that. I will of course set up a compile for Enterprise button to make it look like I'm doing lots of work

"look like I'm doing lots of work" -> best comment ever :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.16. 18:56:47
Good topic. Are there any standard music formats (modules) for the Enterprise available? I searched a little bit on Youtube and found this (*.TUN):
https://www.youtube.com/watch?v=1tEnBLwOeIs (https://www.youtube.com/watch?v=1tEnBLwOeIs)
(especially the 2nd part of this video looks interesting :) )
Would be cool to have music playback in SymAmp on the Enterprise as well!
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.16. 19:12:51
The Digitrax Modules (.DTM) are plays digitalized samples, like as Amiga .MOD files (lot of .MOD exist in DTM converted format).
Because it is need a lot of CPU power then I think it is not too ideal for SymbOS :oops:

Playing AY music are possible with software AY -> Dave conversion IRQ routine, but some AY functions can not simulated.
IstvanV and Geco are the masters of the AY playing on Enterprise :-)
Title: Re: SymbOS
Post by: Z80System on 2014.November.16. 19:17:34
EP plays a sid format, also, but I do not know it's a satandard sid or not,

and it plays 2 format of its 2 music editor program, not related to the pervios ones, only related to the DAVE chip ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.16. 19:28:44
And I created PT3 player, which are also using AY emulation.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.16. 21:09:17
And I created PT3 player, which are also using AY emulation.
Very cool! I wonder if it "only" converts the AY registers to the EP-Dave or does it do more to play PT3s?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.16. 21:35:01
Very cool! I wonder if it "only" converts the AY registers to the EP-Dave or does it do more to play PT3s?
If you think about 1:1 register conversion then the answer is: do it more.
I used the existing PT3 player code from the net, and AY writes changed to subrutine calls for AY conversion routine, which is developed by IstvanV.
This routine do some calculations for the frequency values, and try to convert the noise usage to Dave noise channel.
The main problem if I know right: the AY have 3 channel, and any channel can play normal sound or noise. Dave have a 3 sound channel and 1 noise channel (all are stereo).
Another problem with the envelopes, AY do it from hw, at the Enterprise no hw envelopes, EXOS SOUND: device do sw envelopes at 50Hz interrupts. This AY emulation routine also try to emulate these in interrupt routine. 
Title: Re: SymbOS
Post by: Prodatron on 2014.November.16. 21:46:10
If you think about 1:1 register conversion then the answer is: do it more.
I used the existing PT3 player code from the net, and AY writes changed to subrutine calls for AY conversion routine, which is developed by IstvanV.
This routine do some calculations for the frequency values, and try to convert the noise usage to Dave noise channel.
The main problem if I know right: the AY have 3 channel, and any channel can play normal sound or noise. Dave have a 3 sound channel and 1 noise channel (all are stereo).
Another problem with the envelopes, AY do it from hw, at the Enterprise no hw envelopes, EXOS SOUND: device do sw envelopes at 50Hz interrupts. This AY emulation routine also try to emulate these in interrupt routine.

SymAmp currently supports 3 different AY sound formats (Starkos [CPC], Soundtrakker 128 [CPC], PT3 [ZX Spectrum]). I wonder if playing such sounds would only require some clever conversion of the registers to Dave or if you have to analyse the sound module itself to have a good playback on the Dave chip?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.16. 22:26:00
I wonder if playing such sounds would only require some clever conversion of the registers to Dave
Just a clever conversion. Attached disk image, you can try it :-)

Quote
or if you have to analyse the sound module itself to have a good playback on the Dave chip?
With this simple conversion not all music will be good. If any one who is more familiar in music things can write analyzer-converter I think will better, but I think this is not too easy task.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.16. 22:55:10
Starkos [CPC], Soundtrakker 128 [CPC]
If exist available player code for these, then I think easy to add these to my player :-)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.17. 00:03:44
Just a clever conversion. Attached disk image, you can try it :-)
With this simple conversion not all music will be good. If any one who is more familiar in music things can write analyzer-converter I think will better, but I think this is not too easy task.
That's so cool! Great work! Now I have good hope that SymAmp will work on the EP soon, too! :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.17. 00:08:32
If exist available player code for these, then I think easy to add these to my player :-)
The source codes of the Soundtrakker player are lost, but I was able to relocate the existing modules and patch the AY-register routines (e.g. for the MSX). Starkos routines http://www.grimware.org/doku.php/documentations/software/starkos/start (http://www.grimware.org/doku.php/documentations/software/starkos/start) are available!
Title: Re: SymbOS
Post by: geco on 2014.November.17. 09:06:25
The main problem is when AY plays sound and noise in the same time on a channel, it is not possible on EP, playing noise on 3 channel is possible with set polinomial counter length to 10h, and set the specific bit on dave frequency high register. The other problem is the envelope, it should be emulated in interrupt for best emulation it would be good to do it in 1KHz interrupt, but for most songs the 50Hz is also enough.

I think enough to insert into SymAmp IstvanV's AY emulator routine, it is the best, I will try to find here, and make a link.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.17. 09:10:13
The source codes of the Soundtrakker player are lost, but I was able to relocate the existing modules and patch the AY-register routines
This is also enought for me! Can you send the details?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.17. 09:18:31
I think enough to insert into SymAmp IstvanV's AY emulator routine, it is the best, I will try to find here, and make a link.
There is it. (http://enterpriseforever.com/spectrum-rol/re-spectrum-programok-atirasa-1005/?action=dlattach;attach=7639)
Title: Re: SymbOS
Post by: lgb on 2014.November.17. 21:39:03
EP plays a sid format, also, but I do not know it's a satandard sid or not,

I don't think it's a fine idea for SymbOS. The "standard" sid format iself needs some degree of emulation of a Commdore machine, the CPU itself and of course the SID chip. So it's not strictly a format with "musical" information only but also the player code itself. I guess the EP "sid player" also has to emulate a 6510 CPU. And - as far as I can imagine - the SID chip emulation itself can be something like the AY emulation, using an interrupt or whatever to rapidly alter the Dave register values eg to emulate the SID's ADSR (Attack-Decay-Sustain-Release, if I remember well enough) possibilities.
Title: Re: SymbOS
Post by: geco on 2014.November.18. 10:06:02
Yes, and some SID music reach the speed limit of EP, ex Cybernoid2, sometimes become slow, so it would use too much CPU in Symbos.
Title: Re: SymbOS
Post by: lgb on 2014.November.18. 10:25:17
Yes, and some SID music reach the speed limit of EP, ex Cybernoid2, sometimes become slow, so it would use too much CPU in Symbos.

Also don't forget, that SymbOS runs several things in "parallel" (from human view point, for real, rapidly changing the execution time slices among them), so it's even not so possible to keep up a quite strict timing/running for longer time than about 1/50 sec. If I am correct ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.19. 12:53:49
Is any test version? :oops:
Title: Re: SymbOS
Post by: lgb on 2014.November.19. 13:25:34
Is any test version? :oops:

I'm interested too :) I also checks page http://symbos.de/news.htm (http://symbos.de/news.htm) quite often in the hope of something new there :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.19. 16:42:29
Sorry for not uploading another new version. Unfortunately I was busy during the last few days with "normal" life, but this weekend you will get a new update.
Title: Re: SymbOS
Post by: edoz on 2014.November.19. 19:11:11
Sorry for not uploading another new version. Unfortunately I was busy during the last few days with "normal" life, but this weekend you will get a new update.


hahah! .. yes .. Sounds familiar ;) "normal live" takes always to much time :D
Title: Re: SymbOS
Post by: Trebmint on 2014.November.19. 20:32:42
For those of you who actually think Prodatron has a normal life. That's not quite correct. Here is what his day comprises of

Code: [Select]
ORG DreamState
.BrushTeeth: EQU #32
.Day
LD HL,SymbosIdeas
LD DE,StoreIdeas
.Sleeping
LD A,(HL)
        INC HL
CP Good
JR NZ,Sleeping
LD (DE),A
LD A,(BED)
CP 9
JR NC,GetOutOfBed
        INC DE
JR Sleeping
.GetOutOfBed
LD BC,BrushTeeth
LD HL,Toothpaste
LD DE,Mouth
LDIR
...
The full listing has yet to be fully dissassembled
Title: Re: SymbOS
Post by: Prodatron on 2014.November.19. 22:37:47
Where did you steal my source codes? :D Of course the full listing contains 17 additional lines!
Title: Re: SymbOS
Post by: geco on 2014.November.20. 09:18:40
:smt043 :smt043 :smt043 Great code ;)
Title: Re: SymbOS
Post by: Trebmint on 2014.November.23. 12:06:58
Did my sample of prodatron runtime code stop this thread? Anyway in my magical capacity I predict that there will be an Enterprise Symbos release sometime today!
Title: Re: SymbOS
Post by: geco on 2014.November.23. 13:13:06
If it happens then you are a wizard :D We are waiting :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.23. 23:08:02
Hi guys, here is another preview of SymbOS EP.

(http://www.symbos.de/gfx/preview/sym-ep-08controlpanel.png)

What's new:
- external joystick support: this controls the mouse pointer in a more comfortable way
- 1MB memory support
- keytest implemented; hope that Edoz's Tetris is playable now :) (TBH I didn't test it yet)
- control panel has been adjusted for the EP (especially the keyboard layout and the screen mode selection)
- screen saver is working on the EP, too
- boot drive is taken from EXOS
- EXOS time+date is transfered to SymbOS during booting

Known bugs:
- this version is a little bit unstable; not sure if this is new and what's exactly the problem, but we will see
- disc routines still doesn't work good on a real machine, no changes so far; in the emulator you still need a disc in drive B
- scrolling up in a window can crash the system
- choosing a desktop background picture doesn't work
- defining taskbar colours haven't been implemented yet
- SymShell will crash if you try to switch it to full screen mode

Additional Todos:
- switch between "mouse" and "keyboard" mode with INS regarding the internal joystick
- SD card interface support

**EDIT** Oops, sorry forgot to attach the DSK **EDIT**
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.23. 23:11:38
Hi guys, here is another preview of SymbOS EP.
.DSK? :oops:
Title: Re: SymbOS
Post by: Prodatron on 2014.November.23. 23:17:00
Sorry, attached now! :)
Title: Re: SymbOS
Post by: gflorez on 2014.November.24. 11:13:56
I would enjoy to see SymbOS in interlaced mode, as this hires has an excessively quadrate pixel.

With two colours it could be like the first Macs...

I've seen in the Mouse preferences a wheel setting. For that we enterprisers will have to wait still a bit, I think... How is it managed on the MSX and CPC side?

Oh!, and there is even a web browser...
Title: Re: SymbOS
Post by: Prodatron on 2014.November.24. 12:20:14
The first version of the EP port will probably stay with 320x200x4 and 640x200x2, as these screens fit inside 16K and makes things much more easy.
An advanced version, which requires more than 128K ram, will have higher resolutions, but I am not sure how much work it will be to increase the Y-resolution to more than 256px (+ taskbar).

The mouse wheel was only supported by the CPC version for many years, as there was a hardware extension (SYMBiFACE II (http://www.symbos.de/sf2.htm)) with a PS/2 mouse connector. Since the beginning of this year it's supported by the MSX, too:
http://www.msx.org/forum/msx-talk/hardware/use-10eu-connect-modern-mouse-msx?page=4
http://www.msx.org/wiki/Mouse/Trackball#Extended_mouse_protocol_.282014.29
Not sure if such a protocol extension could be added to the Boxsoft mouse?
Title: Re: SymbOS
Post by: gflorez on 2014.November.24. 13:40:37
OK, Interlace is only a desire...

The Boxsoft interface can be read directly by SymbOS as the best part is done in software.

Actually the driver only reads  two bytes(4x(4-bits) parallel MSX original protocol) and the Right physical button, but theoretically your OS could read the 3rd and 4th bytes if you need them. Here the problem is: we don't have a standard for PS/2 --->MSX interfacing. Zozo is working on it....

With a little modification on the mouse lead you can read also the left physical button(The Neos mouse uses the same pin 6 for STROBE and Left Fire, preserving pin 5 unused. It was a rule in Commodore mouses to avoid short cuts accidentally connecting a MSX mouse on an Atari-type port... )
Title: Re: SymbOS
Post by: gflorez on 2014.November.24. 14:02:11
Here you can work in it if you want:
Title: Re: SymbOS
Post by: edoz on 2014.November.24. 15:19:22
It seems there is a bug in tetris that I noticed today on the enterprise machine. I will try to fix it.
Title: Re: SymbOS
Post by: edoz on 2014.November.24. 18:18:29
Ok. I repaired the BUG in Tetris. The cool thing was that this bug was also on the CPC and MSX .... but I never noticed until the port of the Enterprise :D
So, it is now playable as well on the Enterprise!! You can download it here : TETRIS FOR SYMBOS (http://www.muziekpraktijkconanima.nl/msxorg/tetris.dsk)

For now it is only working in 4 color mode. I still have to do the fix for 2 color mode. I hope you enjoy the multitasking in SymbOS .. if you are a hero you play Tetris and Pacman at the same time ;)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.24. 22:09:26
So, it is now playable as well on the Enterprise!! You can download it here : TETRIS FOR SYMBOS (http://www.muziekpraktijkconanima.nl/msxorg/tetris.dsk)
It is working! :-)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.24. 22:57:05
For the first look I not found new SymbOS bug, just a little: the SymCommander don't use the boot drv as default. I booted from B: but it is started with two A: window and report error...

About the kernel the most strange thing, why froozen on turbo mode? The first preview version run fine, just the floppy driver not working.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.24. 23:08:56
the SymCommander don't use the boot drv as default. I booted from B: but it is started with two A: window and report error...
That's an issue and should be fixed soon (a problem on all platforms TBH :oops: )

About the kernel the most strange thing, why froozen on turbo mode? The first preview version run fine, just the floppy driver not working.
Is it even freezing without disc access? Or maybe the problem is still the disc access but it happens earlier with the newer version? Currently fixing the up-scrolling and the background picture bug, but then I will hurry up with the disc routines!
Title: Re: SymbOS
Post by: Prodatron on 2014.November.25. 23:24:39
Hi guys, I must admit, that there were some troubles in the last version.
Here is a new try :)

- parts of the disc routines have been replaced with the original ones from the ROM, which Zozosoft published a few pages ago; now I don't have any read/write problems anymore; changes are within preparing sector read/write; I still use INI for reading a sector; if this is still making problems, please tell me; the current solution is a little bit slow, it seems, that it requires some sector interleave; I will have to optimize it...)
- taskbar colours defineable (control panel -> display -> press "taskbar" in the colours settings)
- scrolling up in a window won't crash the system anymore
- choosing a desktop background works now (forgot to include it into the EP port)
- screen saver doesn't make problems anymore (some problems regarding screen low level routines)

@Zozo: Your investigations helped a lot! There were stupid problems with some kernel routines. Don't know if it solves your problem with your memory expansion?
@LGB: That's a good idea, but unfortunately exactly in the important part of the boot process there is no room for screen/disc logging routines :/
Title: Re: SymbOS
Post by: Prodatron on 2014.November.25. 23:27:58
Here you can work in it if you want:
That's great, thank you very much!
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.25. 23:56:54
- parts of the disc routines have been replaced with the original ones from the ROM, which Zozosoft published a few pages ago; now I don't have any read/write problems anymore; changes are within preparing sector read/write; I still use INI for reading a sector; if this is still making problems, please tell me; the current solution is a little bit slow, it seems, that it requires some sector interleave; I will have to optimize it...)
It is more better, no retry, retry, retry... anymore :-D
One note: ask the 73. EXOS variable (STEP RATE), and pass to the SEEK routines.

And also not works on turbo :oops: report error 26.
Probably some time out counter too short?


Quote
@Zozo: Your investigations helped a lot! There were stupid problems with some kernel routines.
Very interesting! Tell me more! :-)

Quote
Don't know if it solves your problem with your memory expansion?
It is don't change anything :-(
But I tested with third card, and it is working up to 7.12MHz! (Too slow chips for 10MHz)
Very-very strange...

What the loader do from finishing loading until own LPT displayed? The frozzen happen before the new LPT displayed. (Or immediately when the clock switching do while the SymbOS running.)

The working expansions are the modern SRAM types, the problematic are the old DRAM... I will try to test more types.

The SymbOS do any R register manipulation?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.26. 09:44:26
Additional Todos:
- switch between "mouse" and "keyboard" mode with INS regarding the internal joystick
- SD card interface support

+ one more important todo :-)
- use other video segment than FFh in not 128k mode
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.26. 15:53:40
Little note, I see in the code:
Code: ZiLOG Z80 Assembler
  1.   024D  11 B0 01     LD    DE, 01B0
  2.   0250  3E 00        LD    A, 00
  3.   0252  F7 01        EXOS  01
  4.   0254  B7           OR    A

EXOS already set the flags with OR A, then not needed do it again in the program code.
And XOR A instead LD A,00 one bytes shorter :-D
Title: Re: SymbOS
Post by: Prodatron on 2014.November.26. 16:33:58
Little note, I see in the code:
Code: ZiLOG Z80 Assembler
  1.   024D  11 B0 01     LD    DE, 01B0
  2.   0250  3E 00        LD    A, 00
  3.   0252  F7 01        EXOS  01
  4.   0254  B7           OR    A

EXOS already set the flags with OR A, then not needed do it again in the program code.
And XOR A instead LD A,00 one bytes shorter :-D
:ds_icon_cheesygrin:

this is the source:
Code: ZiLOG Z80 Assembler
  1.         ld de,ldrfilnam             ;** read datafile
  2.         ld a,exos_chnnum
  3.         rst #30:db exos_open_channel
  4.         or a

I wasn't sure, what channel number to use. So I justed defined a variable and tested some values, at the end it was just 0.
(I found it a little bit strange that the program has to define the channel number, not the "open channel" EXOS function)
Good to know about OR A! :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.26. 16:46:12
I wasn't sure, what channel number to use.
When the machine code (header 5) program started all channels are closed, then free from 0 to 254. The 255 reserved for the Default Channel which number is stored in EXOS variable 4.

For a simple loading the 0 are the commonly used, because the XOR A trick :-)
And another trick for more less bytes when more EXOS calls, for example:
Code: ZiLOG Z80 Assembler
  1. XOR A
  2. LD DE,FILENAME
  3. EXOS 1
  4. JP NZ,ERROR
  5. LD DE,START
  6. LD BC,LENGTH
  7. EXOS 6
  8. JP NZ,ERROR
  9. EXOS 3
Because the error checked, it is sure A=0 then not need set again for the channel number.
Title: Re: SymbOS
Post by: BruceTanner on 2014.November.26. 17:22:28
I found it a little bit strange that the program has to define the channel number, not the "open channel" EXOS function

It stems from Enterprise's ANSI-spec BASIC where the programmer has to be able to specify the channel number 
Title: Re: SymbOS
Post by: edoz on 2014.November.26. 19:34:10
WOW ! Very nice the background is working on the CPC !!!

(http://www.muziekpraktijkconanima.nl/msxorg/2.jpg)


Title: Re: SymbOS
Post by: Prodatron on 2014.November.26. 19:38:13
I really like this!! :P

working on the CPC !!!

Haha, since end of 2004 :D
Title: Re: SymbOS
Post by: edoz on 2014.November.26. 19:48:01
Oh Oh .. of course I meant a ENTERPRISE ;) :D :mrgreen:
Title: Re: SymbOS
Post by: geco on 2014.November.26. 19:59:39
Cool background :D
Title: Re: SymbOS
Post by: edoz on 2014.November.26. 20:55:36
Cool background :D

Thanks!! .. you can download it here BACKGROUND (http://www.muziekpraktijkconanima.nl/msxorg/ENTER128.SGX)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.27. 00:18:09
Good news, another user tested on Turbo EXDOS, using HD disks.
If I know right, the current floppy driver of SymbOS not support WD clock switching...
But after the EXDOS loaded the program files from the HD disk, the WD remain on the turbo clock, and then the SymbOS working with the HD disks!

For handling HD disks, the Z80 also need to run on turbo mode, in this test it is running on 7.12MHz
Title: Re: SymbOS
Post by: Prodatron on 2014.November.27. 00:24:44
Phew, that sounds good! :) I am still overwhelmed by all the different turbos/enhancements you have on the EP... Hope we get all the issues solved :)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.27. 12:44:03
Boxsoft mouse support is 90% implemented :)
Thanks again especially to LGB and gflorez. I have to add an autodetection (exactly the same like on the MSX) now and mouse button test. You will be able to use it in LGBs' JSEP Emulator soon!
Title: Re: SymbOS
Post by: lgb on 2014.November.27. 13:29:07
Boxsoft mouse support is 90% implemented :)
Thanks again especially to LGB and gflorez. I have to add an autodetection (exactly the same like on the MSX) now and mouse button test. You will be able to use it in LGBs' JSEP Emulator soon!

Nice, but a real hw test is very important: JSep is a "stupid" tool for fast on-line presentation of an EP software without dealing/downloading/installing/ROM searching/configuring/etc of an emulator, this is more or less the main design concept of my JSep web based Enterprise-128 emulator. Thus, it lacks many things eg good timing, especially with things like WD/EXDOS access or the boxsoft mouse interface. If you forget some delays in you code, the mouse would work in JSep but maybe not on a real hardware.

I just write this here, so people with the "real thing" should be keen enough to test if it is available :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.27. 19:09:11
One more bug :oops:
SymbOS don't handle the C: and D: floppy drives.

I suggest at the start seek all four drive to Track 0 and check it is generate Track 0 signal? Which is not then it is not exist.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.27. 19:17:10
It's not a bug, it's a feature :lol:
Since I added HxC support for the Amstrad some weeks ago I changed C & D for the CPC (and later for the Enterprise, too) into "HxC direct SD access for drive A" and "HxC direct SD access for drive B".
I was quite sure that no one will use 3 or 4 floppy disc drives today anymore, so I decided to do it like this, as it saves a lot of additional code.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.27. 19:24:54
Nice, but a real hw test is very important [...] I just write this here, so people with the "real thing" should be keen enough to test if it is available :)
Somehow I am quite sure, that it will run on the real hardware, too :)
The core routine for reading the X/Y dif from the mouse was taken from the original source code posted by gflorez here. Everything else is like on the MSX, so I was already quite familiar with this stuff and think (and hope) it will work...
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.27. 19:34:22
I was quite sure that no one will use 3 or 4 floppy disc drives today anymore
It is reported by user, who use! See the config. (http://www.bubus.freeweb.hu/szamtech/Sajatgep/Sajatgep01.html) :-)

Can be the HXC support optional?

I think the best solution will be a Setup program or Config panel, or least INI file for define the floppy drives parameters.
Real drive or HXC, DD or HD, turbo modes, step rates.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.27. 20:08:46
Boxsoft mouse support (including mouse detection) seems to work now, please check the attachment.
Mouse or joystick have to be connected at "control 1".
You can try it here with JSEP:

http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk (http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk)
(type LOAD"SYM" after the EP booted)

Can anyone test this on the real hardware?

Regarding HxC support: Ok, it should be possible to make it configurable without too much work. There seem to be really cool power users on the EP! :)
(I am just curiouse: Is it more typically to have an HxC [with Zozos image selector :) ] or to have 4 drives connected to an EP?)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.27. 20:35:25
(I am just curiouse: Is it more typically to have an HxC [with Zozos image selector :) ] or to have 4 drives connected to an EP?)
I'm in both team :-) And where to count when two real drives and two HxC emulated drives used? :oops:

I know only 4 HxC EP user. And I think for the future the users will buy the direct SD interface for the EP, because will be more faster and comfortable. All Enterprise software are simple files on a FAT disks, then not need exact emulation of any disk image. And if anyone not have any storage device (just the tape player :-) ), for using HxC also need to find EXDOS card, which is ultra rare...

HxC will be great device when having a big collection of computers. It is need a lot of money to buy best storage device for each, and many machine use a special disk format, and the programs need to use the original disk image, then floppy emulation important. The HxC solve the problem for all :-)
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.27. 21:26:01
Can anyone test this on the real hardware?
Working :smt038
SymbOS more comfortable with mouse :-D

On 4Mhz no problem, on 6Mhz sometimes (but very rare) "jumping", on 7.12Mhz sometimes "jumping", on 10Mhz always "jumping" the pointer.

I think some more wait cycles need to read cycles.

Title: Re: SymbOS
Post by: Prodatron on 2014.November.27. 21:37:12
Thanks a lot for testing EP Grandmaster ZOZO!! :) :razz: :)
Seems that this has to be modified for faster EP machines?

Code: [Select]
       ld b,8
        call mosdly0     ;delay
[...]

;### MOSDLY0 -> do delay
mosdly0 nop
        nop
        nop
        dec b
        jr nz,mosdly0
        ret
(part of the original source)

Does EGI have the same problem?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.27. 21:45:51
Seems that this has to be modified for faster EP machines?
Yes.

Quote
Does EGI have the same problem?
Yes.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.27. 22:21:21
SymbOS contains a CPU speed test (it was originally done for the idle time measurement). I will try to use it for this issue!
Title: Re: SymbOS
Post by: lgb on 2014.November.28. 01:05:55
Boxsoft mouse support (including mouse detection) seems to work now, please check the attachment.
Mouse or joystick have to be connected at "control 1".
You can try it here with JSEP:

http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk (http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk)
(type LOAD"SYM" after the EP booted)

Nice :)

I've just noticed that SymbOS seems to freeze (eg mouse pointer does not move anymore) after eg having out of memory error, or when I start SymShell (with more memory given - so it's not out of memory error in that case!). Btw, RAM can be increased with URL parameter, so the above example with 1Mbyte of RAM (but I guess you already figured it out):

http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024 (http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024)

Also I guess it would be nice to create an EXDOS.INI file, so loading would be automatic. Also appending the URL above with &autostart=yes starts JSep emulation without clicking on the "Run" button, just clicking in the URL would be enough then.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.28. 12:14:36
I've just noticed that SymbOS seems to freeze (eg mouse pointer does not move anymore) after eg having out of memory error, or when I start SymShell (with more memory given - so it's not out of memory error in that case!).
Yes, I noticed this in JSEP, too. Sometimes it happens when moving the mouse inside the start menu, sometimes when starting SymShell, but it doesn't depend on the amount of Ram. A small part of the system is still working, at least the idle process is running, which I can see when pressing the "Z80" button. But most other stuff is freezing. As this problem never occures in Ep128Emu I wonder if it is a JSEP-specific problem or a problem with the mouse routines.

Also I guess it would be nice to create an EXDOS.INI file, so loading would be automatic. Also appending the URL above with &autostart=yes starts JSep emulation without clicking on the "Run" button, just clicking in the URL would be enough then.
What do I have to write into the EXDOS.INI file? Just
LOAD"SYM"
or something else?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.28. 12:18:32
What do I have to write into the EXDOS.INI file? Just
LOAD"SYM"
or something else?
ECHO Starting SymbOS...
LOAD SYM
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.28. 12:22:37
And another trick: if you rename the SYM to START, then at BASIC prompt enought just press F1 key.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.28. 12:31:03
Very nice! What would EP users prefer? The autostart or the F1 option?
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.28. 12:34:17
Very nice! What would EP users prefer? The autostart or the F1 option?
Both :-) (Then put LOAD START to EXDOS.INI)
Title: Re: SymbOS
Post by: Prodatron on 2014.November.28. 12:49:06
But is it possible to cancel the autostart?
Title: Re: SymbOS
Post by: lgb on 2014.November.28. 12:56:31
Yes, I noticed this in JSEP, too. Sometimes it happens when moving the mouse inside the start menu, sometimes when starting SymShell, but it doesn't depend on the amount of Ram. A small part of the system is still working, at least the idle process is running, which I can see when pressing the "Z80" button. But most other stuff is freezing. As this problem never occures in Ep128Emu I wonder if it is a JSEP-specific problem or a problem with the mouse routines.

It's possible of course (JSep problem), I am just curious to fix the problem with JSep if it turns out as an JSep program. However since you haven't noticed that with ep128emu, I guess it should be ...

Quote
What do I have to write into the EXDOS.INI file? Just
LOAD"SYM"
or something else?

LOAD SYM, without quotes, as it's an EXDOS command then (only BASIC LOAD - which is a different thing - needs the quotes).
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.28. 13:02:20
But is it possible to cancel the autostart?
Don't insert disk to drive :-)

In the latest EXDOS version (http://enterpriseforever.com/programming/exdos-988/msg41682/#msg41682) I added feature for this.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.28. 13:04:05
It's possible of course (JSep problem), I am just curious to fix the problem with JSep if it turns out as an JSep program. However since you haven't noticed that with ep128emu, I guess it should be ...
Is it possible to remove mouse emulation and add external joystick emulation instead for control port 1? (e.g. with the Num Pad keys 4/6 left/right, 8/2 up/down, 5=fire)
Then it will be exactly like in Ep128Emu, and we can test, if it's a SymbOS or a JSEP bug.
Title: Re: SymbOS
Post by: lgb on 2014.November.28. 13:05:56
Have you done any modification with the http://www.symbos.de/files/SymbOS-EP-Full.dsk recently?

http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024 (http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024)

This always produced the freeze when SymShell is tried to be started within JSep (just _after_ SymShell is loaded and displayed), however now it seems to work without problem. My only guess that you modified the disk image online since then ...
Title: Re: SymbOS
Post by: Prodatron on 2014.November.28. 13:16:48
Have you done any modification with the http://www.symbos.de/files/SymbOS-EP-Full.dsk recently?

http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024 (http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024)

This always produced the freeze when SymShell is tried to be started within JSep (just _after_ SymShell is loaded and displayed), however now it seems to work without problem. My only guess that you modified the disk image online since then ...

Yes, I uploaded a new version this morning, but there are no huge modifications. You can still reproduce the hang if you move the mouse pointer a lot inside the startmenu. Sometimes it happens early, sometimes it takes some time until it hangs... (hard to reproduce...)
Title: Re: SymbOS
Post by: lgb on 2014.November.28. 13:48:08
Is it possible to remove mouse emulation and add external joystick emulation instead for control port 1? (e.g. with the Num Pad keys 4/6 left/right, 8/2 up/down, 5=fire)
Then it will be exactly like in Ep128Emu, and we can test, if it's a SymbOS or a JSEP bug.

Yes, it would be useful for other purposes as well, I guess I'll have some time today to make it, I'll see ...
Title: Re: SymbOS
Post by: Prodatron on 2014.November.28. 14:14:50
I know only 4 HxC EP user. And I think for the future the users will buy the direct SD interface for the EP, because will be more faster and comfortable. All Enterprise software are simple files on a FAT disks, then not need exact emulation of any disk image. And if anyone not have any storage device (just the tape player :-) ), for using HxC also need to find EXDOS card, which is ultra rare...
Ok, that makes sense!
I attached a new version with 4 drive support. It should be possible to add and access drive C and drive D as well.
This version won't hang anymore in Ep128Emu, when there is no disc in drive B.
Couldn't test it on a real machine yet.
Still ToDo: Increase the timout on fast CPUs (error 26) and set the step rate equal to the Exdos variable.
Title: Re: SymbOS
Post by: lgb on 2014.November.28. 20:10:31
JSep with external joy emulation running SymbOS with autostart and 1M of memory:

http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024&mouse=no&autostart=yes (http://ep.lgb.hu/jsep/demo.new/?disk=http://www.symbos.de/files/SymbOS-EP-Full.dsk&mem=1024&mouse=no&autostart=yes)

Notes:

* quick and dirty hack
* mouse=no part of the URL switches the mouse emulation off and enables the external joy emulation
* currently the default is mouse=yes, if it's not given in the URL
* at least with firefox on Linux numeric keypad keys work as the external joy ("5" is fire) if num lock is ON, it can happen that it does not work with other browsers, etc, I'll test that some time later (hopefully it's OK at least with firefox on windows too ...)
* currently, "scanning" external joy 1 and 2 also gives the same result exactly

As usual, there can be problems on every new JSep releases: browsers cache JS files too much so a "forced reload" and/or browser cache clear may help, if it does not work otherwise or gives JS error for example (only one JS is seen as the "old" for example).

If numeric keypad with NumLock turned on does not work for you, please write me the "KEY ^ [40/0/40]" or similar display if you press keys 8,2,4,6,5 on the numeric keypad, unfortunately it seems different browsers use different key codes sometimes (and in theory it can even varies on different OSes .... brrrr shame on platform independence ...)
Title: Re: SymbOS
Post by: lgb on 2014.November.28. 23:05:18
Btw, I noticed that in case of a freeze even the clock on the taskbar stops: I left JSep running while having a cafe and the clock was still the same when I returned after some minutes.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.28. 23:10:40
Thanks a lot for the new joystick mode! I cant test it currently as I am not home. Yes when its hanging the clock stops, too. I really wonder what it could be as it doesnt happen in Ep128emu. Is it possible to trace it somehow or look at different memory area or use breakpoints?
Title: Re: SymbOS
Post by: lgb on 2014.November.28. 23:47:16
Thanks a lot for the new joystick mode! I cant test it currently as I am not home. Yes when its hanging the clock stops, too. I really wonder what it could be as it doesnt happen in Ep128emu. Is it possible to trace it somehow or look at different memory area or use breakpoints?

Not so much :( As I've already told, JSep was not designed for this purpose at all, I always felt ep128emu as "the" emulator, and JSep is only a quick hack for a quick&dirty web based emulation to show EP softwares for others in a quick&easy way. The best would be mouse support inside ep128emu, but it's not my business (I don't know C++ too much - what ep128emu is written in -, plain C would be OK).

Memory content in theory can be examined in JSep, if you are familiar with Javascript :-) You should open the Javascript console (CTRL-ALT-K in firefox, CTRL-ALT-J in chrome). Then you can give javascript statements, so you can examine the variables (even the array which is the memory) or you can even modify it, etc. For example you can type memory and press enter, this is the array of the memory, however it's the full 4Mbyte address space of Enterprise-128 (regardless how much "real" RAM is given to the emulator) including RAMs, ROMs and even unused memory space. In firefox it even causes problem using the console as the array is quite huge, console can "freeze" for quite long time when you type as the browser tries to complete-while-type process meanwhile.

I would be able to create some helper JS functions built-in for easier memory inspection (disassembly would be hard as a disassembler should be implemented ...) but breakpoints would be hard with the current structure of the emulator without some major reconstruction of the full codebase.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.29. 12:29:38
Hangs seem to appear in very rare intervals now, but sometimes they still happen. I still couldn't reproduce such hangs with Ep128emu.
What is the name of the memory array in JSEP? :)
Title: Re: SymbOS
Post by: lgb on 2014.November.29. 13:03:29
Hangs seem to appear in very rare intervals now, but sometimes they still happen. I still couldn't reproduce such hangs with Ep128emu.
What is the name of the memory array in JSEP? :)

As I've told above, it's named as "memory" being the 4Mbyte address space of the Ep128 including all ROMs, RAMs and even not used areas, always 4Mbyte in size, and addresses should be interpreted as the "physical" 22 bit address (thus the 4Mbyte size). Another important array is "port" which is more or less the 256 I/O ports, if it's not need a special care (eg the read/write value is generarted by code on-the-fly and not so much a pre-stored given value). So, for example: "port[0xB0].toString(16)" will gives you port B0's value in hex.

Some important thing to note: do not assume that I think JSep is perfect, and this freeze is SymbOS's fault. In fact, I think JSep is quite ugly in its code, and there are minor problems with it, though I haven't realized freezes yet with other software, it does not mean that it's not JSep's fault :)
Title: Re: SymbOS
Post by: lgb on 2014.November.29. 14:49:44
I don't know if you have some kind of label or map file after compiling SymbOS for EP (files contain addresses for labels) but then after a freeze maybe pressing button Z80 helps to know the EP segment and PC to find out where the execution is being done during the freeze.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.29. 15:07:49
I don't know if you have some kind of label or map file after compiling SymbOS for EP (files contain addresses for labels) but then after a freeze maybe pressing button Z80 helps to know the EP segment and PC to find out where the execution is being done during the freeze.
Yes, it's the idle process, which is still running after the freeze. PC is somewhere around #044x, most registers are 0, only B and HL is changing, as the idle process is doing nothing else than increasing a counter.

One question about the memory array:
If I want to read data from page #f8, I can just use...
memory[0xF8*16384+offset]
...where offset is 0-16383, is this correct?
Title: Re: SymbOS
Post by: lgb on 2014.November.29. 15:19:53
Yes, it's the idle process, which is still running after the freeze. PC is somewhere around #044x, most registers are 0, only B and HL is changing, as the idle process is doing nothing else than increasing a counter.

One question about the memory array:
If I want to read data from page #f8, I can just use...
memory[0xF8*16384+offset]
...where offset is 0-16383, is this correct?

It is, I would use bit shift instead of multiplication and "or" instead of addition but the result is the same, so yes.

Interesting that idle process is still running, does it mean that kernel works somehow just other processes can't get their CPU time by the scheduler for some reason? What I can imagine (but I am not a SymbOS internal expert as you of course!) that a high priority process stucks for some reason (maybe the incomplete WD emulation? in JSep only things are emulated which would just enough EXDOS work, so it can be a problem for softwares doing low level disk access by their own manner), and because it's high priority, no lower priority tasks (including the one which modifies the taskbar clock) gets CPU time. However I don't know if in this case IDLE process would get any CPU time, since it seem it does ...

One problem with the Z80 button in JSep that it's not "instant". JSep emulates processing Nick slots and doing Z80 opcodes and it ties to keep their ratio at a given value (the Z80 clock and nick "slot clock" ratio). After a full frame is processed (vsync, or out-of-sync with an upper limit) the used time is calculated and compared with the emulation time, and the needed JS "sleep" is calculated. What I want to say with this: pressing Z80 button may triggers more a dump at the "sleep" and not at "any time", so its "resolution" to be able to show the internals of the Z80 is somewhat limited (but it's up to the browser where button click event is processed exactly).

The best would be to figure out what triggers the freeze, but it's kinda hard without a decent debugger what JSep lacks :(

Thanks a lot to try to solve the mystery as it would be even useful to find some hidden bug in JSep too, so not exactly a SymbOS related problem it is, I guess.
Title: Re: SymbOS
Post by: Zozosoft on 2014.November.29. 15:22:42
Yes, it's the idle process, which is still running after the freeze. PC is somewhere around #044x, most registers are 0, only B and HL is changing, as the idle process is doing nothing else than increasing a counter.
It is can continously measure the CPU speed?
Title: Re: SymbOS
Post by: lgb on 2014.November.29. 15:37:59
One question about the memory array:

Moreover:

If you are "brave" enough, you can stop the emulation with the stop button, and you can even modify memory and/or Z80 registers with JavaScript console and then you can continue the emulation with the Run button. So in theory you can implement some kind of debugger but you need to do it "by hand" without too much help, nice GUI, etc :-(
Title: Re: SymbOS
Post by: lgb on 2014.November.29. 17:31:58
One question about the memory array:
If I want to read data from page #f8, I can just use...
memory[0xF8*16384+offset]
...where offset is 0-16383, is this correct?

Some hack, I've just implemented two simple JS function, which can be called from eg javascript console:

peek(ofs)
speek(seg,ofs)

Both of them dumps 16 hex bytes from the starting address. The first one doing this with the view point of the CPU, "ofs" must be between 0 - 0xffff of course. The speek dumps from the given segment "seg" (0-0xff) at offset ofs (0-0x3fff).
Hopefully it helps a bit.
Title: Re: SymbOS
Post by: Prodatron on 2014.November.29. 18:05:26
It is can continously measure the CPU speed?
Yes, the idle process is increasing continously a counter. It has the lowest priority, so it only gets CPU time, when no other process is currently working.
Now you can compare the constant 50hz system counter with the counter of the idle process and calculate the free CPU time.

@LGB: Thanks for the new functions, such a hex dump makes some things easier! Yes, the kernel is still working after such a freeze. I guess the Desktop Manager process is hanging. I will add some debug code into SymbOS to find out, what is still alive and what not. Unfortunately this will take a while, as I am currently working on another things.
Title: Re: SymbOS
Post by: lgb on 2014.November.29. 18:33:49
Yes, the idle process is increasing continously a counter. It has the lowest priority, so it only gets CPU time, when no other process is currently working.
Now you can compare the constant 50hz system counter with the counter of the idle process and calculate the free CPU time.

I am not sure if Zozo wants to ask this, but it can be used somehow to monitor the CPU clock as well, eg switching to "turbo EP" mode, SymbOS would be able to notice somehow, that CPU clock is higher, or such. The only problem with this: it won't work if there is no idle time, so idle process has never gets the control.

Quote
@LGB: Thanks for the new functions, such a hex dump makes some things easier! Yes, the kernel is still working after such a freeze. I guess the Desktop Manager process is hanging. I will add some debug code into SymbOS to find out, what is still alive and what not. Unfortunately this will take a while, as I am currently working on another things.

By the way, it would be useful the mentioned (by me) "label file" somehow, which can be feed (well will be, if I develope something like this into JSep, though segment numbers must be also provided ...) to JSep, so you can query a SymbOS data structure (or code) by symbol name ... I don't know ep128emu has this capability or not (but anyway you told, that it does not happen with ep128emu, though something like this can be useful with other software as well than SymbOS), but eg for Commodore 64 emulation I use VICE which has the ability to load a label file and use that for debugging.

Hmm, it's kinda interesting that every time you press Z80 button in JSep you get PC values belongs to the idle process and never for the desktop manager that can help where the execution is? By the way: as far as I can imagine, SymbOS should store all Z80 registers of a given process, since values must be restored when the scheduler gives back the control to that process. By knowing it, isn't it possible to eg peek() ;-) the kernel process structure to get to know what PC has the desktop manager process?

I thought that "desktop manager hangs" means that eg it's in a infinite loop. But it can't be since then IDLE process would never been invoked, since its priority (as far as I can imagine) is lower than the desktop manager. So, just seeing that execution is almost (?) always in the idle process means that no higher priority processes are in "working" state. Am I right? So maybe desktop manager hangs in a way that it waits for a message or such, so the theory above is not right, and maybe desktop manager should be inspected that why it is waiting for a message, what it could be, and so on. Or I only want to be too smart and I am totally wrong ...............

Or maybe desktop manager hangs only because it waits for another process through a message and that is which is "frozen" for some reason?
Title: Re: SymbOS
Post by: Prodatron on 2014.November.29. 19:41:49
Switching the CPU speed after SymbOS has been booted is indeed a problem for the CPU usage measurement. As you said, you need to stop all other tasks and count how many instructions you can do during one VSYNC. Of course this can't be done all the time.

Yes, it seems, that the Desktop Manager process stopped in a way, that it doesn't consume any CPU time. Your new peek functions will make it easier to find the current PC and registers of the process by having a look at the table in the scheduler, where these are stored.

It's possible to export a label list. In WinApe, which I am using for developing, it looks like this (labelname #HEXADR):
Code: [Select]
[...]
fdccmd #AD44
fdcexe #AC87
fdcexe1 #AC9B
fdcexe2 #ACAE
fdcinp #AAF2
fdcinp0 #AAF5
fdcinp1 #AB18
[...]
I couldn't find an import function for it in Ep128emu, but I haven't fully used all the powerful features of its debugger yet. It would be quite helpfull.
Title: Re: SymbOS
Post by: lgb on 2014.November.29. 20:15:07
Switching the CPU speed after SymbOS has been booted is indeed a problem for the CPU usage measurement. As you said, you need to stop all other tasks and count how many instructions you can do during one VSYNC. Of course this can't be done all the time.

I thought it's possible if IDLE task uses all its CPU time once it is running, because you know then it's about 1/50sec to execute and you can measure how many loops are executed in a waiting loop or so. If you know how much CPU cycles needed for one iteration of the loop, you can calculate the CPU clock as well and you can modify the CPU clock dependent things then. But it only works if I am right that IDLE task uses all its 1/50sec, and there is a problem if the system is busy and no IDLE task is scheduled, and CPU clock changes during that period. Also maybe the kernel itself should be modified a bit to examine the number of iterations, as the IDLE task does not know if scheduler gives the execution away. Well, I have the suspect that it does not work this way too much how I can imagine though ;)

Quote
Yes, it seems, that the Desktop Manager process stopped in a way, that it doesn't consume any CPU time. Your new peek functions will make it easier to find the current PC and registers of the process by having a look at the table in the scheduler, where these are stored.

Or maybe the queued messages can be examined as well? I'm not sure what Desktop Manager exactly does, but if it sends messages to other processes and sleeps on waiting the answer, the problem can be that the response message never arrives. But then the problem is not even in the Desktop Manager too much but the process which does not respond, so the problem should be located there. Again, if I am right.

Quote
It's possible to export a label list. In WinApe, which I am using for developing, it looks like this (labelname #HEXADR):
Code: [Select]
[...]
fdccmd #AD44
[...]

I see. I dunno about ep128emu and its abilities to load a label file, but it's not too hard to develop something similar into JSep which can be used by at least in the JavaScript console instead of numeric addresses. However the only problem that in case of EP, I should know the segment addresses as well ...
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.01. 19:15:38
I tested the latest version, and Mouse works good also on 10MHz!

I attached a new version with 4 drive support. It should be possible to add and access drive C and drive D as well.
These setting can be saved for the next time?

I think just needed to extend the Mass Storage menu with a new options: Normal drive, HxC emulated drive.
The current Head 0/Head 1 (I think it is come from CPC) don't needed on Enterprise, can be replaced.
The Double stepping is also not needed, more better if done automaticaly, we talked about it some days ago.

I think there is will be a good place to put the special settings, Step Rate and Turbo Modes.
Title: Re: SymbOS
Post by: edoz on 2014.December.01. 20:56:09
I tested the latest version, and Mouse works good also on 10MHz!
These setting can be saved for the next time?

I think just needed to extend the Mass Storage menu with a new options: Normal drive, HxC emulated drive.
The current Head 0/Head 1 (I think it is come from CPC) don't needed on Enterprise, can be replaced.
The Double stepping is also not needed, more better if done automaticaly, we talked about it some days ago.

I think there is will be a good place to put the special settings, Step Rate and Turbo Modes.

Normally you can save the settings (like the drives) using :

(http://s27.postimg.org/xpz0dcbpv/savesettings.png)

Did you do this ?
Title: Re: SymbOS
Post by: Prodatron on 2014.December.02. 15:26:50
Glad, that the mouse is now also working on faster machines!
These setting can be saved for the next time?
You can backup your SYMBOS.INI (after you saved the config like Edoz mentioned) and copy it to newer disc images.
Ok, I will think about the additional options :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.03. 21:40:57
It is reported by user, who use! See the config. (http://www.bubus.freeweb.hu/szamtech/Sajatgep/Sajatgep01.html) :-)
He is tested the latest 4 drives version, and working!
Title: Re: SymbOS
Post by: Prodatron on 2014.December.03. 23:31:29
Thanks to him for testing it!
Now I am working on the SD card interface support. Gergelys hardware and Zozos software is really great to use!
Title: Re: SymbOS
Post by: edoz on 2014.December.10. 19:23:17
Somehow I have the feeling that something nice happens soon :D :D
Title: Re: SymbOS
Post by: lgb on 2014.December.10. 20:40:16
Somehow I have the feeling that something nice happens soon :D :D

Or bad .. SymbOS is complex enough to understand itself and its own existence and will start a war against the human race. Oh wait, that was Sky(-pe dot-)Net.
Title: Re: SymbOS
Post by: Prodatron on 2014.December.10. 22:50:33
Or bad .. SymbOS is complex enough to understand itself and its own existence and will start a war against the human race. Oh wait, that was Sky(-pe dot-)Net.

LGB, please note that SymbOS is designed to follow Isaacs three laws of robotics (http://en.wikipedia.org/wiki/Three_Laws_of_Robotics), so you don't need to be afraid, that your Enterprise computer will misuse the technological singularity (http://en.wikipedia.org/wiki/Technological_singularity) which it will reach very soon :ds_icon_cheesygrin: :ds_icon_cheesygrin:

But Edoz is right :P Have a look here: SymbOS playing videos from Sd card on the Enterprise!
https://www.youtube.com/watch?v=oW4LTVcP9x8

Today I got the SD card interface working in SymbOS: Gergely and Zozosoft, you made this possible!
So of course the first thing what I tried was to play videos, and that was working quite nice.
The picture on my monitor is still crap, as I didn't receive a SCART cable since one month, but maybe there was something wrong with the shipping address.
And sorry, the Control Panel still shows "IDE" and "Master/Slave" instead of "SD card" and "Slot 0/1". I will fix this + some additional things for making it possible to boot from SD card without the need to have a disc drive anymore.
SymbOS supports EXDOS floppy disc drive access and SD card access at the same time. What doesn't work right now is SD card swapping. Please let me fix these few issues before uploading the next version.

CU,
Prodatron

PS: The picture of my Enterprise is getting worse and worse depending on the runtime of the computer. After 30-45mins it's completely crashing. It's getting quite hot on the upper left side. Hope this isn't a seriouse problem?
Title: Re: SymbOS
Post by: lgb on 2014.December.10. 23:11:51
LGB, please note that SymbOS is designed to follow Isaacs three laws of robotics (http://en.wikipedia.org/wiki/Three_Laws_of_Robotics), so you don't need to be afraid, that your Enterprise computer will misuse

I assumed, however especially "I, robot" and similar Asimov writings is about the chance that there are no perfect laws, and sometimes machines should kill humans to help the greater goal, creation of the law #0 which is about the human race in once and not the rights/freedom of human individuals one-by-one. Thus I'm still worrying :)

But seriously, really nice news about the progress of the EP port! :) However I still miss the events in the "History" part of web site symbos.de :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.10. 23:21:53
PS: The picture of my Enterprise is getting worse and worse depending on the runtime of the computer. After 30-45mins it's completely crashing.
About 25 years ago when I'm used the Enterprise with RF cable :-)
Generally the RF tuners of modern digital TVs are terrible when comparing with old good full analogue CRT TVs.
I think very possible little change in the analogue signal make big change in the poor quality digitized signal.

Need to see it with RGB-SCART. I hope you will receive shortly.

Anyway: it is a variable resistor on the motherboard near to the left side of the RF modulator. Try to adjust it.


Quote
It's getting quite hot on the upper left side. Hope this isn't a seriouse problem?
It is a normal. Two 7805 voltage regulators make the heat.
Title: Re: SymbOS
Post by: Schombi on 2014.December.11. 08:03:49
At least two German EP128 users ordered their RGB-SCART cables from Spain and still wait and wait and wait... :-(
Title: Re: SymbOS
Post by: edoz on 2014.December.11. 08:54:57
At least two German EP128 users ordered their RGB-SCART cables from Spain and still wait and wait and wait... :-(

and one from the Netherlands ;)
Title: Re: SymbOS
Post by: edoz on 2014.December.11. 08:55:45
LGB, please note that SymbOS is designed to follow Isaacs three laws of robotics (http://en.wikipedia.org/wiki/Three_Laws_of_Robotics), so you don't need to be afraid, that your Enterprise computer will misuse the technological singularity (http://en.wikipedia.org/wiki/Technological_singularity) which it will reach very soon :ds_icon_cheesygrin: :ds_icon_cheesygrin:

But Edoz is right :P Have a look here: SymbOS playing videos from Sd card on the Enterprise!
https://www.youtube.com/watch?v=oW4LTVcP9x8

Today I got the SD card interface working in SymbOS: Gergely and Zozosoft, you made this possible!
So of course the first thing what I tried was to play videos, and that was working quite nice.
The picture on my monitor is still crap, as I didn't receive a SCART cable since one month, but maybe there was something wrong with the shipping address.
And sorry, the Control Panel still shows "IDE" and "Master/Slave" instead of "SD card" and "Slot 0/1". I will fix this + some additional things for making it possible to boot from SD card without the need to have a disc drive anymore.
SymbOS supports EXDOS floppy disc drive access and SD card access at the same time. What doesn't work right now is SD card swapping. Please let me fix these few issues before uploading the next version.

CU,
Prodatron

PS: The picture of my Enterprise is getting worse and worse depending on the runtime of the computer. After 30-45mins it's completely crashing. It's getting quite hot on the upper left side. Hope this isn't a seriouse problem?


Very Nice to see it working with the SD controller!!!
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.11. 10:56:37
Have a look here: SymbOS playing videos from Sd card on the Enterprise!
Wow! Amazing!

Can we try it on the 30th birthday party at Saturday? :-)
Title: Re: SymbOS
Post by: Trebmint on 2014.December.11. 12:19:47
You need to ask Edoz how to make video's. The guy that wrote the video studio creation tool doesn't remember how to use it :P
Title: Re: SymbOS
Post by: edoz on 2014.December.11. 15:52:50
You need to ask Edoz how to make video's. The guy that wrote the video studio creation tool doesn't remember how to use it :P


I still have some video project for the MSX but I think I have to reconvert it to 4 colors (CPC) mode
Title: Re: SymbOS
Post by: Prodatron on 2014.December.11. 17:02:29
Wow! Amazing!

Can we try it on the 30th birthday party at Saturday? :-)

Yes, I promise! :)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.12. 22:26:55
I have a short question about drive letters:
- is it usual on 99% of the systems, that drive A-D are always disc drives?
- is it usual, that SDEXT drives are always starting with F? (as E would be always the ram disc?)
- is it possible to detect, which drive letters are existing? (maybe this has already been described somewhere before?)

The reason why I am asking:
- the boot loader should detect the existing drives and preconfigure them in SymbOS, if there is no INI file on the boot drive.
I know that I could also try to detect everything by using the hardware directly, but this would make it much easier during the boot process.

I need to have a nice beta version finished tomorrow for the 30.birthday of the EP :P
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.12. 22:52:32
A-D are the floppy drive, E the RAMDISK, these are fixed in the EXDOS.
Expansions started at F:
The SDEXT detect all partitions, but only FAT12 types reported to the EXDOS (if the EXDOS version lower than 1.6, version 1.6 will be the FAT16 compatible version). These will be the F,G,H,etc

It is can be asked by FISH call:

Code: ZiLOG Z80 Assembler
  1.                 LD DE,EXDOSFD
  2.                 EXOS 26
  3.  
  4. EXDOSFD         DB 6,"EXDOS",0FDH

You got the FISH RAM address in DE, and EXDOS version in B, as BCD number for example 14h=version 1.4

Code: ZiLOG Z80 Assembler
  1. LD IY,(FISHRAM)
  2. LD A,(IY-5Eh) ;EXDOS ROM segment
  3. OUT (0B3H),A
  4. LD A,0FFh ;system segment
  5. OUT (0B2h),A
  6. LD A,20 ;FISH 20
  7. CALL 0C010H ;FISH entry point

Then you got a 26 bit number in DEHL, if the bit=1 the the drive exist. L bit 0=A, L bit 1=B, etc
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.12. 23:00:34
It is will be some problem, if both SD and IDE interface used :oops:
Then first coming the IDE partitions from F to ... and then the SD partitions.
Title: Re: SymbOS
Post by: Prodatron on 2014.December.13. 12:50:01
Thanks for explaining the fishes! :)
Because of all the possibilities regarding drive letters from different devices (IDE, SD) and partitions it seems that I have to add an EXOS-based setup utility for configuring the boot drive, if this is >="F". SymbOS needs to know what and where the boot drive is, so that it can find its INI file there after booting.
Title: Re: SymbOS
Post by: Prodatron on 2014.December.13. 16:09:08
Happy Birthday, Enterprise! :)

Let's start the party: As promised - here is the new version with SD card interface support.
I attached a dump of my first SD card partition (drive F), too. This already includes a SYMBOS.INI file, which configures one floppy disc drive (A) and the first partition of the SD card (F) inserted in the second slot (the upper one for "big" cards). You can start the Control Panel (appcp.exe) anytime to reconfigure your mass storage device settings.
In this setup the system path is "/symbos/" which contains several applications. In the "/graphics/" directory you can click directly onto a graphic file, and SymSee will be started to show it. It's the same for files the "/video/" and the "/document/" folder.

This version supports switchable "mouse-" and "keyboard-" mode for the internal joystick of the Enterprise.
You can switch between both modes by pressing the INS key.

Keyboard mode:
- internal joystick = arrow keys
- hold = F9
- alt + internal joystick = mouse
- alt + space = left mouse key
- stop = right mouse key
- external joystick = mouse, left mouse button

Mouse mode:
- internal joystick = mouse
- hold = left mouse key
- stop = right mouse key

Some words about the SD card support:
- slot 1 is the MicroSD card slot (on the lower side), slot 2 is the standard size SD card slot (on the upper side)
- SD cards can be removed and re-inserted
- you can still access your floppy disc drives; you can use SymbOS for transfering data between the SD card and the floppy
- the actual driver doesn't support "extended partitions". You can only select "primary partitions" (1-4)
- SymbOS supports FAT16 and FAT32 as well. So I recommend to create an additional FAT16/32 primary partition on your SD card, where you can copy all the files for SymbOS, or you use the second SD card slot, which only contains one FAT16/32 partition and is used for SymbOS and file transfer with the PC

The current boot loader tries to search the SYMBOS.INI on the partition 1 (if the actual drive letter = F), 2 (G),3 (H) or 4 (I). It first tries to access the upper SD card (second slot), then it tries to access the lower SD card (first slot). It will not work, if you have partitions on both slots and try to boot from the first one, as then the letters won't be correct anymore, and SymbOS will select the wrong partition. The same is, if you have an IDE device, too.

I hope it works on your machines, too. Please report any problem (or success) :)
Have a nice birthday party!
Title: Re: SymbOS
Post by: Povi on 2014.December.13. 16:41:53
Hi, it works. :-)

Zozo, lgb, geco, Szipucsu and Dr. Prery are here :-)

Symvideo works a little bit strange.
Title: Re: SymbOS
Post by: Povi on 2014.December.13. 16:47:43
Hi, I am LGB from Povi`s HQ. Nice OS. And beer, btw :)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.13. 17:15:39
Cool, you are really celebrating today! :ds_icon_cheesygrin:
Post more pictures :D
What's happening with the video player? Something wrong?
Title: Re: SymbOS
Post by: Povi on 2014.December.13. 17:21:09
It seems, it is not a bug in the video player, but there is something hw bug in the RAM expansion.

Jump here, we wait you :-)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.13. 17:31:27
but there is something hw bug in the RAM expansion.

Jump here, we wait you :-)
Hope you can fix it?
It's a big jump: Budapest is 1200km from here (dutch border) by car unfortunately, but next time I can jump by plane ;)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.13. 22:38:30
but next time I can jump by plane ;)
Enterprise 128K launched at 1985 May 16. (http://enterprise.iko.hu/historical/Promo.pdf)
Then 2015 May 16. (Saturday) will be good for next 30th Birthday party!
Will be international? :-)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.13. 22:59:45
I hope it works on your machines, too. Please report any problem (or success) :)
It is looks running smoothly from SD card, and also when no EXDOS card attached.

Sometimes see something strange, but I think this is my fault :oops: Because Povi don't have currently memory expansion, I bring one MICROTEAM card to the party. This is the originaly stable card but I forgot some chips replaced with the other card when I investigate the strange memory problem. :oops: It is not make a starting-freeze, but at long time running make some errors.
But finally we can view lot of parts of SymbOS. I think the most important question now: when coming some sound? :-)

Ps: I will build a SRAM expansion for Povi, then I hope no more problems on the next party :-)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.13. 23:38:22
- the actual driver doesn't support "extended partitions". You can only select "primary partitions" (1-4)
It is also true for other systems, other storages (IDE/SD/etc)?

My SD and IDE drivers (it is use same base code for interfacing the low level routines to EXDOS) do the following:
Use a recursive partition detector subrutine. Start with LBA 0 sector.
Check the sector are FAT type boot sector? If yes then store in partition list the type (12/16/32), 32 bit LBA start sector, and 32 bit number of sector.
(This check also done on LBA 0, because some SD cards formated without partition table, just a single FAT volume at starting LBA 0)

If not a FAT boot then check it is a partition table?
If yes then check the first entry and if non empty then call the partition detector subrutine again with the start LBA sector from the entry.
If the first entry empty, or when returning from the first entry check, then do same with the 2., 3., 4. entrys.

It is use totaly 16K puffer, when the routine call itself, the buffer pointer moved to next 512 bytes, so the actual sector preserved, and used again when returning from the recursive call.
The limit of the recursion when the 16K puffer full. But it is enought for 32 sectors. Because 21 drives possible from F: to Z: then I think it is more than enought.

At extended partition situation called the detection routine with the start LBA of the extended partition.
At this address it is read another partition table which is contain one or two entrys: one for real partition (called as logical drive in Windows), and if more partition exist then another extended partition entry point the next partition which are started again with next partition table.
If no next entry, or the puffer limit reached then returning from the detection routine.

At final results the routine made a list of all FAT partitions, storing the type, 32 bit LBA start, and 32 bit LBA size.

When the EXDOS ask for expansion drives this list used.
Title: Re: SymbOS
Post by: Povi on 2014.December.13. 23:44:41
The hard core is still here :-) (Geco, lgb and Povi)
Title: Re: SymbOS
Post by: Povi on 2014.December.13. 23:45:51
Prodatron, do you have mobile net, or do you have wi-fi on the Autobahns in Germany? :-)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.14. 00:02:29
Yeah I have internet on my mobile! I am now also celebrating the EP with some beer :P
Title: Re: SymbOS
Post by: lgb on 2014.December.14. 11:06:06
Yeah I have internet on my mobile! I am now also celebrating the EP with some beer :P

Drinking while driving here? Ehhh :)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.14. 15:41:20
But finally we can view lot of parts of SymbOS. I think the most important question now: when coming some sound? :-)
Yes, that's still on the ToDo list :) And what's about an MP3 decoder hardware extension for the Enterprise? :P
Title: Re: SymbOS
Post by: lgb on 2014.December.14. 17:23:08
Yes, that's still on the ToDo list :) And what's about an MP3 decoder hardware extension for the Enterprise? :P

:) What kind of hardware can be used for that? I found come ICs capable of doing simple mp3 (or even wav and vorbis) deconding in hardware for not so expensive, VS1011E-S or VS 1053 B - L (http://www.hestore.hu/files/vs1053.pdf) (the second one seems to support AAC, FLAC, WMA as well ... or even midi??? hmm). But it's a bit problematic because using lower voltage and SPI bus, not parallel one. I always feel that a general SPI bus solution for EP would be nice, and it covers the SD card as well, just there is a solution already for that :), no idea that SPI bus on that can be used somehow for other SPI device as well than SD card ...
Title: Re: SymbOS
Post by: Ep128 on 2014.December.16. 00:01:25
IDE Hard disk support will coming? I'm really wait it!!! :-)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.16. 10:50:46
Mouse mode:
- internal joystick = mouse
- hold = left mouse key
- stop = right mouse key
It works great!

Video playing from SD on 10MHz:
[attach=1]
Full 12 fps and a lot of free CPU time :-)
On 4Mhz about 8-9 fps and 95-98% CPU time used.
What are the results on other systems with the same video (Matrix)?

Does the SD loading work with the faster LDI methods? If it does, then it has been tested now up to 10Mhz :-)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.16. 18:27:48
Full 12 fps and a lot of free CPU time :-)
On 4Mhz about 8-9 fps and 95-98% CPU time used.
What are the results on other systems with the same video (Matrix)?

Does the SD loading work with the faster LDI methods? If it does, then it has been tested now up to 10Mhz :-)
Cool, full 12fps and still time left! :) Did you try playing 2 videos at the same time? In this case you should still get around 7-8fps for each I hope.
It's interesting, that your EP has 8-9fps at 4MHz. My one makes 7-8fps. This is probably because I have 128K only, and so the RAM for the video frame buffer is already placed inside the "slow" last 64KB. On the CPC this Matrix video has 6-7fps. I don't remember how it is on the MSX in 4 colour mode at 3,5MHz, 7MHz or Turbo (R800 = like a 28MHz Z80) Mode, maybe Edoz can find out quickly :)
Yes, it's using the LDI:LDI:LDI:... methode:

Code: [Select]
       ld a,512/64
sdcred2 ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi
        ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi
        ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi
        ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi:ldi
        dec a
        jp nz,sdcred2
Title: Re: SymbOS
Post by: Prodatron on 2014.December.16. 18:38:07
:) What kind of hardware can be used for that? I found come ICs capable of doing simple mp3 (or even wav and vorbis) deconding in hardware for not so expensive, VS1011E-S or VS 1053 B - L (http://www.hestore.hu/files/vs1053.pdf) (the second one seems to support AAC, FLAC, WMA as well ... or even midi??? hmm). But it's a bit problematic because using lower voltage and SPI bus, not parallel one. I always feel that a general SPI bus solution for EP would be nice, and it covers the SD card as well, just there is a solution already for that :), no idea that SPI bus on that can be used somehow for other SPI device as well than SD card ...

My knowledge about hardware is quite limited. On the MSX they use a native MP3 decoder (which is able to handle a few other formats, too, IIRC - looks pretty similiar to yours one) combined with an ARM CPU for the communication and the buffer management. Here is the old thread about it:
http://www.msx.org/forum/msx-talk/hardware/mp3-player-msx-0 (http://www.msx.org/forum/msx-talk/hardware/mp3-player-msx-0)
The cool thing about this is, playing a 128kbit MP3 uses "only" about 25% CPU time. This includes loading data from SD card and sending it to the MP3 card, which is done in 2KB (or 4?) blocks. You have two buffers, one is actually played and one is filled with new data, and the card is switching between both buffers when one is finished.
I have no idea about the SPI stuff tbh...
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.16. 21:18:21
Did you try playing 2 videos at the same time? In this case you should still get around 7-8fps for each I hope.
Playing two Matrix :-)
[attach=1]
Title: Re: SymbOS
Post by: Prodatron on 2014.December.16. 22:04:20
Ooops, I forget that the resolution doesn't allow to play them both in full size :ds_icon_cheesygrin: So still 12 fps! :lol:
Anyway very cool!
Don't know if it's possible, but maybe you could make a video of this in action for YouTube?
Title: Re: SymbOS
Post by: lgb on 2014.December.16. 23:25:29
I may misunderstand something, but if two videos can be displayed at the same time with 12FPS, wouldn't it possible to play a single video at 24FPS?
Title: Re: SymbOS
Post by: Prodatron on 2014.December.16. 23:32:17
I may misunderstand something, but if two videos can be displayed at the same time with 12FPS, wouldn't it possible to play a single video at 24FPS?
No, because the second video was mostly hidden. And this "Matrix 2" video is recorded with 12fps, so that's the maximum.
Title: Re: SymbOS
Post by: lgb on 2014.December.17. 00:09:17
No, because the second video was mostly hidden. And this "Matrix 2" video is recorded with 12fps, so that's the maximum.

Well, OK, of course with "good enough" video :-) Still I am curious what would be the best FPS for a "turbo EP" :) to play a single video (let's say with similar resolution as the example above).
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.17. 00:11:01
And this "Matrix 2" video is recorded with 12fps, so that's the maximum.
But you can make a higher fps versions? For example 20-22-24 fps?
Title: Re: SymbOS
Post by: Prodatron on 2014.December.17. 00:35:14
You can make videos of any resolutions and fps with Trebmints SymStudio! :P Edoz can tell you more about this, soon! He had much fun with SymbOS videos during the last monthes:
https://www.youtube.com/watch?v=-8MOGvumGKI#t=2ms15 (https://www.youtube.com/watch?v=-8MOGvumGKI#t=2ms15)
https://www.youtube.com/watch?v=HaY4zL7WR7k (https://www.youtube.com/watch?v=HaY4zL7WR7k)
TBH I will probably do some new 4 colour videos as well! :)
The FPS is just a parameter when you generate them, like the resolution and the colour depth. But usually you choose realistic values, as skipping part of a file takes additional time.
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.17. 09:59:26
Don't know if it's possible, but maybe you could make a video of this in action for YouTube?
Will try it, but I have never used Youtube for uploading :oops:
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.17. 10:02:44
I have found a way to move SymbOS to MicroSD:
- copy SmybOS to MicroSD and use with adapter in the normal slot.
- in Mass Storage menu modify F: from Slot 2 to Slot 1
- remove card and put to Micro Slot
- Save settings in config panel

Does an easier way exist? :oops:
Title: Re: SymbOS
Post by: Prodatron on 2014.December.17. 12:31:53
Ah I got it. I didn't had in mind, that SymbOS will switch back from slot 1 to slot 2 when loading the "wrong" INI file from slot 1.
I will find a easier solution for this!
Title: Re: SymbOS
Post by: szipucsu on 2014.December.17. 15:05:52
Will try it, but I have never used Youtube for uploading :oops:
After recording the video you can upload it to ftp. Then, I can download it and upload it on the Youtube. Or anyone else can upload it if they want.

(Ha felvetted a videót, felrakhatod FTP-re, én letölthetem onnan és feltehetem a Youtube-ra. Vagy más is feltöltheti, akinek van Youtube csatornája. De akkor kellene az ftp eléréshez a jelszó és felhasználónév, mert az már nem tudom, a régi-e, azt elküldheted privátban, ha felrakod a videót ftp-re. A magyar részt majd töröljük innen.)
Title: Re: SymbOS
Post by: szipucsu on 2014.December.17. 15:39:45
Will try it, but I have never used Youtube for uploading :oops:
Record everything, including the memory test and ENTERPRISE logo and the way of loading SymbOs, it would be very instructive and interesting!
Title: Re: SymbOS
Post by: Prodatron on 2014.December.17. 15:43:38
Yes, I agree! :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.17. 16:55:06
way of loading SymbOs, it would be very instructive and interesting!
It is loading too fast :ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.18. 09:51:50
I tested the latest version. The floppy driver still not working on turbo machines :-(
On 6 Mhz, if the head already on the track 0 then the root directory readed but loading file (=seek head) not working.
On 7.12 and 10 Mhz always error 26. (Exdos original routines can work on any clocks :oops: )

And the SymCommander always start with Drive A:
I tried to remove A: from the system, then it is start with device not exist error, then going to F:
In the system at other points are the A: the default, for example when creating program shorcuts to desktop.
It is possible change the default at everywhere to the boot drive?

The drives how ordered? When I added the B then the order are A-F-B.
Then I try to remove A first and add again, for make F-A-B order (try to solve the default drive problem), but it is also again A-F-B.

Plus one more:
It is possible set the default directory for the programs?
For example \VIDEO for the SymPlay, \GRAPHICS for the SymSee, etc.
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.18. 10:12:16
So, it is now playable as well on the Enterprise!! You can download it here : TETRIS FOR SYMBOS (http://www.muziekpraktijkconanima.nl/msxorg/tetris.dsk)
Found a bug in Tetris: if press Space the actual element stop in the air :oops:
Title: Re: SymbOS
Post by: Trebmint on 2014.December.18. 10:49:06
Found a bug in Tetris: if press Space the actual element stop in the air :oops:
Yes this is for virtually key it seems. Not Edoz's fault, mainly mine as there is functionality missing in Symstudio. Will be a new release soon and I'm sure Edoz will fix, along with more apps. In fact there will probably be a solid release mid january for those that want to try a little bit of symbos app coding.
Title: Re: SymbOS
Post by: Prodatron on 2014.December.18. 14:08:43
I tested the latest version. The floppy driver still not working on turbo machines :-(
Yes, I didn't work on this during the last time, so there is no update. I will probably have some time for this issue during the next days.

And the SymCommander always start with Drive A:
I tried to remove A: from the system, then it is start with device not exist error, then going to F:
You can save the current settings in SymCommander: Menu "Configuration" -> "Save settings". When you start it again it will select the correct drives directly. But I will do a better drive preselection, too.

In the system at other points are the A: the default, for example when creating program shorcuts to desktop.
It is possible change the default at everywhere to the boot drive?
Sorry, I didn't recognize this, thanks for the hint! I will fix this in the control panel. Are there any other points where it just selects A as default?

The drives how ordered? When I added the B then the order are A-F-B.
Then I try to remove A first and add again, for make F-A-B order (try to solve the default drive problem), but it is also again A-F-B.
That's done quite simple at the moment. Internally there are 8 "slots" for the drives. It will always search for the next free slot, if you add a new drive. So if slot0=A, slot1=F, and you remove A, then slot0 is empty, while slot1 still contains F. If you add a new drive now it will use slot0 again. You have to delete drive F too and then add all drives in the order you want. If it's important I can add sorting inside the configuration tool. Then drives will always appear in alphabetical order.

Plus one more:
It is possible set the default directory for the programs?
For example \VIDEO for the SymPlay, \GRAPHICS for the SymSee, etc.
That's a good idea! I am currently working on an advanced handling of desktop icons and startmenu entries (unlimited, +any kind of submenus, etc.), and this is what I will add now!
Title: Re: SymbOS
Post by: Schombi on 2014.December.19. 10:39:55
A numb nut step-by-step guide for installing SymbOS on the SD card and get it running would be very much appreciated.
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.19. 10:52:18
I do it the following way:
From this package (http://ep128.hu/Emu/Ep_ide_files.rar) write the 256Mb VHD to SD Card with Winimage 9.0. It is create lot of empty partitions.
To the first partition root directory extracted this pack from Prodatron. (http://enterpriseforever.com/programming/symbos-106/?action=dlattach;attach=11303)
Done! :-) If you use a normal SD.

I write here (http://enterpriseforever.com/programming/symbos-106/msg43753/#msg43753) how to for Micro SD.
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.19. 12:22:03
But I think will be great a SETUP program for the future versions (like as MSX), which are autodetect drives, can be set the directories and other settings, and it is create a right SYMBOS.INI for the current config.
Title: Re: SymbOS
Post by: Prodatron on 2014.December.19. 14:39:56
@Schombi: Did you already tried it? If you have problems, just write me directly!
@Zozo: Thanks for your support! A setup tool is planned, but it will probably take some time.
Title: Re: SymbOS
Post by: Schombi on 2014.December.19. 15:03:40
Will try Zozo's suggestions. It´s not that easy for an EP128 noob ;-)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.19. 15:21:26
Quickstart :)

After booting the EP you can type...

:DIR
-> shows the directory of the current drive

:X:
-> change to drive X (with the SD card these start with F)

LOAD"filename"
-> starts a program (for SymbOS use LOAD"SYM")
Title: Re: SymbOS
Post by: lgb on 2014.December.19. 15:51:40
:DIR
-> shows the directory of the current drive

:X:
-> change to drive X (with the SD card these start with F)

Even more simple (in my opinion, I mean) to go to the EXDOS command interpreter by typing:

:EXDOS

Then you can use DIR, X: and "almost DOS like commands" without the : then. You can use HELP EXDOS to get the list of available commands (it would also work in IS-BASIC of course with :HELP EXDOS). The only difference maybe the LOAD, which with EXDOS is without the quotes, thus LOAD SYM simply. It would work in IS-BASIC too as :LOAD SYM as you can figure out :) LOAD "SYM" is a different thing (BASIC) and won't work too much as an EXDOS command though!
Title: Re: SymbOS
Post by: Prodatron on 2014.December.20. 22:06:49
Here is another update:

(http://www.symbos.de/gfx/preview/sym-ep-09info.png)

(http://www.symbos.de/gfx/preview/sym-ep-10symshell.png)

It includes:
- SymShell now works in fullscreen mode, too (type FULL to switch between window and fullscreen mode)
- SymCommander fix: Doesn't try to load from a non existing drive anymore
- Control Panel fix: Uses system path always as default when adding new links
- bug fix in "scrolling down" screen low level routine
- SymbOS EP is now included in the info window (appinfo.exe) as well :)
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.20. 22:15:40
- SymbOS EP is now included in the info window (appinfo.exe) as well :)
Great :ds_icon_cheesygrin:

For the SD card, just overwrite in \SYMBOS directory? Can the previous SYMBOS.INI be kept?
Title: Re: SymbOS
Post by: Prodatron on 2014.December.21. 01:13:06
Yes just update the files! :) The INI is always compatible.
Title: Re: SymbOS
Post by: lgb on 2014.December.21. 11:43:30
Wow, great work :) And thanks for mentioning me in the "about window", I wouldn't expect that, but nice to see anyway :) It sill freezes with JSep sometime, but I am quite sure it is somehow JSep's problem, if it does not occur on real EP and neither with ep128emu, hmmm ...
Title: Re: SymbOS
Post by: Povi on 2014.December.21. 13:03:18
Great news!

It would be great if SymShell were a virtual CP/M machine... :-)
Title: Re: SymbOS
Post by: edoz on 2014.December.21. 18:28:49
Here is another update:

(http://www.symbos.de/gfx/preview/sym-ep-09info.png)

(http://www.symbos.de/gfx/preview/sym-ep-10symshell.png)

It includes:
- SymShell now works in fullscreen mode, too (type FULL to switch between window and fullscreen mode)
- SymCommander fix: Doesn't try to load from a non existing drive anymore
- Control Panel fix: Uses system path always as default when adding new links
- bug fix in "scrolling down" screen low level routine
- SymbOS EP is now included in the info window (appinfo.exe) as well :)



WOW !! what a very nice FONT in full screen!!!
Title: Re: SymbOS
Post by: edoz on 2014.December.21. 18:30:05
BDW: it would be cool is someone create a YouTube Movie running SymbOS on a real Enterprise machine !!
Title: Re: SymbOS
Post by: edoz on 2014.December.21. 20:51:21
The new Version works very well!! I tested some SymStudio applications and it is amazing that they run :D

(http://i57.tinypic.com/o0tlip.jpg)

Full screen Command line :D (Nice FONT!)


And some Symstudio (Trebmint) APPS (not finished)

(http://i61.tinypic.com/30nc08j.jpg)

(http://i58.tinypic.com/20af4w0.jpg)

and on the MSX it's like this :D :D :D :D

(http://i60.tinypic.com/2dkyic6.jpg)
Title: Re: SymbOS
Post by: lgb on 2014.December.21. 21:01:14
and on the MSX it's like this :D :D :D :D

Ah, 16 colours? Can be done on EP too, though at about 160 pixel horizontal resolution or only a bit more (maybe 184 pixel can be achieved but it would be overscan on regular TVs) ... Is this a stock MSX/MSX2 (sorry, I am not quite an MSX guy, we can say ...) or with that gfx9000 (if I remember correctly) add-on? Anyway, if gfx9000 is "only" a cartridge for an MSX computer, it can be done for EP128 too :-)
Title: Re: SymbOS
Post by: edoz on 2014.December.21. 21:05:15
Ah, 16 colours? Can be done on EP too, though at about 160 pixel horizontal resolution or only a bit more (maybe 184 pixel can be achieved but it would be overscan on regular TVs) ... Is this a stock MSX/MSX2 (sorry, I am not quite an MSX guy, we can say ...) or with that gfx9000 (if I remember correctly) add-on? Anyway, if gfx9000 is "only" a cartridge for an MSX computer, it can be done for EP128 too :-)

No it is a standard MSX2. Would be cool to have the GFX9000 Card on the Enterprise!! (I'm not a hardware Guru .. but Prodatron told me that the GFX9000 is I/O based...so on the MSX it's just a Cartridge...  Maybe it's cool to have this expansion for the Enterprise! And maybe if it exits on the enterprise we can ask him to create a 256 color version for the GFX9000 :D :D
Title: Re: SymbOS
Post by: lgb on 2014.December.21. 21:31:50
No it is a standard MSX2. Would be cool to have the GFX9000 Card on the Enterprise!! (I'm not a hardware Guru .. but Prodatron told me that the GFX9000 is I/O based...so on the MSX it's just a Cartridge...  Maybe it's cool to have this expansion for the Enterprise! And maybe if it exits on the enterprise we can ask him to create a 256 color version for the GFX9000 :D :D

Well, if it's a cartridge and especially it's only I/O bound stuff, than I guess it would require quite minimal logic to interface for an EP electronically and mechanically. Just I can't see it is quite easy to get a cartridge like this :-(
Title: Re: SymbOS
Post by: edoz on 2014.December.21. 21:43:51
Picture Slider from Trebmint is also working :D How cool that all the apps are working like this :D

(http://i62.tinypic.com/2zznxat.jpg)
Title: Re: SymbOS
Post by: gflorez on 2014.December.21. 23:41:44
I'm not an expert, but the pins of a MSX cartridge seem familiar...:

http://gamesx.com/wiki/doku.php?id=schematics:msxexpansion
Title: Re: SymbOS
Post by: lgb on 2014.December.21. 23:53:10
I'm not an expert, but the pins of a MSX cartridge seem familiar...:

http://gamesx.com/wiki/doku.php?id=schematics:msxexpansion

Not so much a big surprise, as most of the pins are "standard Z80 bus" more or less on EP and MSX too, I guess.
Title: Re: SymbOS
Post by: gflorez on 2014.December.22. 07:36:25
I better would like a hires interlaced screen. I like more what the standard EP can do with the actual tools at hand of everybody. If you add that sofisticated graphics or sound cards you are creating a new explendorous  elitist computer unreachable by the normal user. It will end being another very different thing than an Enterprise.
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.22. 07:44:58
For the first step we will be very happy with full screen without big black stripes at the top and bottom :oops:
Title: Re: SymbOS
Post by: geco on 2014.December.22. 09:07:04
I better would like a hires interlaced screen. I like more what the standard EP can do with the actual tools at hand of everybody. If you add that sofisticated graphics or sound cards you are creating a new explendorous  elitist computer unreachable by the normal user. It will end being another very different thing than an Enterprise.
Totally agree :)
Title: Re: SymbOS
Post by: lgb on 2014.December.22. 09:51:35
I better would like a hires interlaced screen. I like more what the standard EP can do with the actual tools at hand of everybody. If you add that sofisticated graphics or sound cards you are creating a new explendorous  elitist computer unreachable by the normal user. It will end being another very different thing than an Enterprise.

Yes, two different things, but I still prefer even tries things nobody would have it as hw too much, just because it's interesting :) That's all, even if not so practical :)
Title: Re: SymbOS
Post by: gflorez on 2014.December.22. 10:32:46
It is interesting to me too... but SymbOS is a jump to a standard that refuses by definition to be EP related.

What is an Enterprise? A ton of things linked by EXOS. And now, thanks to Prodatron, we have another new aspect of what is an EP but barely linked to its OS.

It could be fantastic to have at least a simple EP128 emulator running on SymbOS to load old games or applications...
Title: Re: SymbOS
Post by: Trebmint on 2014.December.22. 10:45:17
I don't think you'll see any interlace screens or graphics card support in Symbos for a short while, if ever. On the one hand you have a very specific hardware method for the EP like interlacing, which is great but doesn't fit with the other flavours of Symbos that well in that its not needed on the MSX and is unusable on the CPC. Once you rise above 4 colours the Symbos method is a 16 colour fixed palette. Break this you break all the software.
As cool as Symbos is its still somewhat a lowest common denominator piece of software meaning something running on EP has to work also on the CPC, PCW etc.
As for graphics cards using say the GFX9000 then if anyone builds it and I'm sure Prodatron would support it. But again all these things take time, and I think Prodatron now thinks the SymbosEP is mature enough that he can move back to developing Symbos 3.0 for all its recipiant machines.
The thing that bored Prodatron and forced him to stop developing for 6-7 years last time was people asking for drivers for another of the 1000 FDC's that the MSX seems to have. Covering old ground over and over is not fun and we all need to keep growing and developing new areas rather than maintaining what already exists.
3.0 is Something I think will move Symbos to a new level... especially network support.
I guess what I mean overall is that Symbos is its own standard into which CPC, MSX,PCW and EP can all perform. As an CPC fan its easy to get very specific about features the CPC might be able to do that the others can't.... But symbos isn't CPC its Symbos, and thats its own standard and when I think for developing software for it I'm developing for not just my old friends but new friends here and on MSX.ORG etc
Title: Re: SymbOS
Post by: gflorez on 2014.December.22. 11:22:54
In effect, more important is for all the EP users to have plenty of memory, a high capacity storage, a mouse standard and a way to communicate... 
Title: Re: SymbOS
Post by: edoz on 2014.December.22. 12:41:03
I don't think you'll see any interlace screens or graphics card support in Symbos for a short while, if ever. On the one hand you have a very specific hardware method for the EP like interlacing, which is great but doesn't fit with the other flavours of Symbos that well in that its not needed on the MSX and is unusable on the CPC. Once you rise above 4 colours the Symbos method is a 16 colour fixed palette. Break this you break all the software.
As cool as Symbos is its still somewhat a lowest common denominator piece of software meaning something running on EP has to work also on the CPC, PCW etc.
As for graphics cards using say the GFX9000 then if anyone builds it and I'm sure Prodatron would support it. But again all these things take time, and I think Prodatron now thinks the SymbosEP is mature enough that he can move back to developing Symbos 3.0 for all its recipiant machines.
The thing that bored Prodatron and forced him to stop developing for 6-7 years last time was people asking for drivers for another of the 1000 FDC's that the MSX seems to have. Covering old ground over and over is not fun and we all need to keep growing and developing new areas rather than maintaining what already exists.
3.0 is Something I think will move Symbos to a new level... especially network support.
I guess what I mean overall is that Symbos is its own standard into which CPC, MSX,PCW and EP can all perform. As an CPC fan its easy to get very specific about features the CPC might be able to do that the others can't.... But symbos isn't CPC its Symbos, and thats its own standard and when I think for developing software for it I'm developing for not just my old friends but new friends here and on MSX.ORG etc

I think you have a point ;) 3.0 would be cool!!! Maybe we can make the GFX9000 a standard for each platform :D
Title: Re: SymbOS
Post by: Prodatron on 2014.December.22. 12:49:20
My current EP-specific schedule looks like this:

Short term:
* fixing some issues with the floppy disc driver (increase speed, make it working on Turbo machines)
* developing a small EXDOS-based setup tool for installing the proper INI file
* adding other missing things (but it seems to be very complete already, so maybe there is nothing else left)
-> this will be done until the release of SymbOS 3.0, which is hopefully in spring 2015

Long term:
* expand the screen size to the maximum (as Zozo mentioned); I think the screen size should be less than 32K, otherwise it will probably become too slow, so I am not sure, if using interlace would make sense for increasing the resolution
* allow switching between EXOS and SymbOS
* probably adding other EP specific stuff (things like IDE or RTC support etc. ...we will see)
-> this will be done after the release of SymbOS 3.0

Of course the EP version will always include all general new developments and apps for SymbOS!
Title: Re: SymbOS
Post by: Trebmint on 2014.December.22. 12:56:35
The issue of when new hardware starts to take away from what defined the original machine is one that's had on pretty much every retro computer. And the fact is it is a personal judgement so there is no right or wrong. The symbos concept has become "If its Z80 and 128k with a bitmap screen its a possible symbos target"... After that I think Prodatron considers any additional hardware possible as long as these core ideas are kept in place. More memory, more storage, better i/o are all benefits but should never become a neccessity.
Title: Re: SymbOS
Post by: gflorez on 2014.December.22. 14:08:18

* allow switching between EXOS and SymbOS


Is it possible with enough memory? I mean: doesn't SymbOS destroy the EXOS environment when it runs?

Because then I don't want an EP128 emu inside SymbOS....
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.22. 14:27:52
Is it possible with enough memory? I mean: doesn't SymbOS destroy the EXOS environment when it runs?
Yes, it is very easy on more than 128K
But you should use not the FFh segment as video memory. As I know the other memories are allocated on the right way.
Title: Re: SymbOS
Post by: Prodatron on 2014.December.22. 15:06:52
But you should use not the FFh segment as video memory. As I know the other memories are allocated on the right way.
Exactly, but on an 128K machine there is no chance to get 8 pages allocated from EXOS, so in this special case I take #FFh in a fixed way.
The "power" version with enhanced resolution and the possibility to switch between EXOS/SymbOS will allocate ALL memory in the polite way.

Btw, EXOS "Function 24 - Allocate Segment" doesn't seem to support "please allocate a segment inside the video ram area", is this correct?
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.22. 15:14:56
Btw, EXOS "Function 24 - Allocate Segment" doesn't seem to support "please allocate a segment inside the video ram area", is this correct?
Yes. I repeat the allocation util got a video segment then free up the other non needed segment.

For the SymbOS situation I suggest: allocate all available memory, make a list from the segment numbers, then select from the list the video segment(s) and segments for memory banks, and finaly free up the remains.
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.22. 20:44:12
BDW: it would be cool is someone create a YouTube Movie running SymbOS on a real Enterprise machine !!
I tried to make a video, but the camera in VGA mode had very ugly results, Full HD mode has a very big file, ~800MB :-(
Anyway here it is. (http://enterprise.iko.hu/DSCF0198.AVI)

Prodatron if you like it, can you put it to your youtube?

I'm not a movie director, probably someone can make far better :oops:
Title: Re: SymbOS
Post by: edoz on 2014.December.22. 23:39:27
I tried to make a video, but the camera in VGA mode had very ugly results, Full HD mode has a very big file, ~800MB :-(
Anyway here it is. (http://enterprise.iko.hu/DSCF0198.AVI)

Prodatron if you like it, can you put it to your youtube?

I'm not a movie director, probably someone can make far better :oops:

Wow!! nice movie!! Your monitor gives a very good quality!! Which monitor you are using ?
Title: Re: SymbOS
Post by: Prodatron on 2014.December.23. 00:04:51
Fantastic! The quality is really great! Thank you very much, Zozo!! I will upload it to YouTube right now! :)
Is this machine running at 10Mhz?
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.23. 00:16:30
Wow!! nice movie!! Your monitor gives a very good quality!! Which monitor you are using ?
LG M2362D-PZ with SCART cable.
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.23. 00:17:26
Is this machine running at 10Mhz?
Yes. I started with paused startup screen so that you can read the parameters :-)
Title: Re: SymbOS
Post by: geco on 2014.December.23. 09:23:00
Cool video, cool operating system, great to see it on 10 MHz too, and it was great to see on real hardware, and test it with mouse at EP birthday party, even we had some crashes because of inperfect RAM :)
Thank you very much Prodatron for the great stuff :)
Title: Re: SymbOS
Post by: Trebmint on 2014.December.23. 10:23:55
Great Video. The speed is amazing, looks better than 10mhz, as everything just appears so solid. Can't wait to get some symbos games coded and running at this speed. Great work from the EP scene and of course Prodatron.
Title: Re: SymbOS
Post by: gflorez on 2014.December.23. 11:13:10
Eeeeeeeh!  That Microteam and RTC seem to be mine......fixed good by Zozo....
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.23. 11:13:52
That Microteam and RTC seem to be mine......
Yes :ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: Prodatron on 2014.December.23. 12:46:33
Now on Youtube :)

SymbOS running on an Enterprise 128 by Zozosoft (https://www.youtube.com/watch?v=YwgPMNH31XI)
Title: Re: SymbOS
Post by: edoz on 2014.December.23. 18:23:26
Great Video. The speed is amazing, looks better than 10mhz, as everything just appears so solid. Can't wait to get some symbos games coded and running at this speed. Great work from the EP scene and of course Prodatron.

Yes the speed is crazy good! Love this Enterprise machine :D
Title: Re: SymbOS
Post by: edoz on 2014.December.23. 23:44:31
Currently working on the 4 color mode support for the Explorer:

(http://i59.tinypic.com/140f47p.jpg)

So that it looks better on the Enterprise and the CPC
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.24. 08:47:32
Currently working on the 4 color mode support for the Explorer:
Very nice!
Title: Re: SymbOS
Post by: szipucsu on 2014.December.24. 21:53:09
Currently working on the 4 color mode support for the Explorer:
Great!
One little problem is the mistyped "unknown.ztz", the "n" is missing after "k".

I tried to make a video, but the camera in VGA mode had very ugly results, Full HD mode has a very big file, ~800MB :-(
Anyway here it is. (http://enterprise.iko.hu/DSCF0198.AVI)
The video is great, too!
Maybe one problem is the Hungarian language in the ROM test. Foreigners won't understand it. :D
Title: Re: SymbOS
Post by: Prodatron on 2014.December.25. 00:02:46
Merry Xmas to the whole Enterprise scene!! You rock!
Title: Re: SymbOS
Post by: Ep128 on 2014.December.25. 00:27:15
:smt114  :smt059 Merry Xmas! :)
Title: Re: SymbOS
Post by: Bagpuss22 on 2014.December.25. 01:14:22
Merry Christmas..... :smt107
Title: Re: SymbOS
Post by: szipucsu on 2014.December.25. 11:02:15
Merry Christmas to all!
Title: Re: SymbOS
Post by: gflorez on 2014.December.25. 13:29:50
Feliz  Navidad desde España....!
Title: Re: SymbOS
Post by: Zozosoft on 2014.December.25. 19:18:12
Is any Christmas wallpaper for the SymbOS? :-)
Title: Re: SymbOS
Post by: edoz on 2014.December.26. 18:30:22
Great!
One little problem is the mistyped "unknown.ztz", the "n" is missing after "k".



This indeed a Typo. @ this moment I still work with a virtual directory. Because Trebmint is still busy to do the implementation for the file components. I still focus on the look and feel @ the moment. Today I created better 4 color support and the New Folder option. Slowly we will get there !!

(http://i60.tinypic.com/2a0kpoi.jpg)

(http://i59.tinypic.com/mkdbg8.jpg)
Title: Re: SymbOS
Post by: Prodatron on 2014.December.26. 19:02:43
Looks 1:1 like Windows :D
Just recognized that there seem to be a problem with menus in SymStudio. Maybe there is a hidden last line which causes the menu to be too wide?
Title: Re: SymbOS
Post by: edoz on 2014.December.26. 19:41:34
Looks 1:1 like Windows :D
Just recognized that there seem to be a problem with menus in SymStudio. Maybe there is a hidden last line which causes the menu to be too wide?


Thanks ! I try to fix this.

For who cares.. here is a small movie:

Youtube (https://www.youtube.com/watch?v=1L-TWdVl2Ck)
Title: Re: SymbOS
Post by: Ep128 on 2014.December.26. 21:45:39
Wow! :-)
Congratulations! :smt023
Title: Re: SymbOS
Post by: Prodatron on 2014.December.26. 22:05:17
The cool thing about SymStudio is, that SymBasic programs usually don't show any differences to Assembler :)
Title: Re: SymbOS
Post by: szipucsu on 2014.December.27. 13:28:53
Youtube (https://www.youtube.com/watch?v=1L-TWdVl2Ck)
It is incredible, just like Windows!
Dat is heel goed!
Title: Re: SymbOS
Post by: edoz on 2014.December.27. 19:58:53
It is incredible, just like Windows!
Dat is heel goed!


Thank you :D your Dutch seems fine :D
Title: Re: SymbOS
Post by: edoz on 2015.January.01. 00:00:08

HAPPY NEW YEAR! (https://www.youtube.com/watch?v=wwIbGLEEY6k)
Greetings!
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.01. 00:17:06
HAPPY NEW YEAR! (https://www.youtube.com/watch?v=wwIbGLEEY6k)
Greetings!
Great :ds_icon_cheesygrin:

Happy new year!
Title: Re: SymbOS
Post by: lgb on 2015.January.01. 00:45:18
Ok, where is some cross-platform Happy New Year SymbOS application?! :) And of course, Happy New Year to all!
Title: Re: SymbOS
Post by: Bagpuss22 on 2015.January.01. 01:48:35
Happy New Year!!!

May 2015 bring forth more goodies for the Enterprise!

Russ
Title: Re: SymbOS
Post by: lgb on 2015.January.01. 02:59:01
Ok, where is some cross-platform Happy New Year SymbOS application?! :) And of course, Happy New Year to all!

OMG, SymbOS is fast! I did my previous post and now I realize that there was already posted a link with something I had asked! Wow :)
Title: Re: SymbOS
Post by: edoz on 2015.January.01. 10:16:46
Ok, where is some cross-platform Happy New Year SymbOS application?! :) And of course, Happy New Year to all!

You missed the youtube movie ?;)
Title: Re: SymbOS
Post by: lgb on 2015.January.01. 10:30:17
You missed the youtube movie ?;)

Yes, at the time when I posted my message that I missed some new year symbos app :) I found that later so my message sounded somewhat stupid :oops:
Title: Re: SymbOS
Post by: Prodatron on 2015.January.01. 14:47:29
Happy new year! :)
Title: Re: SymbOS
Post by: edoz on 2015.January.02. 10:41:14
I created a small update for Tetris. (I solved some small bugs)

DOWNLOAD LINK TO TETRIS V1.1 (http://members.home.nl/evanzanten/msxorg/tetris.zip)

(http://i62.tinypic.com/1fh4y0.jpg)

(http://i57.tinypic.com/2447gqw.jpg)

(http://i62.tinypic.com/wtizx2.jpg)
Title: Re: SymbOS
Post by: Ep128 on 2015.January.15. 23:46:04
We this silence...? :-)
Title: Re: SymbOS
Post by: Trebmint on 2015.January.16. 18:59:27
We this silence...? :-)
There's a MSX meeting in Nijmegan next weekend that symbos will be shown at... could be quite interesting for symbos news :)
Title: Re: SymbOS
Post by: lgb on 2015.January.16. 20:28:32
Btw, on symbos.de site, it's still not mentioned that Enterprise is also a SymbOS platform now :) Facts -> supported platforms.
Title: Re: SymbOS
Post by: edoz on 2015.January.16. 21:05:09
We this silence...? :-)

actually, we are very Busy with SymbOS @ the moment ;) Indeed for Nijmegen (MSX Fair) where we will show all the Systems including Enterprise.
Plan is to show the 3.0 preview. :D

Other thing I'm working on is Columns for SymbOS. (I don't know if the original Sega game was ever released on the Enterprise ? on the image below there is a small preview.. lol)

(http://i59.tinypic.com/rii0z5.jpg%5b)
Title: Re: SymbOS
Post by: lgb on 2015.January.16. 22:42:22
I am curious if there is some SymbOS specific forum/blog/site/etc to get know more, news, whatever :) Since EnterpriseForever is not only about SymbOS of course, but personally I would love to read about SymbOS (in general too, not just EP related) more.
Title: Re: SymbOS
Post by: Trebmint on 2015.January.17. 00:26:31
Lots going on with Symbos this year. Including a new website, with I guess a forum. At Nijmegan there should be the first showing of 3.0, some new apps and my vast upgrade of symstudio IDE... which is now called Unify.
(http://www.catanddoggifts.co.uk/image/sorp/Unify-alpha.png)
2015 will hopefully be a big year with 3.0 and networking coming too. After this we have ideas which will go even further
Title: Re: SymbOS
Post by: lgb on 2015.January.17. 11:57:28
Networking sounds fun, but first some kind of hardware should be seen which supports that :) Or is there already a solution on CPC/MSX/whatever platforms for this purpose?
Title: Re: SymbOS
Post by: edoz on 2015.January.17. 13:55:54
Networking sounds fun, but first some kind of hardware should be seen which supports that :) Or is there already a solution on CPC/MSX/whatever platforms for this purpose?

On the MSX we have the DenyoNet network adapter.

LINK TO IMAGES (http://msx.altervista.org/denyonet/)
Title: Re: SymbOS
Post by: edoz on 2015.January.17. 14:06:17
Here are some screenshots about my new project. I hope to release it soon.


(http://i59.tinypic.com/28lrwgj.jpg)

(http://i61.tinypic.com/1zn6iap.jpg)

(http://i58.tinypic.com/rhkivr.jpg)

(http://i59.tinypic.com/m9tw7m.jpg)
Title: Re: SymbOS
Post by: Ep128 on 2015.January.17. 23:35:56
Nice! :-) I'm waiting...
Title: Re: SymbOS
Post by: Prodatron on 2015.January.18. 01:22:41
What great screenshots! :P
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.25. 18:51:57
There's a MSX meeting in Nijmegan next weekend that symbos will be shown at... could be quite interesting for symbos news :)
Is any news? :-)
Title: Re: SymbOS
Post by: Prodatron on 2015.January.25. 21:17:30
It was fantastic to see Edos Enterprise modified by Zozo running the first time with enough memory and CPU speed :D Unbelieveable!
I will post pictures during the next hours! :P
Title: Re: SymbOS
Post by: lgb on 2015.January.26. 02:00:33
It was fantastic to see Edos Enterprise modified by Zozo running the first time with enough memory and CPU speed :D Unbelieveable!
I will post pictures during the next hours! :P

... waiting ... :)
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.26. 09:20:58
... waiting ... :)
I'm also... :-)
Title: Re: SymbOS
Post by: Prodatron on 2015.January.26. 11:10:32
Here is a first picture :ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.26. 11:50:31
Here is a first picture :ds_icon_cheesygrin:
Where is the joystick cap? :oops:
Title: Re: SymbOS
Post by: lgb on 2015.January.26. 14:15:06
Where is the joystick cap? :oops:

It will be a built-in feature of SymbOS 3 :)
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.26. 14:17:52
It will be a built-in feature of SymbOS 3 :)
:ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: Prodatron on 2015.January.26. 14:20:50
I made a video of our SymbOS booth, where it was running on all 4 platforms at the same time :)

https://www.youtube.com/watch?v=TEgGmVQjMM0 (https://www.youtube.com/watch?v=TEgGmVQjMM0)

@Zozo: Did you send the cap to Edoz? Btw he bought something for you on the fair :P
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.26. 14:46:13
I made a video of our SymbOS booth, where it was running on all 4 platforms at the same time :)
Great!
And who are the peoples in the video? :-)

Quote
@Zozo: Did you send the cap to Edoz?
Yes! It is packaged to same bag with the machine. I hope he is don't drop out with the packaging!
Title: Re: SymbOS
Post by: Prodatron on 2015.January.26. 15:02:59
And who are the peoples in the video? :-)
You can see EdoZ at 2:02 and 2:12 :ds_icon_cheesygrin:
The guy who is waving at 0:30 is NYYRIKKI, an MSX legend from Finland.
I think everyone on the fair was seeing an Enterprise for the first time in reality :)
Title: Re: SymbOS
Post by: BruceTanner on 2015.January.26. 16:15:19
The Enterprise is the best looking machine there even without the joystick cap! :smt007
Title: Re: SymbOS
Post by: geco on 2015.January.26. 16:54:15
The Enterprise is the best looking machine there even without the joystick cap! :smt007
Totally agree :), and not only there :D
Title: Re: SymbOS
Post by: gflorez on 2015.January.26. 18:40:13
And the fastest at 10Mhz(I understood it is Zozo's supercharged EP...). The screen is flashing rapidly during all the video.
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.26. 18:54:30
And the fastest at 10Mhz
It is just :-) 7.12MHz, with regular 320KB memory.

Now working on Prodatron machines, he want a 4/6/7.12/10MHz, with Saint's 1MB expansion :-)
Title: Re: SymbOS
Post by: gflorez on 2015.January.26. 22:31:47
He should need  a mouse too....
Title: Re: SymbOS
Post by: Prodatron on 2015.January.26. 23:35:04
It is just :-) 7.12MHz, with regular 320KB memory.

Now working on Prodatron machines, he want a 4/6/7.12/10MHz, with Saint's 1MB expansion :-)
Wow, even with 7,12MHz it felt unbelieveable fast: It could even play the videos in 2 colour mode (640x200) at nearly full speed (11fps instead of 12), while it was converting all frames from 4 to 2 colours in realtime!

I am looking forward to my tuned up EPs a lot!! :P :P
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.27. 09:14:35
He should need  a mouse too....
Now I have a MSX with a mouse. (http://enterpriseforever.com/other-topics/msx-computers/msg44557/#msg44557)

Then I will build a modified Boxsoft converter for the MSX mouse, for a quick solution. I think Prodatron and Edoz already have a MSX mouse :-) You are interested in this solution?
Title: Re: SymbOS
Post by: lgb on 2015.January.27. 09:59:35
Now I have a MSX with a mouse. (http://enterpriseforever.com/other-topics/msx-computers/msg44557/#msg44557)

Then I will build a modified Boxsoft converter for the MSX mouse, for a quick solution. I think Prodatron and Edoz already have a MSX mouse :-) You are interested in this solution?

Aaaaaaaaaaaaaa I want an MSX toooooooooooooooooooooooooooooooooooooooooooooooooooooooooo :)
Title: Re: SymbOS
Post by: Prodatron on 2015.January.27. 10:08:10
Congratulation, beside the TurboR the NMS8280 is the best MSX I think! :) And soon you will have it running at 7Mhz, too :P

I am very interested in a Boxsoft mouse converter! That would be fantastic!
Title: Re: SymbOS
Post by: gflorez on 2015.January.27. 10:20:36
Nice machine....

At the end I bought that black Mitsubishi MSX mouse but the Spanish Post has lost it at the delivery.... I'm still waiting. I want to compare it with the Neos mouse. They have two jumpers inside and I want to know what they do.

---------------------
Quote from Zozo: :-) You are interested in this solution?


No thanks. I can build another Boxsoft interface for my spare EP... Not in a hurry...I'm only curious about connectivity...

Still poking NYYRIKKI's Arduino adapter.
Title: Re: SymbOS
Post by: Zozosoft on 2015.January.27. 10:27:24
No thanks. I can build another Boxsoft interface for my spare EP... Not in a hurry...I'm only curious about connectivity...
I asked Edoz and Prodatron, for a quick solution until a new modern solution finished.
Title: Re: SymbOS
Post by: gflorez on 2015.January.27. 10:41:50
Ah, ok.:oops: 

But I still don't know if only changing the pins will do the trick... just that was the test I wanted to do. I'm late because of not receiving that MSX mouse.

Now, can you adapt and test the Neos on your wonderful MSX equipment to remove my doubts, please?
Title: Re: SymbOS
Post by: edoz on 2015.January.27. 21:31:29
The Enterprise is the best looking machine there even without the joystick cap! :smt007

hahaha .. today I was able to find it between the package!! Very cool! It was almost gone into the bin ;) Thanks Zozo!!

(http://i61.tinypic.com/2aflnyc.jpg)
Title: Re: SymbOS
Post by: Ep128 on 2015.February.26. 22:57:55
When we may wait for some novelty...? :-)
Title: Re: SymbOS
Post by: edoz on 2015.March.05. 12:38:19
When we may wait for some novelty...? :-)

We are still active with development :D But it takes some time :D :D
Title: Re: SymbOS
Post by: Tuby128 on 2015.March.05. 21:14:46
Dear Mr. Edoz,

 Can you please write more about the topic "what is your lately developed program part"?
 We are interesting every details, and if you would be so kind, to take the keyboard, and make a summary, than we would be very grateful.
 Some Hungarian forum member makes here a "record" at times, mostly during the developement, thus others can take part of the developement itself, and it makes us happier, and is good for our souls. With other words, most of us curious for new stuffs.
 So if you able to share some thoughts, please do it!
Thank you!
Title: Re: SymbOS
Post by: edoz on 2015.March.05. 22:30:14
Dear Mr. Edoz,

 Can you please write more about the topic "what is your lately developed program part"?
 We are interesting every details, and if you would be so kind, to take the keyboard, and make a summary, than we would be very grateful.
 Some Hungarian forum member makes here a "record" at times, mostly during the developement, thus others can take part of the developement itself, and it makes us happier, and is good for our souls. With other words, most of us curious for new stuffs.
 So if you able to share some thoughts, please do it!
Thank you!

Ok .. sorry ..  ;)

There are some Unify projects i work on:

- explore.exe file manager. Currently I'm busy to do selection and de-selection of files. Almost all visuals are in. But the file handling itself needs to be done still.
  But it is already possible to start programs.
- Sega columns game. The design of the blocks are done and they move down and i can move the blocks in the field. Next step is to detect rows of blocks.
  So this game is already almost done but the difficult part (removing the blocks) is still on my list :D
- testing work for Unify. Unify is developed by Trebmint and i test new functionality for him. Unify is still in beta but Trebmint did a lot already!
   It would be cool when Unify is ready for the public so everyone can create applications for SymbOS. It is a very nice Project!!!
- testing work for SymbOS 3.0. I test new functionality which is developed by Prodatron. (Advanced desktop etc.)
- Making documentation. Currently i work on a User/Installation manual for SymbOS 3.0 so we have some helpful documentation.

Title: Re: SymbOS
Post by: Prodatron on 2015.March.05. 23:18:17
Hi guys, sorry for beeing silent for such a long time!
Currently there is multiple WIP stuff in SymbOS:
- new extended desktop; this allows a more Win98 like handling of the icons, which number isn't limited any more + active desktop widgets + an advanced startmenu, which doesn't have limits regarding menus and submenus
- improved SymShell; I had to add some new features like better path handling, multiple file operations (like "COPY a:\subdir\*.exe b:\backup\*.bak", "MOVE *.* \", "REN great.* nagy.*" etc.) and such things
- network support; on the CPC there is a new RS232-based Ethernet->Wifi-bridge hardware and on the MSX we have the Wiznet W5100 ethernet chip; I hope we can use the Ethernet->Wifi-bridge, which is RS232 based, for the EP, too; it would be really cool, if SymbOS 3.0 support network for all three platforms!

@Zozo: Sorry for loosing your mail, I will write you tomorrow!!
Title: Re: SymbOS
Post by: Ep128 on 2015.March.05. 23:44:40
I am glad that this much prepare on all of them!: -) We wait for it very much already! :-) (I hope so, HDD treatment solved will be later then, there is hard disk drive for me Ep. my machine... :-) )
Title: Re: SymbOS
Post by: Trebmint on 2015.March.06. 13:07:00
Yes there is quite a bit going on behind the scenes at symbos towers. Prodatron, Edoz and I probably talk everyday, and everyday we come up with something new and cool which would push symbos forward. If it all happens only time will tell, but 3.0 looks to be special already
Title: Re: SymbOS
Post by: Povi on 2015.March.06. 13:32:05
Great news!
Thanks :-)
Title: Re: SymbOS
Post by: lgb on 2015.March.06. 14:18:18
Maybe drop the version number 3.0 then and use 4.0 ... or 10.0 :) for the next release. It seems to be a common method nowdays to switch to a rapidly increasing version numbering system for many software even skipping some version numbers ... Oh my, where is windows 9 for example? :)
Title: Re: SymbOS
Post by: Prodatron on 2015.March.23. 20:49:27
SymShell 2.0beta is now available for download:
http://www.symbos.de/preview.htm

Here is the current changelog of SymShell 2.0beta:
- TAB auto-complete: while typing in the command line use the tab key in the way you know it from modern shells; this also works with more complex path statements and for the command parameters
- "search path" functionality for starting COM-files: if a COM file can't be found in the current directory/device, SymShell will try to start it from the SymbOS system directory; as an example you can copy AHEAD.COM into the system directory (e.g. C:\SYMBOS\ ), and can always start it even if you are on a floppy disc, which only contains the files you want to edit
- HELP command updated (full list, %P switch for pause) and enhanced with detailed information for each command by typing HELP <commandname>. The "appshell.man" file has to be placed in the same directory like "appshell.exe".
- new commands: DATE, TIME; these behave like the MS-DOS versions
- new command: ATTRIB for displaying and changing file attributes
- wildcard support for COPY, REN, MOVE, TYPE, ATTRIB; all these can process multiple files now
- %H (process hidden files) and %S (process system files) flags for DIR, COPY, REN, MOVE, TYPE, ATTRIB
- proper path handling for all commands; source (and destination) can be a full absolute or relative path; pathes, which end with an directory instead of a file(mask) always have a "/" (or "\") at the end, otherwise it will be handled like a file (this should be autodetected in the future)
- COPY command supports an increased copy buffer and is able to copy multiple source files into one single destination file, if specified

There is currently one known bug: The TYPE command may hang in special situations, when the shell is running in Window mode. It can be reproduced and will be fixed for the final 2.0.
Because of the platform-specific fullscreen-mode-code there are now individual versions for each platform available to decrease the size of the application. The PCW version is currently not available.
The included AHEAD.COM requires SymShell 2.0 and won't run properly with older versions.

TBH I couldn't test it on a real EP yet, I hope it's working?! :roll:
Title: Re: SymbOS
Post by: lgb on 2015.March.23. 21:01:49
Great! SymShell now is more like shell bash on Linux/UNIX with similar auto-completing feature :) But hey, still no "Enterprise" on the "facts" page at "platforms" on symbos.de :) Also a question: DenYoNet is planned to be supported network hardware on MSX by SymbOS, if I understood well, and it's wiznet 5100 based solution. So you know how it is differ from wiznet 5300? I know maybe 5300 supports more "hardware sockets" (8 vs 4, if I remember correctly), but I don't know about other differences. I just ask this because a friend of mine living in the UK was mad enough to give me a little gift, a WIZ830MJ module (http://www.wiznet.co.kr/sub_modules/en/product/Product_Detail.asp?cate1=5&cate2=42&cate3=0&pid=1028), it's a little PCB with "magjack" Rj45 connector and needed other components with through-hole connectivity. But it's based on the wiznet 5300 chip, not 5100. It seems to be not hard to be connected to a machine (like Enterprise) as it supports 8 and 16 bit buses as well, and so on (maybe 5V vs 3.3V issue can be a problem, but inputs at least are 5V tolerant,  I hope so at least). Anyway :) I just wanted to ask how hard is to support 5300 too at some time ...
Title: Re: SymbOS
Post by: gflorez on 2015.March.23. 22:38:34
3.3v is not a problem with this dc-dc regulator (http://www.newark.com/tracopower/tsr-1-2433/converter-dc-to-dc-3-3v-1a-sip/dp/86P6889?categoryId=800000005771).

It accepts from 36v to 4.75v input, so it can work perfectly with 9v without heat dissipation, not as the 780x used on the Enterprise.

I have replaced successfully the 7805 of some devices from the 80-90s era with the same chip but output at 5v.
Title: Re: SymbOS
Post by: lgb on 2015.March.23. 22:52:47
I didn't mean about the power supply but the align of logic voltage levels between the module (3.3V) and the EP (5V). As far as I remember, inputs are 5V tolerant on the wiznet chip and its outputs can be enough (?) to reliable represent the high TTL logical level too, but of course I am not sure ...
Title: Re: SymbOS
Post by: Prodatron on 2015.March.23. 23:18:09
Hi LGB, yes, network is also in progress now! :)
Since last week I am working on the network support for SymbOS. The first version is based on the Wiznet W5100 ethernet controller, which is used in the DenYoNet card for the MSX (as well as in the Spectranet hardware). There is a W5100 project for the CPC, too, but I can also imagine the ESP8266 for the EP very soon! Here is a first screenshot...

[attach=1]

...showing the test utility, which is loading the WWW.MSX.FI homepage.
The driver is designed in a way, that it's very easy to exchange the used hardware by dividing the code into three layers. The low level code is for accessing the W5100 hardware directly, which is different between the MSX and other implementations. The mid level is for working with the hardware, which is the same for all systems using the W5100. Other hardware like the ESP8266 Wlan module, which can be connected to the Enterprise 128, are realisable with just another midlevel code. The high level is for managing the connections and communication with the processes, which want to do networking.

All TCP routines seem to work now, now it's time for UDP to make DNS and DHCP possible.

The network driver is running as a "Daemon", which is an own background process in the multitasking environment. Applications can send messages to it, like asking for opening a new connection, sending data to an already opened connection etc. They will also receive messages from the network daemon, if there is new incoming data or if the status of a connection changed etc. This makes it possible to run multiple applications at the same time, which all can have open connections.

The new network driver takes care about compatibility to Dr.Zeds NetD driver from 2007, which was developed for the SYMBiface 3 expansion card.

[attach=2]

That makes it easy to adapt applications like SymTEL and Dr.Zeds' GUI-based SymFTP ftp client.

Regarding the W5300, wow, that sounds very cool! I didn't read about if before. Because of the layer structure inside the driver it should be very easy to support it, too!
Title: Re: SymbOS
Post by: lgb on 2015.March.23. 23:44:33
Thanks for the information! Though I am not sure I can understand: afaik 5100 (5300 at least ...) has hardware level of tcp/ip implementation with an embedded MCU for real, or such. Thus you don't need to implement low level stuffs like with an ENC28J60 (ethernet frame, IP packet, fragmentation, windows, etc etc) but virtually you need only to tell to open tcp or udp connection to a given IP and the "hardware" (the MCU for real) will do it, also maintaining the tcp handshaking, and the connection, etc etc. I am not sure about that ESP stuff (which is wifi based if I remember correctly), it's something which can be used through an serial connection or so. There was an article on "hack a day" that you can even reprogram its MCU, but not so much interesting I think.

Quote
The network driver is running as a "Daemon", which is an own background process in the multitasking environment. Applications can send messages to it, like asking for opening a new connection

This seems to logical, as SymbOS is a message passing micro-kernel like architecture OS (as far as I can understand), I would expect something like this :) Not because I need to teach you about SymbOS internals, it would be ridiculous :) :) I am also curious that is something like "VNC access" for SymbOS is ever planned (so eg from a PC you can "remote control" a SymbOS desktop). AFAIK, Contiki OS supports things like this (on some platforms this is the only solution as there is no video hw, just the network, btw). And the opposite direction can be funny to: eg use a windows or such from SymbOS as 'remote desktop' (though I am not sure about the rdesktop protocol itself, vnc seems to be more simple).

Quote
Regarding the W5300, wow, that sounds very cool! I didn't read about if before. Because of the layer structure inside the driver it should be very easy to support it, too!

Maybe it's even backward compatible with W5100, so no (or minimal) modifications needed only, but of course it would not use the additional power of the 5300 for example 128K of rx/tx buffer space instead of 16 (?). The module I own now is quite nice (I would not solder something like that 5300 or 5100 chip myself ...) it costs about 20EUR at mouser. And the best, that it seems to be Z80 bus friendly (for me, at the first sight) not so much interfacing is needed for the EP too much (but the logic voltage level what I am not sure about).

Now I am only thinking that SymbOS3 will require more memory even without network support loaded (? or there will be different builds for network support). As we know now, 128K is a bare minimum for just the OS, but SymbOS 3 seems to have many new things and not only the network support, I guess ...

If you're interested, a comparsion page (http://www.wiznet.co.kr/sub_modules/en/product/Product_Line.asp?cate1=5&cate2=7) about wiznet chips and modules using them.
Title: Re: SymbOS
Post by: gflorez on 2015.March.24. 00:17:08
Ok sorry by the mistake. On a Spanish web (http://www.sistemasorp.es/2014/10/07/probando-el-modulo-wifi-esp8266/) they talk about 3.3v Zenner diodes to convert the voltage of the serial signals of an Arduino connected to a ESP8266 Wlan module.
Title: Re: SymbOS
Post by: BruceTanner on 2015.March.24. 02:01:59
lgb hold on to your wiz830mj I have just started working on an Enterprise network interface using one of these. I'm not sure of all the differences between the 5100 and 5300 but I think they are basically the same but with more RAM on the 5300. The 5100 should do the job fine for the Z80 but as they are the same price might as well use the better part which is also more readily available (here in the uk anyway). Don't hold your breath though, it will not be instant and I've only just seriously started looking into it. :)
Title: Re: SymbOS
Post by: edoz on 2015.March.24. 09:48:18
Congratulations!!!!!!!!!!!!!!!!!!!!!!!!!! Amazing work !!!!!!!!!!!!!!!!
Title: Re: SymbOS
Post by: Zozosoft on 2015.March.24. 10:30:09
It is very amazing!
Title: Re: SymbOS
Post by: Prodatron on 2015.March.24. 10:54:41
Thanks for the information! Though I am not sure I can understand: afaik 5100 (5300 at least ...) has hardware level of tcp/ip implementation with an embedded MCU for real, or such. Thus you don't need to implement low level stuffs like with an ENC28J60 (ethernet frame, IP packet, fragmentation, windows, etc etc) but virtually you need only to tell to open tcp or udp connection to a given IP and the "hardware" (the MCU for real) will do it, also maintaining the tcp handshaking, and the connection, etc etc. I am not sure about that ESP stuff (which is wifi based if I remember correctly), it's something which can be used through an serial connection or so. There was an article on "hack a day" that you can even reprogram its MCU, but not so much interesting I think.
Yes, the W5x00 does all the stuff including the TCP/UDP layer. Basically you have functions like "open connection", "receive data", "send data", "check status" and "disconnect/close connection" for TCP, UDP, but also for lower layers. So most work is just interfacing with the W5100, but also implementing DNS lookup (and DHCP). The ESP even does DNS by itself.

Regarding VNC, some remote control could probably be implemented, it would be a funny project for sure :D

Maybe it's even backward compatible with W5100, so no (or minimal) modifications needed only, but of course it would not use the additional power of the 5300 for example 128K of rx/tx buffer space instead of 16 (?). The module I own now is quite nice (I would not solder something like that 5300 or 5100 chip myself ...) it costs about 20EUR at mouser. And the best, that it seems to be Z80 bus friendly (for me, at the first sight) not so much interfacing is needed for the EP too much (but the logic voltage level what I am not sure about).
I had a quick look at the datasheet, and yes, it's very similiar. What I like is the higher number of sockets (8 instead of 4), as 4 could be a little bit limited if you exhaust it to the maximum ;) With the 5100 you have 2KB buffer for incoming (RX) and 2KB for outgoing (TX) data for each socket. This seems to be ok for an 8bit system. The 5300 has 16K RX and 16K TX buffer for each socket, which is probably the maximum what makes sense for the Z80.

Now I am only thinking that SymbOS3 will require more memory even without network support loaded (? or there will be different builds for network support). As we know now, 128K is a bare minimum for just the OS, but SymbOS 3 seems to have many new things and not only the network support, I guess ...
The base version of SymbOS 3.0 will require a little bit more ram again, but it will still run on 128K, and you will still have the possibility to start 1-3 small apps. Most of the new "big" features are now located in additional modules, which can be loaded optional. This is stuff like the network service as well as the enhanced desktop with its more Win98 like behaviour and the extended startmenu.

CU,
Prodatron
Title: Re: SymbOS
Post by: lgb on 2015.March.24. 11:10:40
Quote
I had a quick look at the datasheet, and yes, it's very similiar. What I like is the higher number of sockets (8 instead of 4), as 4 could be a little bit limited if you exhaust it to the maximum ;) With the 5100 you have 2KB buffer for incoming (RX) and 2KB for outgoing (TX) data for each socket. This seems to be ok for an 8bit system. The 5300 has 16K RX and 16K TX buffer for each socket, which is probably the maximum what makes sense for the Z80.

Well, I have no problem with 5100 that it's small or so :) Just the fact that it was easier to get that module with 5300, that's all :)
Title: Re: SymbOS
Post by: lgb on 2015.March.24. 11:49:28
I've opened a new topic for wiznet 5100/5300 if someone is interested ...
Title: Re: SymbOS
Post by: Prodatron on 2015.March.24. 12:30:42
lgb hold on to your wiz830mj I have just started working on an Enterprise network interface using one of these. I'm not sure of all the differences between the 5100 and 5300 but I think they are basically the same but with more RAM on the 5300. The 5100 should do the job fine for the Z80 but as they are the same price might as well use the better part which is also more readily available (here in the uk anyway). Don't hold your breath though, it will not be instant and I've only just seriously started looking into it. :)
Bruce, maybe you can tell a little bit about it here (http://enterpriseforever.com/hardware/wiznet-51005300-etc-and-enterprise/msg45617/#msg45617)? :P
Title: Re: SymbOS
Post by: edoz on 2015.March.27. 17:14:49
Thanks Prodatron !! Amazing !! My MSX did a network task for the first time with SymbOS!

(http://i57.tinypic.com/wtt3kn.png)


Crazy !!

:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Title: Re: SymbOS
Post by: lgb on 2015.March.27. 18:25:39
Aha, DNS lookup works, nice :) [I guess the hex value is the DNS server as it means 192.168.1.1 common to be the router/default gw on home networks] Next round, playing streaming video :)

Btw, will SymbOS support accessing network resources (like http URL or ftp) as a "normal" file? It is a nice feature, as any existing application is capable of work with network (well, of course random and sequental access - seek etc - can be problematic, so it's not so trivial, but I guess it's not so hard then to play video from the net, if the video player app reads file without seeks).
Title: Re: SymbOS
Post by: edoz on 2015.March.29. 17:32:53
Wow ! I post the images from MSX.ORG on here // Amazing results on Telnet Prodatron!! \\

(http://www.symbos.de/gfx/preview/network-02telnet.jpg)

(http://www.symbos.de/gfx/preview/network-03telnet-s.gif)

(http://www.symbos.de/gfx/preview/network-04telnet-s.gif)

(http://www.symbos.de/gfx/preview/network-05telnet-s.gif)

https://www.youtube.com/watch?v=wlLvb5KrHDM (https://www.youtube.com/watch?v=wlLvb5KrHDM)


Very very impressive !!
Title: Re: SymbOS
Post by: geco on 2015.March.29. 17:39:55
looks great :)
Title: Re: SymbOS
Post by: lgb on 2015.March.29. 18:07:07
I still miss the 'like' button to be able to use on some posts :)
Title: Re: SymbOS
Post by: edoz on 2015.March.29. 21:20:05
I still miss the 'like' button to be able to use on some posts :)


Me too! I Like this!! :D
Title: Re: SymbOS
Post by: edoz on 2015.April.01. 11:07:09
Yesterday evening i was chatting  with Prodatron for the FIRST time using SymbOS :D

It was amazing!!

We used the HispaMSX BBS! The first time for chatting over the internet. That was a very strange feeling!

SymTel is already running quite well now after fixing some bugs in the ANSI/VT100 code conversion.
Thanks to Prodatron!! Hope that there is network hardware soon on the Enterprise! That would be so cool!

Prodatron computer:

[attach=1]
[attach=2]


My Screen:

[attach=3]
[attach=4]
Title: Re: SymbOS
Post by: Zozosoft on 2015.April.01. 11:08:32
Wow!!! :ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: edoz on 2015.April.17. 13:34:42
https://www.youtube.com/watch?v=xjPmmG1BoXI (https://www.youtube.com/watch?v=xjPmmG1BoXI)
Title: Re: SymbOS
Post by: gflorez on 2015.April.17. 15:34:00
Wonderful all that fast on-line colours and sound....

Indeed a good demo.
Title: Re: SymbOS
Post by: Zozosoft on 2015.April.17. 18:06:52
Amazing!
Title: Re: SymbOS
Post by: Ep128 on 2015.April.17. 23:17:20
:shock:
I am waiting for being allowed to download it for Enterprise! :)
Title: Re: SymbOS
Post by: lgb on 2015.April.17. 23:32:19
:shock:
I am waiting for being allowed to download it for Enterprise! :)

Yeah, and some network hardware for the EP, supported by SymbOS/EP port of course :)
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.03. 10:18:22
Video from SzörG (https://www.youtube.com/watch?v=KhK0iLIZcrY)
Title: Re: SymbOS
Post by: pear on 2015.May.03. 10:28:57
WOW!
This is the standard speed of the CPU, if any turbo ?
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.03. 10:34:08
This is the standard speed of the CPU, if any turbo ?
Standard 4MHz (you can see it the startup screen).

10MHz Enterprise in my video. (https://www.youtube.com/watch?v=YwgPMNH31XI)
Title: Re: SymbOS
Post by: gflorez on 2015.May.03. 17:52:53
By the way.... seems there is one more EP user with mouse....
Title: Re: SymbOS
Post by: Prodatron on 2015.May.03. 17:58:12
Cool video, thanks for sharing!! :)
And I like the background tune! :)

By the way.... seems there is one more EP user with mouse....
At least in this new video there doesn't seem to be a mouse...
Title: Re: SymbOS
Post by: gflorez on 2015.May.03. 18:09:20
Oooh shit, you are right!

But this is an intolerable situation..... Mouses for the masses! Mices for everybody!
Title: Re: SymbOS
Post by: Prodatron on 2015.May.03. 18:16:05
But this is an intolerable situation..... Mouses for the masses! Mices for everybody!
I totally agree! :D
Title: Re: SymbOS
Post by: Tuby128 on 2015.May.03. 18:49:30
Yeah, I agree too!
(https://girlinabasement.files.wordpress.com/2014/03/adorable-cute-mouse-mouse-on-mouse-favim-com-110447.jpg)
Title: Re: SymbOS
Post by: gflorez on 2015.May.03. 19:01:00
Ha, ha...!. Too squishy, Tuby128...


Prodatron, have you seen this (http://enterpriseforever.com/hardware/re-paintbox-mouse-xr/msg45917/#msg45917) thread?

There are the schematics of an easy to build mouse interface to attach directly a MSX mouse.

And another thing: in the Enterprise mouse reading subroutine I gave you, I've discovered that the four delays(8,5,5,5) can be changed to 8,1,1,1 for a 4Mhz Z80 without problems. Then it has similar delays to the timing of a  MSX machine.

The only difference between a MSX mouse and a Neos mouse(besides of the position of the pins) is an inverter inside the MSX one. The Strobe signal is exactly the same but inverted, when on one is 0v the other has 5v.
Title: Re: SymbOS
Post by: Prodatron on 2015.May.04. 01:31:43
Cool, even for me who is pretty bad in hardware stuff this doesn't look to complicated :)
Ok, I can change the delays, this will save some CPU time!
Title: Re: SymbOS
Post by: lgb on 2015.May.04. 09:16:07
Cool, even for me who is pretty bad in hardware stuff this doesn't look to complicated :)
Ok, I can change the delays, this will save some CPU time!

Does it mean that it won't run with 10MHz EP128 then?
Title: Re: SymbOS
Post by: gflorez on 2015.May.04. 11:20:15
It will work, that modified settings are for a 4MHz Z80(mine), only as a starting point. Indeed Zozo's 10Mhz machine works very well with the Neos+Boxsoft mouse in SymbOS because Prodatron has adapted accordingly the delays in the reading subroutine.
Title: Re: SymbOS
Post by: Prodatron on 2015.May.04. 13:51:10
Ah yes, I didn't have the 10MHz in mind. I had a look at it again.
Using 8-1-1-1 instead of 8-5-5-5 would save 84 microseconds on a 4MHz system per 50Hz frame, which is not so much (1,3 Rasterlines). SymbOS does a speed detection at the beginning, which could be used for modifying the mouse routine, but then you can't switch to 10MHz when you booted it in 4MHz mode. Anyway my next EP specific work will be fixing the remaining FDC issues.
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.04. 14:21:51
Anyway my next EP specific work will be fixing the remaining FDC issues.
Now I sent mail about it!
Title: Re: SymbOS
Post by: Prodatron on 2015.May.04. 14:28:24
Cool, good news, thanks a lot!! :)
Title: Re: SymbOS
Post by: szipucsu on 2015.May.05. 13:05:08
Mouses for the masses! Mices for everybody!
I don't understand. :D Words "mouses" and "mices" do not exist. I even doubt "masses" unless you mean masses in a church. :D
Title: Re: SymbOS
Post by: gflorez on 2015.May.05. 13:31:00
I was calling to rebellion....the common people do not use orthography, but is who at last really create the languages...

------------------------------

Yo estaba llamando a sublevarse.... el pueblo llano no usa la ortografía, pero es al final quien crea las lenguas...
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 09:45:13
Prodatron! As I see you documented the floppy problem (http://enterpriseforever.com/other-topics/2015-may-16-30th-birtday-of-enterprise-128/msg47007/#msg47007) on turbo machines :-) (On the photo with the 6MHz prototype machine)
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 09:47:33
And the most frequently asked question at the party: when coming some sound to the EP SymbOS? :-)

Which sound sources exist in SymbOS?
Only a separate music players for various files, or exist some general sound driver of the OS what the applications can use?
Title: Re: SymbOS
Post by: Prodatron on 2015.May.18. 16:53:56
Prodatron! As I see you documented the floppy problem (http://enterpriseforever.com/other-topics/2015-may-16-30th-birtday-of-enterprise-128/msg47007/#msg47007) on turbo machines :-) (On the photo with the 6MHz prototype machine)

Yes, I am currently still working on network support, I hope I have the Network Daemon fully running soon. After this I will attach the EXDOS card again and can check the FDC driver, as now I have a "Turbo"-Enterprise, too, thanks to you, Zozo! :razz: :)

And the most frequently asked question at the party: when coming some sound to the EP SymbOS? :-)

Which sound sources exist in SymbOS?
Only a separate music players for various files, or exist some general sound driver of the OS what the applications can use?
Currently there is only SymAmp, the music player for SymbOS. Somehow it supports plugins for different music formats, but this is more on source code level. I just saw, that the sources are not included in the download area of www.symbos.de, so I have to add it!
It should be possible to add a new "plugin" for EP soundmodules/formats in SymAmp.

Another plan is to develop a "sound daemon", which can be used to play "system sounds" or even different sound modules, if the present hardware is supporting them. This will be quite an interesting project.
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 20:36:54
And another question from the TVC friends: the TVC also needs SymbOS :-)

Graphics are 6845, floppy WD1793, SD interface are very similar to the Enterprise version. This is the easy part :-)
The hard problem is the memory paging :-( The 64K+ model has a 128K RAM inside, but I think the paging is too limited for SymbOS :-(

But someone told: There is a signal on the expansion bus, which can disable the internal memory. Then probably it is possible to develop external expansion which uses own paging, and is enough flexible for the SymbOS.

Can you define least which paging methods are needed to be supported by the hw for running SymbOS?
Title: Re: SymbOS
Post by: lgb on 2015.May.18. 20:53:40
There was some discussion about this on facebook (I can't remember now where exactly). But if you develop an external memory expansion with paging enough for SymbOS, then we can have SymbOS for almost every computer this way, tons of ports can be done, even for Primo maybe :-P Just one sad thing, that not for the "stock" machine too much :(
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 21:05:24
But if you develop an external memory expansion with paging enough for SymbOS, then we can have SymbOS for almost every computer this way, tons of ports can be done, even for Primo maybe :-P
No because, most of machines not have capability for disable the internal memory, then you can't add new paging mechanism.
Title: Re: SymbOS
Post by: lgb on 2015.May.18. 21:17:19
No because, most of machines not have capability for disable the internal memory, then you can't add new paging mechanism.

Ok, it depends how you define "external", in my dictionary, some cut or "convert to jumper" on PCB is OK (etc etc). But well, ok, it's kinda off-topic.
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 21:37:21
Ok, it depends how you define "external", in my dictionary, some cut or "convert to jumper" on PCB is OK (etc etc).
:-)
If I understood what the TVC guys wrote: Don't need any modifications on the machine, just plug in a new expansion.

Now need the specifications from Prodatron, then the guys can think about how possible to do it :-)
Title: Re: SymbOS
Post by: Prodatron on 2015.May.18. 21:59:59
The minimum requirements for the memory mapping would be the Amstrad CPC one:
Here the ram is divided into 64K banks. You have one primary 64K bank (the first 64K) and a number of up to 8 or 15 (576KB is usually the maximum, but there is a mod, where you can have 1024K instead of 576K) secondary 64K banks.
You have the following modi:

- mode 0 ("#c0"): show the primary 64K bank (this is used for executing SymbOS core parts [placed in the primary 64K])
- mode 1 ("#c1"): show the first 48K (at #0000) of the primary 64K bank and the last 16K (at #c000) of a secondary (1-8/15) 64K bank (this is used for accessing GUI data structures of applications by the Desktop Manager without the need to relocate pointers inside these structures)
- mode 2 ("#c2"): show a complete secondary (1-8/15) 64K bank (this is used for executing applications)
- mode 4-7 ("#c4-7"): show the first 16K (at #0000) and the last 32K (at #8000) of the primary 64K bank, and one of the four 16K (at #4000) area of a secondary (1-8/15) 64K bank (this is used for accessing any part of any application by the core parts of SymbOS)

There is even a 3rd mode, but it's not used in SymbOS.
I have no idea, if this would be more simple to implement in hardware or if the Enterprise (=MSX, Amstrad PCW, Amstrad NCxxx) way would be more easy?
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 22:18:19
And the screen memory how added for these?
Title: Re: SymbOS
Post by: Prodatron on 2015.May.18. 22:44:16
It depends. Usually SymbOS is very flexible with this. Where is the video ram located in the TVC? How is the bitmap mode organsized? Does it encode the colours in bitmap mode in the same way like the EP (and CPC)?
On the CPC the video ram can be placed anywhere in the primary 64K (a little bit like for the EP).
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 23:23:57
Where is the video ram located in the TVC?
It is can be paged to Page 2 (8000-BFFFh). 16K in the 32K and 64K models and 64K in the 64K+ model. (This is a additional memory, then the total is 48K, 80K, and 128K).

Only In 64K+ model: additional register for select which 16K used by the CTRC, and which paged to the Z80. Also possible page video memory to Page 1 (4000-7FFFh).
 
Quote
How is the bitmap mode organsized? Does it encode the colours in bitmap mode in the same way like the EP (and CPC)?
Yes. (It is also exist a software TVC emulator for EP :-) )

My idea: 4 paging registers for Page 0-3. Bit 7 switch at the current page the internal/expansion accessing. Other bits select 16K pages, 128 pages possible=2MB (more than enought for SymbOS :-) )
When accessing screen, the Page 0,1,3 from the expansion, and Page 2 from the internal, where paged the video memory with the original paging registers.

What do you think?
Title: Re: SymbOS
Post by: Prodatron on 2015.May.18. 23:32:44
Before I make the final concept:
Everything looks fine, but would it also possible to have the screen mapped at #c000? :) (just a question, as it would make things easier)
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.18. 23:36:42
possible to have the screen mapped at #c000?
No :-(
Title: Re: SymbOS
Post by: Prodatron on 2015.May.18. 23:59:36
Not a problem. It just affects the low level routines. Usually they are between #8000 and #bfff, while the visible screen memory is at #c000-#ffff but of course it can be swapped. Usually it's important to have any 16K Ram block at #4000-#7fff and the first 16K of the system at #0000-#3fff, where the kernel is placed.
Anyway this is still easier than a possible Sam Coupe port :)
Title: Re: SymbOS
Post by: Prodatron on 2015.May.19. 00:18:58
BTW, as we already discussed before I would like to introduce an extended EP version with a screen resolution of 384x270x4 (or what was the X-maximum?) for systems with more than 128KB :P
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.19. 00:24:51
And how about the mouses?

Now we well know the MSX type, currently using something similar on the Enterprise.
Which other protocols used on another machines?

Using serial (it is also exist on Enterprise) or PS/2 mouse directly are possible? I afraid these have a complicated protocol, using interrupts, etc...
Probably the most easy way to use modern mouse: create MSX like mouse port, and attach PS/2 -> MSX converter (many solutions exist, also possible include the converter microcontroller to the new interface)?
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.19. 00:38:45
BTW, as we already discussed before I would like to introduce an extended EP version with a screen resolution of 384x270x4 (or what was the X-maximum?) for systems with more than 128KB :P
Yes, we also like it :-)
Technicaly 368 (4 color mode) x 300 possible, but probably at many monitors will be cutted :-) Is possible make setup option for these values?

The TVC discussion now just for collecting informations, then I can write to TVC friends what hw needed to be developed. I think it is need many time until the hw really exist :-)
Title: Re: SymbOS
Post by: Prodatron on 2015.May.19. 00:57:22
Regarding the mouse better let's discuss it later when some more important things are finished :P

Yes, we also like it :-)
Technicaly 368 (4 color mode) x 300 possible, but probably at many monitors will be cutted :-) Is possible make setup option for these values?

What is a "save" maximum X-resolution? It would be good to have a fixed value here, as it would speed up low level routines...
Yes, Y can be 300, but I would prefer 270 = 256 (main screen) +14 (task bar) because it makes things easier for the main screen (only 8bit Y values for the low level screen routines)
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.19. 15:11:03
What is a "save" maximum X-resolution? It would be good to have a fixed value here, as it would speed up low level routines...
The EXOS allow 336, it is good for all monitors.

Quote
I would prefer 270 = 256 (main screen) +14 (task bar) because it makes things easier for the main screen (only 8bit Y values for the low level screen routines)
I think this is will be enought good :-)
Title: Re: SymbOS
Post by: edoz on 2015.May.19. 20:56:44
Today i was playing around with Columns. The detection of the rows is now working in 2 directions. I have to do the vertical one. Hopefully it will be released soon!

The movie is a bit low quality .. but you get the idea i think.

https://www.youtube.com/watch?v=d1KzTtI_o7U&feature=youtu.be (https://www.youtube.com/watch?v=d1KzTtI_o7U&feature=youtu.be)
Title: Re: SymbOS
Post by: edoz on 2015.May.21. 15:33:26
Hi Again,

I created a new movie. This time running on REAL hardware. First on a real MSX and then on a REAL Enterprise 128 machine!
The Enterprise is so fast!! even without the turbo mode!

https://www.youtube.com/watch?v=q9HijFniqqc&feature=youtu.be (https://www.youtube.com/watch?v=q9HijFniqqc&feature=youtu.be)
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.21. 16:18:20
Very nice!
Title: Re: SymbOS
Post by: Prodatron on 2015.May.21. 16:24:44
Cool, the EP is running at 4MHz all the time?
Title: Re: SymbOS
Post by: edoz on 2015.May.21. 16:39:22
No it is on turbo in the movie but it runs very well on 3 on the enterprise. Seems better then the MSX
Title: Re: SymbOS
Post by: geco on 2015.May.21. 16:43:19
No it is on turbo in the movie but it runs very well on 3 on the enterprise. Seems better then the MSX
Probably because MSX screen contains more data than EP screen which is 16 KB ?
Title: Re: SymbOS
Post by: Prodatron on 2015.May.21. 16:47:02
As we already discussed in Budapest it's really hard to compare :) The MSX screen is larger (in this case it's 27KB), but the MSX has a blitter, and the EP not.
Title: Re: SymbOS
Post by: lgb on 2015.May.21. 16:51:27
Probably because MSX screen contains more data than EP screen which is 16 KB ?

I think (and "as far as I know") it's hard to compare, as the video RAM is directly accessible on the EP. This is not the case with MSX, where the video RAM cannot be read/write directly by the CPU but only the video chip. So CPU must instruct the VDP to read/write VRAM etc. It seems to be slow, but at the other hand (again: as far as I know) VDP can do some "accelerated" operations by its own, which can be used by SymbOS (if it does ...). As far as I can remember, somebody (maybe Prodatorn) told, that character set is "uploaded" to the VRAM, and VDP is instructed to "draw" a character, so the CPU does not need to "draw" it. But I can be totally wrong, and I am interested in the answer then :)
Title: Re: SymbOS
Post by: Prodatron on 2015.May.21. 17:09:51
Yes, it was me, and you are right :)
The blitter of the VDP9938 can be used for a lot of stuff (drawing horizontal/vertical lines, filling rectangles, scrolling and copying rectangle screen areas from one part to another, fill a rectangle with a bitmap "stream" coming from the CPU [no line jumps are necessary]). SymbOS uses the VDP on the MSX for all this to accelerate the graphic output. Printing texts is done in exactly this way, too. In SymbOS the charset is copied to a hidden area of the VRAM (it is 128K on the MSX2) in all 16 colours. As the VDP allows "xor" operation when pasting one rectangle to a destination in the videoram you can use it to plot chars with any colour combinations.
Title: Re: SymbOS
Post by: Zozosoft on 2015.May.21. 17:29:24
Need to design new Nick chip which can do same :-D and using dual port memory :-)
Title: Re: SymbOS
Post by: geco on 2015.May.21. 17:56:31
As we already discussed in Budapest it's really hard to compare :) The MSX screen is larger (in this case it's 27KB), but the MSX has a blitter, and the EP not.

Yes, it was just an idea from me :) why could write Edoz for a normal 4MHz EP: "Seems better then the MSX"
Because normally with MSX VDP it should be faster, and you mentioned SymOS using advantages of VDP :)
Title: Re: SymbOS
Post by: edoz on 2015.May.21. 18:02:59
I'm not sure .. it is just a feeling that it is faster on the Enterprise :D
Title: Re: SymbOS
Post by: Prodatron on 2015.May.21. 18:47:05
Yes, it was just an idea from me :) why could write Edoz for a normal 4MHz EP: "Seems better then the MSX"
Because normally with MSX VDP it should be faster, and you mentioned SymOS using advantages of VDP :)
My general experience is, that the MSX with 16 colours has a similiar speed like the CPC and EP with 4 colours. The MSX has to handle the double amount of data, but because of the VDPs blitter you have the same speed at the end.
The speed-up isn't that much if there are a lot of bitmaps which have to be handled, as these usually have to be copied from normal memory by the CPU. So that's probably the reason why the "Columns" game feels faster on the EP compared to the MSX.
Title: Re: SymbOS
Post by: edoz on 2015.June.02. 20:13:48
See some progress over here ;) Prodatron is moving forward if it is about network !

MSX Forum (SymbOS) (http://www.msx.org/forum/development/msx-development/symbos-msx-multitasking-operating-system-help-needed?page=359)
Title: Re: SymbOS
Post by: lgb on 2015.June.02. 20:59:15
Arghhhh netstat. Cool :-) Now only IP filter is missing soon ...
Title: Re: SymbOS
Post by: edoz on 2015.June.03. 14:23:51
The multitasking operating system SymbOS just got even more interesting with the release of a Sega Columns remake created by Edoz. Sega Columns is created with the Unify IDE which will be released later this month as a public beta release together with a SymbOS 3.0 beta.

The new beta release of SymbOS will have a network stack onboard and some other nice new features! Because of the upcoming network support in SymbOS the next game project is already started / in development!  It’s called “Battle Ship!” The famous classic game comes to SymbOS where there is a possibility to play with other players using the new network daemon for SymbOS. Currently Prodatron is working on the network daemon where Trebmint is developing the network support in Unify and Edoz is putting it together in the form of Battle Ship in Unify. It is really a team that works together on all different levels, low-level, middle-level and development in Unify.

For now we hope that you enjoy this remake of Sega Columns which can be downloadedHERE (http://members.home.nl/evanzanten/msxorg/COLUMNS.ZIP)

(http://i61.tinypic.com/1z6ura1.png)
(http://i62.tinypic.com/iveagi.png)
(http://i59.tinypic.com/34ougph.png)

and the preview screenshot for battle Ship:

(http://i59.tinypic.com/osx4p2.png)
Title: Re: SymbOS
Post by: Zozosoft on 2015.June.03. 14:32:12
Because of the upcoming network support in SymbOS the next game project is already started / in development!  It’s called “Battle Ship!” The famous classic game comes to SymbOS where there is a possibility to play with other players using the new network daemon for SymbOS.
It is sounds very amazing!
Title: Re: SymbOS
Post by: lgb on 2015.June.03. 14:32:53
Impressive! Especially if EP have some networking hardware in the future with SymbOS support, so even with different machines players can fight against each other over the Internet, like one MSX in the USA against one EP-128 in Hungary. Or so :) Exciting, in my opinion (I don't play with computer games too much ever, but still!)
Title: Re: SymbOS
Post by: edoz on 2015.June.03. 15:57:36
And a picture from a real Enterprise Machine ;)

(http://i58.tinypic.com/282pehc.jpg)
Title: Re: SymbOS
Post by: gflorez on 2015.June.03. 16:25:02
With a real mouse?
Title: Re: SymbOS
Post by: edoz on 2015.June.03. 16:35:21
With a real mouse?

No i do not have this mouse adapter for my Enterprise. (To hookup MSX mouse)
I just used the arrow Joystick on the enterprise itself and the green INS to switch between modes.
Title: Re: SymbOS
Post by: ssr86 on 2015.June.04. 22:07:58
With a real mouse?
I've noticed you really want a mouse for your ep :lol:
Title: Re: SymbOS
Post by: gflorez on 2015.June.04. 22:55:56
No, I already have several mouses and interfaces (http://enterpriseforever.com/hardware/re-paintbox-mouse-xr/msg46062/#msg46062) for my EP....

What I really want is that soon every EP user got one....
Title: Re: SymbOS
Post by: ssr86 on 2015.June.06. 08:58:57
No, I already have several mouses and interfaces (http://enterpriseforever.com/hardware/re-paintbox-mouse-xr/msg46062/#msg46062) for my EP....

What I really want is that soon every EP user got one....
Oh, sorry, but I just found it funny that you post about mice so much;P
Hope you didn't get offended.
Title: Re: SymbOS
Post by: gflorez on 2015.June.06. 09:22:03
Offended? Why? My answer was only a joke re-using your words....
Title: Re: SymbOS
Post by: Prodatron on 2015.June.15. 00:25:48
During the last days a lot stuff happend. The Network Daemon is now fully configurable, and the new "Driver" tab shows the status of the LEDs of the currently used MSX W5100 card. EdoZ made a little video for demonstating this:

https://www.youtube.com/watch?v=gAHQ4fkgOMc (https://www.youtube.com/watch?v=gAHQ4fkgOMc)

You can see, how especially TX, RX and Link react on EdoZ char typing in the Telnet console.
At the same time Trebmint completed a huge part of the network support in the Unify IDE. That made it possible to write a simple but fully working internet messenger, called the "Simple Messenger", for SymbOS with Unify, which only consists of 30 lines of code - the initial development took 5 minutes

And so today we were able to have this very special moment: I started two instances of the messenger as a server on my 8bit machine in Germany, and EdoZ from The Netherlands and NYYRIKKI from Finland connected as clients from their Z80 computers directly over the internet. So I had two chat sessions running on my Z80. As this worked well, NYYRIKKI and EdoZ opened a direct chat session as well. All three MSX were connected to each other at the same time!

(click to enlarge)

(click to enlarge)
(http://www.symbos.de/gfx/preview/network-16messenger2-s.gif) (http://www.symbos.de/gfx/preview/network-16messenger2.jpg)
(http://www.symbos.de/gfx/preview/network-16messenger1-s.gif) (http://www.symbos.de/gfx/preview/network-16messenger1.jpg)

TBH we had a lot fun again today!

But as I want to have it running everywhere I also created the "localhost" driver this week. It already supports TCP and a fake kind of DNS, which is fine for 90% of the apps.
This was a test on the Amstrad CPC:

(http://www.symbos.de/gfx/preview/network-17localhost.png)

Let's keep this all finished for a beta release end of this month And I am looking forward so much to the EP ethernet hardware!! (since April all work on this project is completely platform independant, so every line of code is for the EP as well!).
Title: Re: SymbOS
Post by: Zozosoft on 2015.June.15. 00:35:17
Very amazing! :smt038
Title: Re: SymbOS
Post by: lgb on 2015.June.15. 19:50:19
Cool!!! I wish there would be SymbOS for EP with w5300 support (the hardware is planned) since I've started to write the emulation in my ... hmm newer ... emulator (Xep128), but since there is no software I can test with, it seems not to be an easy task :)
Title: Re: SymbOS
Post by: Prodatron on 2015.June.15. 20:39:03
You already implemented W5300 support in your new emulator?? When you send me the specs we can try some tests! :)
Title: Re: SymbOS
Post by: lgb on 2015.June.15. 20:44:03
You already implemented W5300 support in your new emulator?? When you send me the specs we can try some tests! :)

"started to write" (the code) only :-) Actually I can only follow the w5300 datasheet and implementing something like that :-)
Title: Re: SymbOS
Post by: Prodatron on 2015.June.15. 21:09:51
IIRC Bruce is using the indirect access, which is working with I/O ports. Did you already ask Bruce how it will be accessed?
Title: Re: SymbOS
Post by: lgb on 2015.June.15. 21:13:37
IIRC Bruce is using the indirect access, which is working with I/O ports. Did you already ask Bruce how it will be accessed?

Yes, of course. Simply the indirect mode of w5300 which requires only 8 (well,actually only 6 from the space of 8 ...) I/O ports. Thus, what I want to implement by specification is a subset of w5300 in indirect mode (subset, because its nature - emulation using the host OS tcp/ip, where I call the OS which runs the emulator as "host OS"). So things like raw mode and like won't work too much this way.
Title: Re: SymbOS
Post by: Prodatron on 2015.June.15. 21:29:22
So do you emulate these 6 ports exactly (maybe only in TCP mode)?
Title: Re: SymbOS
Post by: lgb on 2015.June.15. 21:42:01
So do you emulate these 6 ports exactly (maybe only in TCP mode)?

Yes, basically, w5300 is a 16 bit device, but can be used with 8 bit bus as well, where two ports form one "true" 16 bit wide port, the order of ports are the opposite what we are familiar with Z80 and x86 byte order though. The 0x400 internal register space (which can be used as-is in direct mode, but it's not our case) means actually 0x200 ports (in 16 bit mode). The only three registers (but x2 as with 8 bit mode) used in indirect mode is basically MR (mode register), IDM_AR (the adress of the register you want to select) and IDM_MR (read/write the selected resister then). Actually it's kinda easy to implement, the hard part is to emulate those tons of registers you can access via this indirect scheme then. Some of them I simply don't care like MAC address, gateway etc, as host OS would do things anyway. Of course socket registers should be implemented, and basically the network API of the host OS should be accessed as "they would be" w5300 registers with this rather thin emulation layer. I can see what I can do, the problem that it's platform specific, til now my emulator (Xep128) as used SDL it was easy to compile for Windows without minor or any change (as I don't have windows, it's just a bonus for me, but still it's important for others maybe). However network is something different, so I have to adopt things to be somewhat platform specific, or I can try to use a layer like SDL_net which hides the implementation details of a give platform behind a common API, as regular SDL does for video and audio already, for example.
Title: Re: SymbOS
Post by: lgb on 2015.June.15. 23:14:50
Moreover: using the TCP/IP stack of the host OS is tricky. UDP and TCP connecting may work, listening can have issues if the given port is already used by the host OS. Also, local ports used by the EP side may be mapped to another on the host OS side. ICMP is kinda hard, but unless you feel "ping or die", some can live without that. It's because (at least on UNIX like OSes) a regular process can't operate with ICMP stuffs because of security reasons. Of course RAW mode is a big no-no. I would "patch off" DHCP like requests sent by the emulated EP and "answer" from the emulator itself, since for real the emulated EP does not have discrete IP address but the host OS's one, so a real DHCP request to the network won't work too much (at least if there is EP software which can do DHCP ... Can SymbOS do?). Sounds a bit complicated, but still, I think, it's easier to do than writing a TCP/IP implementation and using a pseudo raw (or whatever we want to name it) interface in the host OS (when the emulator really has a separated IP address!). I thought I am crazy enough to get an idea like this, but "of course" there are no new ideas: it seems FUSE (ZX Spectrum emulator mainly for UNIX-like systems) has w5100 (yeah, not 5300) with a similar implementation and theory and also limitations ...
Title: Re: SymbOS
Post by: lgb on 2015.June.19. 09:12:05
Prodatron, how mouse detection is implemented in SymbOS/EP? I only ask this because I noticed an odd behaviour with my Enterprise-128 (Xep128) emulator. Mouse is only emulated, if you click inside the emulation window ("mouse grab mode"), before that, you can use numeric keypad arrow keys as joystick. If I start SymbOS in mouse grab mode, it works. But if I don't it's useless the enter into mouse grab mode, pointer does not react as well. Zozo commented (and it seems the only logical answer) this as SymbOS should have some kind of mouse detection, and if it fails at the startup, mouse won't work even if you plug it meanwhile (or in an emulator: if mouse emulation is switched on meanwhile). It's a problem, as some EP software seem to be picky when having mouse emulated (like EPDOS) if it would use joystick for example. So I can't see a clear solution now, unless if I can implement a workaround, to "cheat" for SymbOS there is some mouse, even if it's not emulated at the detection time only later. Of course it's not a fatal error, as user can enter into mouse grab mode with a click before starting SymbOS, but it's somewhat uncomfortable as for example I always forget it, and have to restart SymbOS to work this around. Thanks for your answer in advance!
Title: Re: SymbOS
Post by: Prodatron on 2015.June.19. 10:56:09
That's true, it detects the mouse during startup. It has to decide if it will handle the signals from control port 1 as coming from a joystick or from a mouse. If it's a mouse, it will stay in mouse mode, otherwise it will stay in joystick mode. For the MSX version I added a key combination to start this detection later again. It seems, that I have to do the same for the EP now, too :)
I never had this problem with MSX emulators btw. Here you always choose in the settings, what is connected at which control port (joystick or mouse or nothing). Can't you do the same in Xep128?
Title: Re: SymbOS
Post by: lgb on 2015.June.19. 11:31:17
I never had this problem with MSX emulators btw. Here you always choose in the settings, what is connected at which control port (joystick or mouse or nothing). Can't you do the same in Xep128?

Of course I can. But what I wanted to have some kind of "adaptive" stuff, so if user expressed their will to use mouse we need no more complex interaction like do a configuration setting. I mean: mouse emulation only works if user clicked on the emulated screen first, which cause to enter into mouse grab mode (ie: the PC mouse cursor is hide and you can't leave the window). This also causes in Xep128 to change the emulation from joystick to mouse. Maybe this is not the best idea, indeed ... I only thought that I can detect somehow that SymbOS tries to test if joystick presents and then I can auto-switch into mouse emulation, for example. Just for that, I should know what exactly SymbOS does to detect joystick/mouse. But now I am thinking if it worth at all to try to implement something like this ...
Title: Re: SymbOS
Post by: Zozosoft on 2015.June.19. 11:36:59
With the new EnterMice interface will no problem anymore, because the joy and mouse are on separate input lines (separate bit in the B6h port).
Title: Re: SymbOS
Post by: Prodatron on 2015.June.19. 12:20:16
I only thought that I can detect somehow that SymbOS tries to test if joystick presents
Ah, I got you. SymbOS checks, if it always returns X+1,Y+1 from the mouse. When it receives 16times a movement of X+1,Y+1, then it is sure, that a joystick is connected and not a mouse.
Title: Re: SymbOS
Post by: lgb on 2015.June.19. 15:26:30
Ah, I got you. SymbOS checks, if it always returns X+1,Y+1 from the mouse. When it receives 16times a movement of X+1,Y+1, then it is sure, that a joystick is connected and not a mouse.

Thanks!

Ok, for auto detection :) I tried that: port reading works in joy mode by default (so, eg EPDOS works), unless: emulator is in mouse pointer grab mode _OR_ 0xB7/etc is written before. In this way, SymbOS on Xep128 will detect mouse. However this is also not a perfect solution, mouse pointer goes crazy a bit, but at least I can use it after I click into the Xep128 window :)
Title: Re: SymbOS
Post by: lgb on 2015.June.27. 22:03:25
My "new" emulator (Xep128) already can run SymbOS with SD card (though read-only access only ...) and mouse emulation. I am about to emulate w5300 (limited subset of its knowledge). Since there is no real hardware yet for EP to compare, and also no EP software to test the emulator with, it's kinda slow process, I also write a demo app in assembly which can be used as a test application then. However, it also means that I can make bad assumptions on w5300 in the test program, and I write the emulation to comply that and not to the behaviour of the actual hardware :)

Question about SymbOS: w5300 can generate interrupts in case of certain events. As far as I know (if I remember correctly what Bruce told me), the hardware solution will support to use interrupts. As I can imagine, SymbOS future w5300 support is developed somehow from w5100 support for MSX (as they can be somewhat similar, after all, both of them from Wiznet corp.) , what does SymbOS currently support? It "polls" the state changes or does it support some kind of interrupts (though I don't know if w5100 supports interrupts as well)? How is it planned (if planned at all) for the w5300/EP support?

It would be interesting to know because of the my priorities to emulate certain w5300 features: my test program does not use interrupts, so if SymbOS does not want it as well, I would delay writing emulation for that and I would work on other parts more.

I'm not sure if my emulation would help SymbOS development: it is still possible that I emulate something incorrectly, so SymbOS would work with Xep128, but on the real hardware. Hmm, I'm still thinking if it worth at all to try to emulate w5300 before there is a real hardware at all ...
Title: Re: SymbOS
Post by: Prodatron on 2015.June.27. 23:21:21
Wow!!
I would appreciate it a LOT when you would do W5300 emulation in XEP128! Even if it wouldn't be 100% accurate it still helps us so much to speed up ethernet support for the EP! The modifications, which would then be needed for Bruces' upcoming hardware would be only limited to the little low-level driver routines, so that's not a problem at all. It's always cool to have the software already finished, before the hardware is available :P I am very interested in the exact data how to access the emulated W5300 and in writing and testing a driver with the help of your emulator! (I was already writing a driver for a planned Amstrad CPC W5100 project, which doesn't exist yet :) )
Regarding interrupts:
No, good news, SymbOS doesn't use them as well. It polls the active sockets, and with the W5300 it will be the same. So no sweat here! :)

Tomorrow we will have a beta release of several SymbOS network stuff, so the timing is great! :D
Title: Re: SymbOS
Post by: lgb on 2015.June.28. 11:49:12
I've sent you a private message about the topic. Unfortunately my emulation is not usable currently for this purpose, but any question I _may_ know, is welcome. I more or less understand how w5300 will be connected to the EP, how its registers can be accessed, and how 5300 works. But writing a code which emulates this is another question especially if windows and linux (ie unix-like, posix) systems must be supported by the emulator as well (windows is a nightmare, every API sucks).
Title: Re: SymbOS
Post by: Prodatron on 2015.June.29. 00:07:24
SymbOS 3.0 beta with ethernet network support is available now. You can download the full package here:

http://www.symbos.org/download/preview-symbos3network-beta.zip (http://www.symbos.org/download/preview-symbos3network-beta.zip)

(http://www.symbos.org/gfx/preview/s3bn-cpc-netd.png)

It seems that network support is introducing a complete new world for a multitasking environment on a 8bit Z80 machines. The amount of possibilities is still crazy and so we have quite a lot of new apps, which have been added during the last weeks.

(http://www.symbos.org/gfx/preview/s3bn-cpc-battship.png)

(http://www.symbos.org/gfx/preview/s3bn-cpc-symtel.png)
(http://www.symbos.org/gfx/preview/s3bn-cpc-wget.png)

The package includes the following:

SYMBOS 3.0 BETA NETWORK RELEASE

What is included

BASE SOFTWARE
- SymbOS 3.0 beta
- Control Panel
- SymShell 2.0 beta

NETWORK DAEMON
- DenYoNet driver
- Localhost driver

GUI APPLICATIONS DEVELOPED WITH UNIFY
- Battleship
- Symple messenger

SYMSHELL BASED APPLICATIONS
- SymTel
- WGet
- NsLookUp
- NetStat
- Nettest

For more information please read the included #readme.txt.

(http://www.symbos.org/gfx/preview/s3bn-cpc-symmsgr.png)
Title: Re: SymbOS
Post by: lgb on 2015.June.29. 00:17:32
Do you plan (or is it already supported?) to use network resources as "pseudo-files"? Aka Plan9 OS-like "everything is file" method (even beyond UNIX's scope). This has a very interesting  result, as a SymbOS application which does only read file (and only sequential read - let's day) can use network resources then without _any_ modification in the code, even if it was not written for that kind of task originally in mind. Ie, mp3 player would be able to play mp3's from the network (well, at least if it's true that there are no seeks, etc used, which makes that more difficult and some underlying protocol would be needed to transfer file-like special I/O requests). Without a support like this, applications should have two ways to interpret IO input: from file, and from network, since the namespace to access the resources is not shared, but discrete entities by names/APIs, needing separated support from applications.
Title: Re: SymbOS
Post by: lgb on 2015.June.29. 23:06:06
Aww, with my last message I was maybe not keen enough (or at least I didn't seem to be that), let's make it clear: fantastic news, what SymbOS can do and will do :) I guess most people here on holiday now, or so, because forum is quite quiet. A development milestone such network support in SymbOS should deserve bigger echo in my opinion :) Congratulation!
Title: Re: SymbOS
Post by: Ep128 on 2015.June.30. 00:17:22
Oh, I am very curious about this, thanks Prodatron! :-)
Title: Re: SymbOS
Post by: edoz on 2015.July.01. 19:56:34
https://www.youtube.com/watch?v=-MHMZlFhZE4 (https://www.youtube.com/watch?v=-MHMZlFhZE4)
Title: Re: SymbOS
Post by: Ep128 on 2015.December.03. 23:25:26
When will be next update? :-)
Title: Re: SymbOS
Post by: Zozosoft on 2015.December.05. 18:18:49
When will be next update? :-)
With EnterMice support? :-)
Title: Re: SymbOS
Post by: pear on 2015.December.05. 19:10:29
EnterMice for Prodatron probably will arrive on Monday.
Title: Re: SymbOS
Post by: edoz on 2015.December.15. 09:09:36
Do you always need a PS/2 mouse to use a mouse for the EnterMice or can you just hookup an MSX mouse to this SUB-9 connector?

About the next release of SymbOS. I think prodatron will do a next beta release for 3.0 (i think in the beginning of next year) As we have some kind of deadline for the MSX fair in Nijmegen.
I think that prodatron will do the final release of SymbOS 3.0 a couple months later. But better is to ask him ;) Currently I'm testing 3.0 and it is already very stable!

On the fair in Nijmegen we will do  a demonstration of network support (running multiple SymbOS workstations on the network, network console tools, chat possibilities and Battleship network gaming), advanced desktop which will introduce multiple new features (desktop widgets, flexible start (sub)menu and desktop icons, right-click menu, configuration wizards, taskbar icons), lots of other new improvements, like unzipper, HTML based help browser, updated SymShell, etc., and the demonstration of Unify IDE and some applications.
Title: Re: SymbOS
Post by: pear on 2015.December.15. 09:28:55
EnterMice does not support the original MSX mouse.
There were no such assumptions, because these mouse are expensive and increasingly less accessible.
Title: Re: SymbOS
Post by: gflorez on 2015.December.15. 10:06:54
NO! NEVER PLUG A MSX DEVICE TO THE ENTERMICE JOYSTICK PORTS!

THEY HAVE A DIFFERENT PIN-OUT(Atari standard) SO YOU CAN BREAK SOMETHING!

It only accepts PS/2 mouses...  

Think that the target Enterprise user doesn't have a MSX mouse nor a Neos mouse. Internally it is a PS/2 to MSX adapter attached directly to the Enterprise connectors. It also has extended MSX protocol, it is wheel compatible...

The original Boxsoft Interface shared the Control 1 intersections in the keyboard grid, but in the Entermice design other undocumented  intersections had been used to avoid some incompatibilities.

As a result, the next SymbOS version has to be modified to read the Entermice approach. Not a complicate task so, probably Prodatron will leave the original Boxsoft mode as an option.

In that case, if the Boxsoft mode survives the next SymbOS version, a really easy adapter can be done to connect a MSX mouse to the Entermice. YOU CAN'T PLUG DIRECTLY A MSX MOUSE TO THE PROVIDED JOYSTICK PORTS as theAtari standard has the +5 volts and ground on different pins than the MSX standard. Also the Entermice joystick ports lack the output pin STROBE that MSX mice need.
Title: Re: SymbOS
Post by: pear on 2015.December.15. 10:18:00
Another twister-adapter ? :)
Title: Re: SymbOS
Post by: gflorez on 2015.December.15. 10:26:19
Yes, it is possible and easy to do it, but I think it is redundant and several steps back. A PS/2 mouse has higher resolution and velocity,  not to mention the extra buttons and wheel.

I think that playing with standards cause accidents sooner or later...
Title: Re: SymbOS
Post by: pear on 2015.December.15. 10:46:16
In the evening I will show you a diagram, how to connect MSX/Neos mouse to the EnterMice, that there will no accidents ;)
Title: Re: SymbOS
Post by: gflorez on 2015.December.15. 10:55:42
But... MSX end users(and Enterprise ones too) better should forget that once in a time a MSX mouse was adapted to the Enterprise.....

MSX devices only for MSX computers.... And PS/2 devices for PS/2 connectors. No mistakes then...


It sounds racist....
Title: Re: SymbOS
Post by: pear on 2015.December.15. 18:33:28
If someone really wants to connect to EnterMice a NEOS or MSX mouse, put it this way.
More info on Wiki (http://wiki.enterpriseforever.com/index.php/EnterMice#Important).
(http://wiki.enterpriseforever.com/images/thumb/0/04/EM_NeosExt.png/800px-EM_NeosExt.png)
(http://wiki.enterpriseforever.com/images/thumb/1/1b/EM_MsxExt.png/800px-EM_MsxExt.png)
Title: Re: SymbOS
Post by: gflorez on 2015.December.15. 19:38:35
Only on Joystick 1, as the mouse driver or SymbOS only read mice on that port when in Boxsoft mode.
Title: Re: SymbOS
Post by: pear on 2015.December.15. 20:12:22
... and DS1 in position ON on the EnterMice config switch.
Title: Re: SymbOS
Post by: edoz on 2015.December.15. 21:00:48
Thanks for the mouse configs. I prefer a PS/2 mouse as well, but i was just wondering ;)
Title: Re: SymbOS
Post by: gflorez on 2015.December.16. 09:59:00
The most important task of Entermize is the standardization of the Enterprise signals. Once done, interfacing is easy
Title: Re: SymbOS
Post by: edoz on 2015.December.30. 08:56:15
Hi All!,

Yesterday i received a new network adapter for my MSX computer. Called GR8NET. The last weeks Prodatron created a device driver for SymbOS and i had the possibility to test it!
I created a small simple movie but it is crazy how good it works in SymbOS 3.0. I know this is not Enterprise news but i thought it would be nice to know that it rocks in SymbOS.
One machine had the new GR8NET device connected and the other one, the DenyoNet device. (Which is also a network adapter for MSX)


Here is the movie:
Youtube Movie GR8NET work adapter in SymbOS (https://www.youtube.com/watch?v=QLbEt-yjWDE&feature=youtu.be)



BDW: Last weeks i was wondering. Maybe it is not so difficult to create a adapter for I/O based MSX hardware for the Enterprise. As this hardware is all IO based it could be adapted with a simple connector? Unfortunately I'm not a hardware expert in enterprise or MSX but maybe a simple thing like this could be created to use I/O based MSX hardware on a Enterprise.
I was also thinking about this for the CPC and this seems to be possible. The cool thing about it that a lot of IO based hardware is already supported for SymbOS (Like the GFX9000, A lot of Storage devices, network adapters). That could be fun.
Title: Re: SymbOS
Post by: gflorez on 2015.December.30. 11:14:32
A MSX cartridge bay on the Enterprise... a great idea. I envy your GFX9000... or your MP3 player...

But I think that the Enterprise has to converge to SymbOS by its own way.

Title: Re: SymbOS
Post by: geco on 2015.December.30. 11:18:40
Great news !  :-)
Title: Re: SymbOS
Post by: edoz on 2015.December.30. 14:51:32
Hi All,

I created a small performance tool to compare our home computers using SymbOS.

Is there someone who can test this program in SymbOS on a Enterprise?

And after that can send me a picture of the general score and a picture of the detailed score?
It would be cool if it could be tested on a normal Enterprise and one with a turbo mode!

I hope someone can test it as my ENTERPRISE is currently dead and not working :(

Link to Download (PERFMON.ZIP) (http://members.home.nl/evanzanten/msxorg/permon.zip)
Title: Re: SymbOS
Post by: Tutus on 2015.December.30. 14:57:28
Hi All,

I created a small performance tool to compare our home computers using SymbOS.

Is there someone who can test this program in SymbOS on a Enterprise?

And after that can send me a picture of the general score and a picture of the detailed score?
It would be cool if it could be tested on a normal Enterprise and one with a turbo mode!

I hope someone can test it as my ENTERPRISE is currently dead and not working :(

Link to Download (PERFMON.ZIP) (http://members.home.nl/evanzanten/msxorg/permon.zip)

Het opgevraagde bestand/pagina is niet bekend
Title: Re: SymbOS
Post by: edoz on 2015.December.30. 14:58:47
Het opgevraagde bestand/pagina is niet bekend


Sorry.. means in dutch not found ;)

here the good URL

Perfmon in ZIP (http://members.home.nl/evanzanten/msxorg/perfmon.zip)
Title: Re: SymbOS
Post by: edoz on 2015.December.30. 15:18:39
This are some general scores i collected today:

It is funny to see the difference.

CPC:

[attach=1]
[attach=2]


MSX2:
(http://i65.tinypic.com/6i772a.png)
(http://i63.tinypic.com/wsqkpg.png)


Turbo-R:
(http://i63.tinypic.com/9a7ndw.png)
(http://i64.tinypic.com/wswy7l.png)


Turbo-R with GFX9000:
[attach=3]
[attach=4]
Title: Re: SymbOS
Post by: Zozosoft on 2015.December.30. 16:59:48
I hope someone can test it as my ENTERPRISE is currently dead and not working :(
I can only test at next Monday :-(
(I sent mail about your machine!)
Title: Re: SymbOS
Post by: gflorez on 2015.December.30. 21:03:36
I can give benchmarks of a stock machine...with 1Mg Ram expansion and SD-reader.
Title: Re: SymbOS
Post by: edoz on 2015.December.31. 10:33:20
Very Cool! Thank you! Prodatron did some test for me and got this results:

Everything makes sense:

Enterprise standard system:
(http://i66.tinypic.com/m4jtj.jpg)
(http://i64.tinypic.com/5xmtyc.jpg)

Enterprise in Turbo mode:
(http://i68.tinypic.com/5n43o5.jpg)
(http://i68.tinypic.com/29yp9av.jpg)
Title: Re: SymbOS
Post by: szipucsu on 2015.December.31. 11:47:34
Enterprise standard system:

Please read about how to fit too large pictures to the forum screen. (https://enterpriseforever.com/other-topics/using-the-forum-properly/msg52051/#msg52051)
Title: Re: SymbOS
Post by: gflorez on 2015.December.31. 11:58:56
Why the difference in disk access on stock Enterprise?

Does Prodatron run SymbOS from Ramdisk?
Title: Re: SymbOS
Post by: Zozosoft on 2015.December.31. 13:13:08
Why the difference in disk access on stock Enterprise?
SD Card also run faster on turbo Enterprise.
Title: Re: SymbOS
Post by: Prodatron on 2016.February.22. 22:29:08
Hi Guys, I am planning to release SymbOS 3.0 soon in May, so it's time to remove the last issues for the Enterprise as well!
The two important things on my ToDo list regarding the EP are currently these ones:
- fix the FDC timing issues
- add full support for the EnterMice
I don't remember about any other EP-related critical bugs, but maybe I missed something?
Title: Re: SymbOS
Post by: Zozosoft on 2016.February.22. 22:41:54
I don't remember about any other EP-related critical bugs, but maybe I missed something?
Not a really bug:
Don't use FFh segment on expanded machine, then will be possible exit to Enterprise system via Shut down menu, and later also possible start Enterprise programs from SymbOS.
Title: Re: SymbOS
Post by: Prodatron on 2016.February.22. 23:05:24
Thanks for the hint, Zozo!
I am afraid that it doesn't make sense to add this to the "usual" version of SymbOS (which also works on 128K machines), as it requires several changes in the kernel.
But there is still the plan to have the "expanded" EP version of SymbOS after the 3.0 release, which only runs on expanded machines (192K or more) and uses a higher screen resolution. This would always keep the #FF segment free for EXOS.
Title: Re: SymbOS
Post by: Z80System on 2016.February.22. 23:10:41
Ahhh ... so this is the reason behind the smaller screen than possible ...

Fullscreen will be cool !
Title: Re: SymbOS
Post by: gflorez on 2016.February.22. 23:35:50
Don't use FFh segment on expanded machine, then will be possible exit to Enterprise system via Shut down menu, and later also possible start Enterprise programs from SymbOS.

That can convert SymbOS in a full front-end for the Enterprise.... a wonderful dream.
Title: Re: SymbOS
Post by: lgb on 2016.February.22. 23:38:58
Maybe a bit too much to worth, but even with little memory, some can save the state of system segment to SD card :) just after the loader would pass the control to SymbOS (which does direct access anyway for the HW), and the shutdown function can restore it. I am not sure if it's a sane idea though ...

Or if you have enough RAM and using segment 0xFF is cannot be avoided there easily either, at least some can save the segment content to another segment (which has a more "comfortable" position among segments for the SymbOS kernel) which can be restored from there before exit.
Title: Re: SymbOS
Post by: gflorez on 2016.February.22. 23:54:56
Yes! 16k is like a grain of sand on the immensity of a SD with Gbytes of Ram... 
Title: Re: SymbOS
Post by: Ep128 on 2016.February.23. 00:53:16
Hi Guys, I am planning to release SymbOS 3.0 soon in May, so it's time to remove the last issues for the Enterprise as well!
The two important things on my ToDo list regarding the EP are currently these ones:
- fix the FDC timing issues
- add full support for the EnterMice
I don't remember about any other EP-related critical bugs, but maybe I missed something?


HDD support...? :-) (Ok, not the bug... But i miss him! :-) )
Title: Re: SymbOS
Post by: gflorez on 2016.April.14. 17:04:19
While waiting for Prodatron to re-write the final version 3.0 of his fantastic operative system, I could not resist ....

I have patched SymbOS to work with EnterMice. I made it dirty-editing the "symbos.bin" file with an Hex editor...

Only the movement, the main button is still the right one, like in the Boxsoft version.


Un-compress the files on the root directory of the SD. But only the "symbos.bin" has been modified.


EDIT: EnteMice WIKI updated.


Title: Re: SymbOS
Post by: gflorez on 2016.June.12. 17:18:42
I've been thinking about the sound apps on SymbOS. Maybe someone can convert them to Dave use, if the Z80 code is at hand.

Prodatron can't do everything...
Title: Re: SymbOS
Post by: gflorez on 2016.June.15. 02:05:09
It seems that only the Speech app uses some form of sound. Or at least I have not found it on the source.

Title: Re: SymbOS
Post by: gflorez on 2016.June.15. 02:24:13
I've found a pdf file explaining SymbOS 3.0 capabilities. Enterprise ones included.

http://www.google.es/url?q=http://members.home.nl/evanzanten/msxorg/SymbOS%25203%2520install%2520user%2520and%2520install%2520guide.pdf&sa=U&ved=0ahUKEwjkiNOV3qjNAhWGAxoKHRTtBDcQFggcMAY&usg=AFQjCNH4UggqB69riNJTqcUysMD_FY0eDg

On the other hand, there is a sound app called SymAmp to play tracker sounds on AY provided computers, also Mp3 on some higher equipment. I can't find the source.
Title: Re: SymbOS
Post by: szipucsu on 2016.June.16. 12:00:34
I've found a pdf file explaining SymbOS 3.0 capabilities.
As the PDF file is too large to be uploaded to the forum, I have uploaded it to FTP.

Anyway, I have found a Sorcery map on the FTP. I didn't know that.
Title: Re: SymbOS
Post by: Prodatron on 2016.June.19. 23:47:41
Hi guys, sorry for being silent for such a long time again.
I made a break of about 5 month regarding Z80 activities, but I guess I am back now. I finished a CPU meter widget...
[attachimg=1]
...to get back into the material, that was a nice little re-entry project.
TBH I am f*ing impressed by Gflorez mouse driver patch! That's awesome!
Because of the CPU meter widget I am now working on a weather widget, as I am currently into this topic. Next step will be finishing the 3.0 release version of SymbOS, and it seems, the main work for this are the EP modifications (especially the floppy disc driver and the mouse driver).
Anyway I will be more than happy to release 3.0 this year... (now it's 10 years ago when 1.0 has been released)
Title: Re: SymbOS
Post by: gflorez on 2016.June.20. 00:11:10
Nah! it was very easy, I only searched for the Boxsoft routine on the SymbOS.bin file with an HEX editor. Then I poked the routine for EnterMice use. Only the movement was possible, not the main button, that remained at the right.

Thanks for your efforts...
Title: Re: SymbOS
Post by: Ep128 on 2016.June.20. 01:20:11
Very good! :-)
Title: Re: SymbOS
Post by: Zozosoft on 2016.June.20. 13:49:58
main work for this are the EP modifications (especially the floppy disc driver and the mouse driver).
And full screen video driver :oops:
Title: Re: SymbOS
Post by: gflorez on 2016.June.21. 10:58:54
I think the mouse driver modifications will be very easy for you if the old Boxsoft routine is straightly replaced by the EnterMice modified one (http://wiki.enterpriseforever.com/index.php/EnterMice#Mouse_reading).

It parses correctly the three extra buttons and wheel of a PS/2 mouse, following NYYRIKKI(and you) MSX mouse extended protocol.

Title: Re: SymbOS
Post by: gflorez on 2016.June.21. 22:48:38
The Enterprise port of Symbos has a new app, Speech, ported from the CPC only app.

Remember, this is not an official or definitive Prodatron app, only an Hex-editor dirty modified  app.

It works. Thanks Geco for his Dave routines. He is the brain that has translated the CPC sound(AY) to Enterprise sound(Dave).

The disassembly doesn't produce a working app, but is put here to show Prodatron how to add Enterprise sound to the Speech app.


Installation: just only replace the original file with this executable on the Symbos dir.

Usage: execute the app inside SymbOS, write a text in English and click on "Say". You can also write a string of allophones and click on "Speak". Something like stereo balance can be selected with "Left", "Center" or "Right". The pitch slider lets you make the speech more "masculine" or "feminine".

I have to do a list of allophones. If you put a "?" or a "." at the end of the sentence, the intonation changes accordingly. This can't be done with Speakeasy, as the pitch is fixed on the little Rom inside the SP0256-AL2 chip.

Enjoy!

Edit: I don't like football....
Title: Re: SymbOS
Post by: geco on 2016.June.22. 13:37:08
Edit: I don't like football....
:ds_icon_cheesygrin:
I liked, but like less by the time, and this European Championship have a lot of boring matches. In this week I watched 2 parallel :D
Title: Re: SymbOS
Post by: endi on 2016.June.22. 14:25:25
snapshot please :)
Title: Re: SymbOS
Post by: edoz on 2016.June.22. 14:57:14
Haha ! That is so cool!! BDW is there any news about a network adapter for the enterprise?
Title: Re: SymbOS
Post by: gflorez on 2016.June.22. 16:00:11
Here you have a snapshot. I had some problems running this hack on certain SymbOS configurations:"The selected file is not executable in the SymbOS environment".

Remember that it is only a proof of concept.

Just only press Enter.
Title: Re: SymbOS
Post by: endi on 2016.June.22. 16:11:00
thank you
cool
is it possible to apply some simple filter on the sound, for example a sime interpolation, or echo?
Title: Re: SymbOS
Post by: gflorez on 2016.June.22. 16:18:31
Supposedly yes, it is only software, so probably the output can be improved.

The rules are the most easy part, new ones can be added, or the old be modified without touching the speech engine.

I will put soon the complete disassembly on the English Speakeasy thread, just in case somebody want to create an Enterprise app.
Title: Re: SymbOS
Post by: Ep128 on 2016.August.21. 23:37:25
When is the next version expected? :-)
Title: Re: SymbOS
Post by: gflorez on 2016.September.22. 15:47:59
Here are two little modifications proposed by IstvanV.

-The main button is now the left one.
-The mouse button is recognised inside wonderful EP128emu.

Links on the EnterMice wiki corrected.
Title: Re: SymbOS
Post by: gflorez on 2016.November.21. 12:35:23
Prodatron is actually working on the Enterprise port of his wonderful SymbOS, fixing the Mouse reading routine to work with all the buttons and wheel. 
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.21. 12:55:19
Prodatron is actually working on the Enterprise port of his wonderful SymbOS, fixing the Mouse reading routine to work with all the buttons and wheel.
Great news!
Title: Re: SymbOS
Post by: Ep128 on 2016.November.21. 23:21:46
Yeeeeaaah! :-)
Title: Re: SymbOS
Post by: Prodatron on 2016.November.25. 17:16:54
With Gflorez help I was able to update the mouse routines for EnterMice support today! :)
Thanks so much to Pear for this great hardware, to Istvan-V for fully emulating it in the fantastic EP128Emu and to Gflorez for your help!

The mouse wheel is already working fine. I will now add support for the right mouse button and then publish a preview here.

It seems, that my USB mouse (+adapter) isn't working with my EnterMice hardware on my real EP, its LED stays dark. I guess I have to buy a real PS/2 mouse (I wonder where I leave my old one...).
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.25. 17:30:59
It seems, that my USB mouse (+adapter) isn't working with my EnterMice hardware on my real EP, its LED stays dark. I guess I have to buy a real PS/2 mouse (I wonder where I leave my old one...).
The adapter are come with this mouse?
The adapters only convert the connectors, but needed the PS/2 mode built in the mouse. Not all USB mouse support this mode. Generaly: if the mouse come with adapter then will work :-)
Title: Re: SymbOS
Post by: Prodatron on 2016.November.25. 18:52:23
Thanks for the hint, Zozo! Hope that's the problem.
Title: Re: SymbOS
Post by: Prodatron on 2016.November.26. 21:32:02
Both buttons are working now fine, but I have problems with the "waits" for faster machines.
IIRC my Enterprise 128 upgraded by Zozo is working at 4, 6, 7.5 and 10MHz. If I use the timing of Bruce routine...
http://wiki.enterpriseforever.com/index.php/EnterMice#Minimum_EnterMice_reading_routine.2C_thanks_to_Bruce_Tanner
...the pointer is going crazy at everthing > 4MHz.

I was already experimenting with different "wait" values. The strange thing is:
- everything is working at 4MHz
- some "waits" are working only at 4 and 10MHz but not for 6 and 7,5
- some are working for 4 and 6 OR (?) 7,5, but not for the other two

Anyway it's fantastic to have a real and full working mouse at the Enterprise inclusing the wheel! :)

PS: Zozo, you are right regarding the PS/2 mouse :)
Title: Re: SymbOS
Post by: geco on 2016.November.26. 21:42:42
I think waits should be set up based on CPU speed:
4 MHz: short delay 2, long delay 3
6 MHz: short delay 3, long delay 5
7-8 MHz: short delay 4, long delay 6
10 MHz: short delay 5, long delay 8

Or what happens if everywhere short delay 5, long delay 8 is used?
Title: Re: SymbOS
Post by: Prodatron on 2016.November.26. 21:46:17
Good idea, thanks for the hint Geco! That's how I did it for the old Boxsoft driver, will try it for the EnterMice driver now as well!
A static 5/8 delay didn't work for all kind of CPU speeds right now (or maybe I missed something).
Title: Re: SymbOS
Post by: geco on 2016.November.26. 21:54:55
Is it possible one delay setting was missed?
There are 2 short and one long delay, I used delay setting based on CPU speed in Chessmaster conversion, I did not get back negative feedback, but it is possible it was not tested on all Speed.
Title: Re: SymbOS
Post by: geco on 2016.November.26. 22:04:53
Good idea, thanks for the hint Geco! That's how I did it for the old Boxsoft driver, will try it for the EnterMice driver now as well!
A static 5/8 delay didn't work for all kind of CPU speeds right now (or maybe I missed something).
Or probably the values should be bigger at 10 MHz :?:
Title: Re: SymbOS
Post by: gflorez on 2016.November.27. 01:11:08
EnterMice adapts itself to the frequency of the host.

3, 2, 2, 2 delays where set by Zozo while testing the Exos mouse driver on a 10Mhz machine.
Title: Re: SymbOS
Post by: pear on 2016.November.27. 08:59:54
EnterMice isn't adapts. It's working on events&timeouts instead of wait states.
See timings table (http://wiki.enterpriseforever.com/index.php/EnterMice#EnterMice_timings). By the way, can you correct the German version (http://wiki.enterpriseforever.com/index.php/EnterMice_(Deutsch)#EnterMice_Timing) ?
Title: Re: SymbOS
Post by: IstvanV on 2016.November.27. 10:38:03
In Bricky Prise (https://enterpriseforever.com/enterprise-devcompo-1-37/enterprise-program-bricky-prise/msg59772/#msg59772), I use delays that are calculated from the measured clock frequency. Although the delay times are set somewhat conservatively, it is still faster on a 4 or 6 MHz machine than a hard-coded delay that is tuned for the fastest EP configuration that exists. :) It is not entirely clear from the documentation however if "Standby time for the next reading (counting from data issue): 14 μs" means that at least 39 us (25 + 14) wait is required between RTS state changes, but I assumed that is the case to be safe.
Title: Re: SymbOS
Post by: pear on 2016.November.27. 10:53:18
Yes exactly. The 14 μs is the time to the end of interrupt cycle in EnterMice. Only after this time, you can request next data.
It is important that the time between readings wasn't too long, because after 1500 μs data counter is reset to zero and followed another reading from mouse.
Title: Re: SymbOS
Post by: gflorez on 2016.November.27. 14:07:17
I think it is best to release the 4Mhz working version. Then the genius here can fix the problems...
Title: Re: SymbOS
Post by: gflorez on 2016.November.27. 15:50:14
The genius here.

Not counting me....
Title: Re: SymbOS
Post by: Prodatron on 2016.November.27. 18:14:21
After playing around with different values it seems, that it's working now for all types of CPU clocks. During booting SymbOS is measuring the CPU speed and prepares the wait-values for the EnterMice routines. It should use 3,3,3,... for 4MHz and 9,9,9,... for 10MHz machines (and something inbetween for 6 and 7,5MHz). Because of the automatic generation of the values some waits may be a little bit too long, but at least for 10MHz I really had to use 9,9,9,... all the time, and currently I am just glad that it's working now.

[attachurl=2]

Here is a DSK with the actual build of SymbOS 3.0. It is using the Extended Desktop, so it won't fully boot on machines with 128K only (just delete the SYMBOS.INI if you have 128K only).

[attach=1]

It seems to run fine on the Enterprise!
For the EP specific port of 3.0 there is only one item left on my todo list:
- debugging the FDC routines
Title: Re: SymbOS
Post by: geco on 2016.November.27. 19:26:38
Congratulation :smt041
Title: Re: SymbOS
Post by: lgb on 2016.November.27. 19:47:36
Very nice! What is "extended desktop" if I can ask? Sorry, if I missed some topics, maybe, and it was already discussed somewhere :)
Title: Re: SymbOS
Post by: gflorez on 2016.November.27. 20:31:04
The extended desktop loads some extras at initiation. It is not related with resolution.

But Prodatron still has to extend the resolution to the max admited.
Title: Re: SymbOS
Post by: Prodatron on 2016.November.27. 20:43:36
Oh, seems that I didn't write about this here before (only mentioned the new Widgets in one post?).

The "extended desktop" is an optional module (working like an own app), which can be loaded during booting. It is replacing the desktop and startmenu management of SymbOS with some enhanced features.
- startmenu with nearly unlimited entries and nested submenus
- desktop with nearly unlimited icons; icon handling like in Win9x with auto alignment, property forms etc.
- widget support; you can place little widget apps directly onto the desktop (no own forms but they are part of the desktop itself); these could do things like the widgets you know from your smartphone (clock, cpu meter, weather widget w.i.p [erm yes, EP still needs an ethernet hardware - Bruce? :) ])

Here are some screenshots:

[attach=1] [attach=2] [attach=4] [attach=5] [attach=6] [attach=7] [attach=8] [attach=9] [attach=10] [attach=11] [attach=12] [attach=13]

Not sure if I already posted something about the new help browser for SymbOS here:
[attach=3]
Edo and me started some HLP files for most of the existing apps, though they are still not completed. The new help file browser is quite similiar to the old one for Win9x with chapters, different font styles etc.

Hope you will like some of the new stuff.
Title: Re: SymbOS
Post by: Prodatron on 2016.November.27. 21:06:10
But Prodatron still has to extend the resolution to the max admited.
Yes, that's not planned for 3.0, as it requires some more work and will also split the EP port into two branches (normal and "power" version ;) ).
Title: Re: SymbOS
Post by: lgb on 2016.November.27. 21:59:32
Hmmm, my old thought is to build a "smart phone" like entity :) with a Z80 or 65xx or something to show, there can be a solution where that damn menu not lags with multiple core CPUs on GHz scale with Gbytes of memory :) It seems SymbOS is quite a good candidate :) Seriously, it's not that hard, ie there are "GSM modules" some can even built some "cell phones" with a module like that and a low end 8 bit MCU only. Now with some decent display included etc, there can be some kind of "smart phone" feeling, surely without watching youtube HD videos etc too much :)
Title: Re: SymbOS
Post by: Ep128 on 2016.November.27. 23:41:02
I love it and I wait for it very much! :-)
Title: Re: SymbOS
Post by: Prodatron on 2016.November.28. 00:07:48
I love it and I wait for it very much! :-)

Thanks! :) The current preview is probably very close to the final release of SymbOS EP 3.0. I am trying to do the official release still in 2016 (around Xmass).
The website has been updated as well:
http://www.symbos.org
Some of the new sections are not finished, but at least the application area is now database driven and up-to-date:
http://www.symbos.org/apps.htm
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.28. 09:03:25
It is using the Extended Desktop, so it won't fully boot on machines with 128K only (just delete the SYMBOS.INI if you have 128K only).
The Extended Desktop can be switched On/Off from settings somewhere?
Title: Re: SymbOS
Post by: Prodatron on 2016.November.28. 12:32:35
Yes, it's the "load SymbOS extensions" option in the Control Panel -> System -> General tab, see here:
[attach=1]
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.28. 12:47:44
And how many memory expansion needed for the extra functions? 16/32/64/128/256/512/1024? :-)
Title: Re: SymbOS
Post by: Prodatron on 2016.November.28. 12:55:44
The extended desktop modul is using about 37K (16K buffer for desktop icons, startmenu entries, widget properties, 11K code etc.):
[attach=1]
Additional 64K would be enough :)
Title: Re: SymbOS
Post by: gflorez on 2016.November.28. 13:40:08
And, how the Symbos.ini files are done?

How can I add other mass storage (SD) if it isn't shown on the Control Panel/Mass Storage app?

Title: Re: SymbOS
Post by: Prodatron on 2016.November.28. 16:56:04
The structure of the SYMBOS.INI file is described in the attached document (nearly up-to-date), which is included in the developer documentations ( http://www.symbos.org/download.htm#marke1 ).
Maybe you are more speaking about exchangeable mass storage device drivers? This feature is currently only available for the MSX version. Not sure if the IDE interface is still important for the Enterprise. If yes I can plan to make the drivers not fixed but loadable during booting like we have it on the MSX.
Title: Re: SymbOS
Post by: gflorez on 2016.November.28. 19:38:38
Thanks for the information. I only wanted to make your preview also work on a SD reader.

This a SIMBOS.INI file to make this same SymbOs version to work on a SD reader on slot 1 (big SD).

To use it, simply copy the content of Prodatron's disk on partition F:.

Then overwrite the SIMBOS.INI file with this modified file.

Load SymbOS with the usual command   :LOAD SYM

I have tested it on the emulator, but it should work on the real machine.
Title: Re: SymbOS
Post by: Tutus on 2016.November.29. 09:26:20
Could solve the SymbOS to use the extended partitions in the SD Card? :oops:
It could also be used to symcommander.
Title: Re: SymbOS
Post by: gflorez on 2016.November.29. 09:57:42
Yes, if you enter Control Panel/Mass Storage, now the SD appears on the options when you add a new device. You even can select slot 1 or 2 of the SD reader, then the partition.

I have to say that it seems that SymbOS takes the actual list of devices from EXOS, just before the loading.

On the previous post I said that the file is for :F on Slot 1, but actually it is for Slot 0. I had no opportunity to test it on the real machine, but at least now it can be fixed within SymbOS and then save the configuration to a new SYMBOS.INI file of our choice.
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.29. 10:00:31
Yes, if you enter Control Panel/Mass Storage, now the SD appears on the options when you add a new device. You even can select slot 1 or 2 of the SD reader, then the partition.
But the SymbOS only handle the four Primary partitions, not the extended partitions :-(
Title: Re: SymbOS
Post by: gflorez on 2016.November.29. 10:48:55
Yes, only four partitions is a limitation with the actual FAT12 situation. There is also a "not partitioned" option, probably to format to FAT16/32 within SymbOS. I've not tested if an already created FAT32 partition is detected and used.

Now that IDE disks can coexist with the SD-reader, you must describe the device to Prodatron to be included on the list of devices.

Also,  in the future, explore how to return to EXOS without losing its integrity. Also, a way to launch an EXOS app.
Title: Re: SymbOS
Post by: gflorez on 2016.November.29. 11:13:22
As Prodatron has put it in Youtube, you all can enjoy this video preview (https://www.youtube.com/watch?v=JbEzlhNLshc).

The text in the video:

"Geco managed to modify SymAmp for playing sound modules on the Enterprise as well! This is only a little video showing the first two test songs on my real EP 128 machine.
The special thing about Gecos work is, that the "Dave" chip (which is responsible for the sound as well) of the Enterprise is not compatible to the AY-3-8912 (PSG) used in the Amstrad CPC, MSX, ZX Spectrum and others. Geco had to write conversion routines, so that the modules still sound fine on the Enterprise as well. IMHO it's a great result!"

I showed Geco on 25 November the place where Prodatron has the source of the SymAmp app, and Prodatron has released this video on 28 November.

Geco is fast....
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.29. 11:25:55
Yes, only four partitions is a limitation with the actual FAT12 situation.
No, it is limit of standard MBR. And the solution are the Extended partitions, which is use only one entry in the MBR table.
Then the limits only the available drive letters :-) Under the EXDOS F-Z are available.

My IDE/SD driver collect details of all FAT partitions (LBA start, size, type) at system start, later no partition tables used.

The question are: how many drives (letters) are possible under SymbOS? If also possible up to Z, then only the partition collection routine needed to be extended.


Quote
There is also a "not partitioned" option, probably to format to FAT16/32 within SymbOS.
SD cards can be exist without partitions, 0. logical sector store the boot sector like as the floppy.


Quote
Now that IDE disks can coexist with the SD-reader, you must describe the device to Prodatron to be included on the list of devices.
Some power users want it! :-)

Quote
Also,  in the future, explore how to return to EXOS without losing its integrity. Also, a way to launch an EXOS app.
For this need to be system segment don't overwrited. Prodatron say previously it is only possible in the "for extended Enterprise" version, which can be use a different memory map.
Title: Re: SymbOS
Post by: lgb on 2016.November.29. 11:29:50
Some power users want it! :-)
For this need to be system segment don't overwrited. Prodatron say previously it is only possible in the "for extended Enterprise" version, which can be use a different memory map.

Well, with mass-storage solutions now like SD-card, isn't it possible to save the system segment, to the card and restore on exit? At least, as far as I can see, memory is more valuable than SD card space. This is for "exit" feature more, than launching an EXOS app, though with SD-card speed, I guess, it won't be noticed too much either to "swap memory" "out" then "back" if some wants to run an EXOS app from SymbOS, for example ...
Title: Re: SymbOS
Post by: gflorez on 2016.November.29. 11:32:48
Ok. I wanted to say the same as LGB.


Title: Re: SymbOS
Post by: Zozosoft on 2016.November.29. 12:44:00
As Prodatron has put it in Youtube, you all can enjoy this video preview (https://www.youtube.com/watch?v=JbEzlhNLshc).
Great! :smt038

This SymAmp are available?
Title: Re: SymbOS
Post by: gflorez on 2016.November.29. 13:19:38
It is a preview, but surely soon Prodatron releases the app.

This time is not a hack like Geco did (I only joined the pieces) with the Speech app. I think that this  weekend Geco has been directly instructing Prodatron on how to modify his player to work on EP emulating the AY chip.
Title: Re: SymbOS
Post by: geco on 2016.November.29. 13:52:31
The text in the video:

"Geco managed to modify SymAmp for playing sound modules on the Enterprise as well! This is only a little video showing the first two test songs on my real EP 128 machine.
The special thing about Gecos work is, that the "Dave" chip (which is responsible for the sound as well) of the Enterprise is not compatible to the AY-3-8912 (PSG) used in the Amstrad CPC, MSX, ZX Spectrum and others. Geco had to write conversion routines, so that the modules still sound fine on the Enterprise as well. IMHO it's a great result!"

I showed Geco on 25 November the place where Prodatron has the source of the SymAmp app, and Prodatron has released this video on 28 November.

Geco is fast....
Small correction, I used István's AY emulation routine :) , and it is not fully finished yet, it should be modified at least on 4 places , because SYMBOS using relocation and it seems only Winape's assembler supports it, but not everything, on this 4 places the relocation is hard coded, and I have to test it with other songs also. :)
Geco is not so fast :) , I thought I finish in 3-4 hours, but I spent about 14 hours with it, and I will spend more :)
Title: Re: SymbOS
Post by: Prodatron on 2016.November.29. 16:20:36
There is also a "not partitioned" option, probably to format to FAT16/32 within SymbOS. I've not tested if an already created FAT32 partition is detected and used.
Zozo is correct. Today sometimes an MBR is added with one partition, and sometimes there is no MBR, the boot sector of the first partition is directly placed at physical sector 0. In this case you have to select "not partitioned".
I am using the "big" SD card at my EP for all the FAT12 partitions and the micro SD card as a FAT32 device with 32GB for SymbOS only. So I have at least one partition which is shared between EXDOS and SymbOS and one big for all the additional data which can be used in SymbOS (videos etc :) ).
Due to its ability to access larger FAT16 and gigantic FAT32 partitions (up to 2TB in theory) I didn't see the need for supporting extended partitions before (it would made the routine for "activating" a partition a litte bit bigger).

The question are: how many drives (letters) are possible under SymbOS? If also possible up to Z, then only the partition collection routine needed to be extended.
You can use any drive letter between A-Z, but the total number is limited to 8 (again with a nice FAT32 partition this is more than enough :P )

Prodatron say previously it is only possible in the "for extended Enterprise" version, which can be use a different memory map.
That's correct!

Well, with mass-storage solutions now like SD-card, isn't it possible to save the system segment, to the card and restore on exit?
Hm, good idea, maybe the boot loader can do this before starting SymbOS. Then no changes in SymbOS itself are required at all, just a "restore app", which is executed when you quit SymbOS...

This SymAmp are available?
It's currently in Gecos hands :) I just tested his first version from yesterday evening, which he was sending to me.
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.29. 16:38:39
The reason why the extended partitions pop up: users want to use Sym Commander as file manager for Enterprise partitions.
Then will be good if all partitions can be accessed.
Title: Re: SymbOS
Post by: gflorez on 2016.November.29. 18:52:37
It's currently in Gecos hands :) I just tested his first version from yesterday evening, which he was sending to me.

That is still more impressive to me...
Title: Re: SymbOS
Post by: Prodatron on 2016.November.29. 22:33:32
The reason why the extended partitions pop up: users want to use Sym Commander as file manager for Enterprise partitions.
Then will be good if all partitions can be accessed.
Ok, I agree... Shouldn't be a problem to extend it for the next version!
Title: Re: SymbOS
Post by: Tutus on 2016.November.30. 09:20:31
Ok, I agree... Shouldn't be a problem to extend it for the next version!
If you solve this I give half of my kingdom. :ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: Zozosoft on 2016.November.30. 09:56:50
I have MSX question at the MSX topic. (https://enterpriseforever.com/other-topics/msx-computers/)
Title: Re: SymbOS
Post by: gflorez on 2016.November.30. 10:59:51
Not related with your question, but Yesterday I found that a Brazilian company or group(Tecnobytes (http://www.tecnobytes.com.br/)) had been releasing batches of enhanced clones of Sunrise MoonSound and GFX9000, they even plan to launch a FPU coprocessor on a cartridge. They also have IDE and Ethernet cartridges on their catalogue, but actually no plans to relaunching them.

I was dreaming on connecting my EP to a GFX9000 when I found it.... see the specifications...
Title: Re: SymbOS
Post by: edoz on 2016.November.30. 11:02:28
Not related with your question, but Yesterday I found that a Brazilian company or group(Tecnobytes (http://www.tecnobytes.com.br/)) had been releasing batches of enhanced clones of Sunrise MoonSound and GFX9000, they even plan to launch a FPU coprocessor on a cartridge. They also have IDE and Ethernet cartridges on their catalogue, but actually no plans to relaunching them.

I was dreaming on connecting my EP to a GFX9000 when I found it.... see the specifications...

Maybe it is not so difficult to make some kind of connector for the GFX9000 so you can hookup it to the Enterprise?
Title: Re: SymbOS
Post by: edoz on 2016.November.30. 11:06:15
BDW: Network in SymbOS is really cool. Some weeks ago i release the IRC client for SymbOS.. is there a IRC channel which is used for Enterprise as well ?

(http://members.home.nl/evanzanten/images/mp3.jpg)
Title: Re: SymbOS
Post by: lgb on 2016.November.30. 11:15:53
Maybe it is not so difficult to make some kind of connector for the GFX9000 so you can hookup it to the Enterprise?

I guess no ... For my MSX-virgin brain :) what I know about MSX hardware that it uses a dedicated video RAM, and the video IC (like V9000 but other, older ones too, like 9958, 9938 ...) needs only some (?) I/O ports towards the CPU. So maybe it would be quite easy to connect anything like that to the expansion bus of the EP? However then, you will get a dual monitor :) setup, since not so much a sane way to mix it with the Nick output (though Nick has "external colour" inputs, but first, AFAIK these ICs has analogue output (???) and the most important: you can't make sync between them either too much, I guess at least).
Title: Re: SymbOS
Post by: edoz on 2016.November.30. 11:20:41
I guess no ... For my MSX-virgin brain :) what I know about MSX hardware that it uses a dedicated video RAM, and the video IC (like V9000 but other, older ones too, like 9958, 9938 ...) needs only some (?) I/O ports towards the CPU. So maybe it would be quite easy to connect anything like that to the expansion bus of the EP? However then, you will get a dual monitor :) setup, since not so much a sane way to mix it with the Nick output (though Nick has "external colour" inputs, but first, AFAIK these ICs has analogue output (???) and the most important: you can't make sync between them either too much, I guess at least).

It is the same on the MSX.. you have a dual monitor .. one normal MSX output and one V9990. I think that it is all IO based.
Title: Re: SymbOS
Post by: gflorez on 2016.November.30. 11:43:08
I said "dreaming". For me that wouldn't be an Enterprise.

I think that the really missing piece on the EP is some form of hardware sprites. Or its very own form, never released but already planned. :(

Title: Re: SymbOS
Post by: Zozosoft on 2016.November.30. 11:54:01
I said "dreaming". For me that wouldn't be an Enterprise.
Same for me.

Quote
I think that the really missing piece on the EP is some form of hardware sprites. Or its very own form, never released but already planned. :(
I tried ask many hardware magician but no one want to do it :-(
Title: Re: SymbOS
Post by: gflorez on 2016.November.30. 12:05:57
Have you ever asked if you can see the Sprites prototype for TVC?
Title: Re: SymbOS
Post by: lgb on 2016.November.30. 12:19:26
I guess no ... For my MSX-virgin brain :) what I know about MSX hardware that it uses a dedicated video RAM, and the video IC (like V9000 but other, older ones too, like 9958, 9938 ...) needs only some (?) I/O ports towards the CPU. So maybe it would be quite easy to connect anything like that to the expansion bus of the EP? However then, you will get a dual monitor :) setup, since not so much a sane way to mix it with the Nick output (though Nick has "external colour" inputs, but first, AFAIK these ICs has analogue output (???) and the most important: you can't make sync between them either too much, I guess at least).

Ahaaa ... So I meant "I guess so" and not "I guess no" :D
Title: Re: SymbOS
Post by: Prodatron on 2016.November.30. 13:06:48
The V9990 is accessed only by these few ports (on the MSX):

; Port defines
G9K_VRAM                EQU     #60     ; R/W
G9K_PALETTE             EQU     #61     ; R/W
G9K_CMD_DATA            EQU     #62     ; R/W
G9K_REG_DATA            EQU     #63     ; R/W
G9K_REG_SELECT          EQU     #64     ; W
G9K_STATUS              EQU     #65     ; R
G9K_INT_FLAG            EQU     #66     ; R/W
G9K_SYS_CTRL            EQU     #67     ; W
G9K_OUTPUT_CTRL         EQU     #6F     ; R/W

So you only need a range of 16 port addresses and can fully use the V9990, which has its own video ram. So maybe it is pretty easy to build an interface for it. SymbOS supports a resolution of up to 1024x212 at 16 colours.
But I agree that a Graphics9000 output wouldn't look like an Enterprise anymore, but it would be a nice project anyway :)
On the MSX it was a little bit different, as it is still looking similiar to the VDP9938 etc. Though even here there was not that much software released for the Graphics9000, a huge part of the apps which run with the G9K are now coming from SymbOS.
Title: Re: SymbOS
Post by: Prodatron on 2016.November.30. 13:12:54
I said "dreaming". For me that wouldn't be an Enterprise.

I think that the really missing piece on the EP is some form of hardware sprites.
And I am still dreaming about Ethernet for the Enterprise :P

Since this year we finally have a network hardware for the CPC as well (based on the ESP8266 wlan modul):
https://www.youtube.com/watch?v=bB6X7V6fVyE
Title: Re: SymbOS
Post by: lgb on 2016.November.30. 13:32:53
I'm a bit confused with ESP8266. As far as I know (or knew ...) it supports mostly UART-like control, and SPI cannot be used for this purpose too much and the ESP only supports SPI for mostly being a master and not a slave what we would need here. However on a page found from you the description of the youtube video (M4 Board – The SPI IPC) it states that indeed, ESP is the master. But I am lost then, how can something direct ESP to something when SPI communication is initiated and controlled by the ESP, so the opposite direction what I would think? Do you know any further how it is realized? Thanks.
Title: Re: SymbOS
Post by: lgb on 2016.November.30. 14:10:38
The V9990 is accessed only by these few ports (on the MSX):

Hmm. I am wondering if it's possible to create a "bridge" to connect MSX "cards" onto Enterprise. Maybe not limited to V9990 stuff ... After all both system uses Z80 and its bus handling methods, though for sure there can be specialities, I/O port collusion, exact timing (ie, different clock speed, wait states, whatever). At least "simple" cards (from the viewpoint of bus connection and needed features/timing, I mean that "simple") should work, which are not picky about the very accurate MSX stuffs.
Title: Re: SymbOS
Post by: edoz on 2016.November.30. 14:18:45


Hmm. I am wondering if it's possible to create a "bridge" to connect MSX "cards" onto Enterprise. Maybe not limited to V9990 stuff ... After all both system uses Z80 and its bus handling methods, though for sure there can be specialities, I/O port collusion, exact timing (ie, different clock speed, wait states, whatever). At least "simple" cards (from the viewpoint of bus connection and needed features/timing, I mean that "simple") should work, which are not picky about the very accurate MSX stuffs.

I started the same discussion for the CPC as well. I'm not a hardware specialist but for I/O devices it must be easy to do i guess?
Probably just a connector or so.

Link to discussion on MSX.ORG (https://www.msx.org/forum/msx-talk/hardware/need-help-hardware-experts)
Title: Re: SymbOS
Post by: BruceTanner on 2016.November.30. 17:26:43
I'm a bit confused with ESP8266. As far as I know (or knew ...) it supports mostly UART-like control, and SPI cannot be used for this purpose too much and the ESP only supports SPI for mostly being a master and not a slave what we would need here. However on a page found from you the description of the youtube video (M4 Board – The SPI IPC) it states that indeed, ESP is the master. But I am lost then, how can something direct ESP to something when SPI communication is initiated and controlled by the ESP, so the opposite direction what I would think? Do you know any further how it is realized? Thanks.

As it happens I have been looking into this a bit  and although the ESP can be a SPI slave, we seem to be on the edge of what has been tried and/or documented here! As a master it is geared around sending command/length/data (as expected by eeprom chips etc) but each part of that can be disabled ie. it could be configured to just deal with bytes. But the official documentation says that as a slave those cannot be disabled.

The ESP being a slave seems a more natural way to use it in this scenario for the reasons you say and also so that everything works at z80 speed rather than 32-bit 80MHz processor speed, but I guess it would be possible to design a system which is idling most of the time eg. sending 0s each way until the z80 sends a non-zero command.

There needs to be a protocol running over the SPI link. That could presumably be the AT+ commands as with the UART but it could be something else...basically the internal ESP networking API implemented as serial bytes.

A few ESPs have just arrived in the post...
Title: Re: SymbOS
Post by: Prodatron on 2016.November.30. 17:49:14
I am not an ESP8266 expert at all, but the only thing I heard is, that you can communicate via AT commands like with a modem. Here you can trigger commands and get results. There should also be the possibility to reprogram the ESP8266 to communicate in another way.
In case of the "M4 Board" for the CPC the core part is an M4Cortex, which is communicating with the CPC and controls both the ESP8266 and the SD card reader. So the Z80 doesn't communicate with the ESP8266 directly.

A few ESPs have just arrived in the post...
Wow! A Z80 machine with Wifi really rocks! :)

(http://www.symbos.de/gfx/blog/2016-10/2016-10-19-00.gif)
Title: Re: SymbOS
Post by: lgb on 2016.November.30. 18:17:22
Wow! A Z80 machine with Wifi really rocks! :)

Indeed :D Now, it would be extra cool to access a remote filesystem over the network :-P Well, maybe not so much a protocol like CIFS, though I don't know the details, but maybe it's kinda complicated for a 8 bit computer.
Title: Re: SymbOS
Post by: geco on 2016.November.30. 22:24:34
The Symamp version what I sent to Prodatron hang (and put dirt on the screen to the cursor position )sometimes when the music moved forward and backward at PT3 playing, it took 2 days to find the reason, on EP we should save AF register before AY register playback and restore it after, I did not experience hang on CPC, and rarely experienced it on MSX , if it happens then AF save and restore has to be applied (I did not try newest version on CPC)
EP version has limitation, I could implement envelope emulation only in 50Hz instead of 1Khz therefore high frequency envelopes sounds ugly on EP :( and if AY plays noise and tone in the same time, SYMAMP plays only noise at noise frequency.
Title: Re: SymbOS
Post by: Prodatron on 2016.November.30. 23:01:03
Thanks so much Geco!
I am currently enjoying my Enterprise 128 as a very cool jukebox with your new SymAmp version and many PT3 modules! :D
I will make more tests tomorrow!
Title: Re: SymbOS
Post by: geco on 2016.November.30. 23:21:38
Thanks so much Geco!
I am currently enjoying my Enterprise 128 as a very cool jukebox with your new SymAmp version and many PT3 modules! :D
I will make more tests tomorrow!
Thank you very much :-) I hope without hanging.
Title: Re: SymbOS
Post by: Prodatron on 2016.November.30. 23:25:43
I reached module #54 now, no hang at all :D
[attach=1]
Title: Re: SymbOS
Post by: Ep128 on 2016.November.30. 23:59:15
What I miss once and now yet, that HDD (winchester) treatment! Prodatron you plan it...? :-)
Title: Re: SymbOS
Post by: Prodatron on 2016.December.01. 00:01:53
What I miss once and now yet, that HDD (winchester) treatment! Prodatron you plan it...? :-)
Ep128, are you speaking about the IDE interface (which is emulated in EP128Emu)?
Title: Re: SymbOS
Post by: gflorez on 2016.December.01. 01:00:41
Wonderful!  SymbOS is a lot more enjoyable with sound...


------------------------------


On the other side, I can't un-check the Floppy disk option on Control Panel/Mass storage, so I can't create a new device for a SD partition.

Is it only me?
Title: Re: SymbOS
Post by: Prodatron on 2016.December.01. 01:29:15
On the other side, I can't un-check the Floppy disk option on Control Panel/Mass storage, so I can't create a new device for a SD partition. Is it only me?
You want to delete the floppy disc? Just press "DEL" after selecting it.
But maybe it's another issue? The radio buttons "floppy disc"/"sd/mmc card reader" should work (at least here on my side).
Title: Re: SymbOS
Post by: gflorez on 2016.December.01. 02:24:47
On the last preview, the Mass storage only permits Floppy, and it is un-checkable. It admits SD devices if found on the SYMBOS.INI file.

But on your early preview, there are both floppy and SD device options.

Title: Re: SymbOS
Post by: Prodatron on 2016.December.01. 02:28:17
Thanks for the hint! I will check it tomorrow!
Title: Re: SymbOS
Post by: Zozosoft on 2016.December.01. 06:37:44
Ep128, are you speaking about the IDE interface (which is emulated in EP128Emu)?
Yes.
Title: Re: SymbOS
Post by: Zozosoft on 2016.December.01. 23:29:10
Here is a DSK with the actual build of SymbOS 3.0. It is using the Extended Desktop, so it won't fully boot on machines with 128K only (just delete the SYMBOS.INI if you have 128K only).
It is realy needed a separate .INI for 128K and expanded machines? Now I tried it and it is look auto disabled the extended desktop when loaded with only 128K.
Title: Re: SymbOS
Post by: Zozosoft on 2016.December.02. 00:45:58
Little crazy: all app renamed from previous version :oops: Need to edit all shorcuts, and programs at file extensions.
Title: Re: SymbOS
Post by: Ep128 on 2016.December.02. 00:48:38
Ep128, are you speaking about the IDE interface (which is emulated in EP128Emu)?

Yes!
I would like it, if SymbOS A, B, C, D floppy drive and the hard disk drive would see it! :-)
Title: Re: SymbOS
Post by: Zozosoft on 2016.December.02. 11:19:30
Found bug in SymCommander: it is not see all files in directory :oops:
[attach=1]
[attach=2]
Title: Re: SymbOS
Post by: edoz on 2016.December.02. 11:51:11
Little crazy: all app renamed from previous version :oops: Need to edit all shorcuts, and programs at file extensions.

Yes in 3.0 apps have a more easy name .. but indeed they are changed compare to 2.1
Title: Re: SymbOS
Post by: edoz on 2016.December.02. 11:52:48
Found bug in SymCommander: it is not see all files in directory :oops:
(Attachment Link)
(Attachment Link)


This is not a bug but a feature. SymCommander is set to use less memory so you are still able to use SymCommander on a 128k machine.
You can change the memory settings and max items in SymCommander and save it if you have more memory in your machine.
Title: Re: SymbOS
Post by: Zozosoft on 2016.December.02. 13:32:39
Tetris waiting for the EP full screen mode :oops:
[attach=1]
Title: Re: SymbOS
Post by: edoz on 2016.December.02. 13:51:31
Tetris waiting for the EP full screen mode :oops:
(Attachment Link)

Ops...  This is a bug. Work around would be to press on the - button ;) I try to fix it!

What about Columns and snake? Are those working?

My APP Store ;) (http://members.home.nl/evanzanten/appstore/)
Title: Re: SymbOS
Post by: gflorez on 2017.February.13. 12:14:21
Please Prodatron, If I start SymbOS on 4Mhz mode, then if I switch to 10Mhz, the mouse ceases to work until I return to 4MHz.

On the other side, if I Start SymbOS on 10Mhz, it works also on 4Mhz. It is because EnterMice adapts itself to the reading cycles.

You already said that you implemented a clock recognition routine at SymbOS Startup, but better leave the Mouse reading routine on the higher state all the time.

Thanks.
Title: Re: SymbOS
Post by: Zozosoft on 2017.February.13. 12:43:10
You already said that you implemented a clock recognition routine at SymbOS Startup
Yes, it is only done at the startup. This is also made a problem at the task manager, wrong cpu percentage displayed after the clock change.
Title: Re: SymbOS
Post by: gflorez on 2017.July.23. 00:11:07
Yes, it is only done at the startup. This is also made a problem at the task manager, wrong cpu percentage displayed after the clock change.

Maybe if the processor speed is checked every time when the Task Manager is started, at least the measures will be correct if the app is closed and then re-opened. Or better, the speed checked at intervals by the Task Manager app.
Title: Re: SymbOS
Post by: edoz on 2017.August.30. 16:10:46
(http://members.home.nl/evanzanten/msxorg/symfill.jpg)


Fresh new bits are compiled by Prodatron! The FINAL version of SymbOS 3.0 is ready for download and installation on your beloved Z80 machine! In 2014 SymbOS 2.1 was released, which is now exactly 3 years ago! It seems that the same happend in 2007, also on 30th of august, at that time SymbOS 2.0 saw the light of day! Now 10 years later we can enjoy SymbOS 3.0! It’s really amazing how much time was spend on this project beside all the effort to continue as well over such long period! A lot has been changed since 2.1. Please remember this date in future ;)

Probably we forgot something, but the full list is here below!


Release 3.0 [30.08.2017]


Network enabled
Enterprise port
MSX 1 support
Extended Desktop
Operating system (general)
Desktop Manager
Additional supported hardware
SymShell 2.0
New applications
Miscellaneous
Link to downloads

SymbOS website for download installation packages and applications. (http://www.symbos.org)
Installation PDF (http://members.home.nl/evanzanten/msxorg/SymbOS%203%20install%20user%20and%20install%20guide.pdf)
Edoz appstore (http://members.home.nl/evanzanten/appstore)

Title: Re: SymbOS
Post by: geco on 2017.August.30. 19:44:23
Cool we have Symbos 3.0 :smt041 :smt041
What is the start button In Columns ? I tried all keys, but I could not start it.
Hmm, Flying, and Picture slider hangs Symbos, could be the reason I removed Symbos Disk, and attached my application disk to A: drive?
Title: Re: SymbOS
Post by: Prodatron on 2017.August.30. 20:14:11
Oops, it seems, that I mixed the SymAmp versions! Sorry Geco, I will check it and update the correct one!
Title: Re: SymbOS
Post by: geco on 2017.August.30. 20:16:41
Oops, it seems, that I mixed the SymAmp versions! Sorry Geco, I will check it and update the correct one!
I thought later I made something wrong, therefor I removed Symamp part from my message :), but now I do not find the modified version neither :D
Title: Re: SymbOS
Post by: geco on 2017.August.30. 20:42:10
I think I know what happened, now I found the latest version of Symamp, and it does not work either, Enterprise identifier value is not in Symbos 3.0 or it was changed, this is the reason why Symamp plays as a CPC, and could be the reason of other 2 apps hang?
Title: Re: SymbOS
Post by: gflorez on 2017.August.30. 21:35:24
Great!  I have to read later this long post more slowly...

I have to say that Speech was not my job, the CPC AY routines where converted for the Dave chip by Geco. I only joined all the pieces and it worked straight thanks of Geco's mastery.
Title: Re: SymbOS
Post by: edoz on 2017.August.30. 21:39:08
I think I know what happened, now I found the latest version of Symamp, and it does not work either, Enterprise identifier value is not in Symbos 3.0 or it was changed, this is the reason why Symamp plays as a CPC, and could be the reason of other 2 apps hang?


Yes the indentifier of the system was changed, because of support of the MSX 1 machine. Probably that is the reason in SymAmp! Good point! I think we looked over this issue.
Title: Re: SymbOS
Post by: edoz on 2017.August.30. 21:43:09
Cool we have Symbos 3.0 :smt041 :smt041
What is the start button In Columns ? I tried all keys, but I could not start it.
Hmm, Flying, and Picture slider hangs Symbos, could be the reason I removed Symbos Disk, and attached my application disk to A: drive?

For Columns. You have to go to the mouse to the start text and press with it with the mouse. Or use the joystick or the special commands to move the mouse with the cursor keys. (see PDF manual for more info) Once started you can use the arrow keys to play the game.

For Picture slider: This application is very old and not the most stable one. Probably when you exit it it will hang. It was build on a very old version.
I will ask trebmint, he is the developer and could have a look to it.

Wat wend wrong with Flying?
Title: Re: SymbOS
Post by: geco on 2017.August.30. 21:50:13
For Columns. You have to go to the mouse to the start text and press with it with the mouse. Or use the joystick or the special commands to move the mouse with the cursor keys. (see PDF manual for more info) Once started you can use the arrow keys to play the game.

Wat wend wrong with Flying?
thx :-) i checked only the zip if it contains help.
when i started flying Symbos was frozen, picture slider had the same symptom.
Title: Re: SymbOS
Post by: Ep128 on 2017.August.31. 00:06:11
I waited for it very much! :smt041
Title: Re: SymbOS
Post by: Zozosoft on 2017.August.31. 08:03:20
:smt038
Title: Re: SymbOS
Post by: Tutus on 2017.August.31. 11:50:38
:bow:
Title: Re: SymbOS
Post by: szipucsu on 2017.August.31. 12:17:59
:smt041
Title: Re: SymbOS
Post by: gflorez on 2017.August.31. 22:01:48
I don't find new versions of Speech (https://enterpriseforever.com/programming/symbos-106/msg56504/#msg56504) and Symamp (https://enterpriseforever.com/programming/symbos-106/msg60152/#msg60152) for the EP SymbOS port, so I left here the links just in case somebody wants to test them.

And for the tracker files, now  I don't remember where I take them, sorry.
Title: Re: SymbOS
Post by: Tutus on 2017.August.31. 22:15:20
I have a lot of problems ...
It would be nice to have a Hungarian topic (sorry :) ).
Title: Re: SymbOS
Post by: gflorez on 2017.September.01. 06:23:59
CPC DSK compilation (http://www.cpc-power.com/index.php?page=detail&num=11769) of tracker songs for symamp:

Title: Re: SymbOS
Post by: Zozosoft on 2017.September.01. 09:25:58
I think Tutus and many other users expected the 3.0 is the "full extra EP version" :oops: This is the reason for the misunderstanding :oops:

But Prodatron wrote: first 3.0 will released for all machines, then come specialized versions:
But there is still the plan to have the "expanded" EP version of SymbOS after the 3.0 release, which only runs on expanded machines (192K or more) and uses a higher screen resolution. This would always keep the #FF segment free for EXOS.
Then there is the question: when coming the expanded EP version? :ds_icon_cheesygrin:
Title: Re: SymbOS
Post by: gflorez on 2017.September.01. 11:58:25
Still no working version of symamp?

I guess... if the problem is only the Enterprise identifier value because Prodatron added MSX1, may be the new identifier number is the former one +1...

Edit: Now I understand, it is a problem also of other SymbOS apps.
Title: Re: SymbOS
Post by: geco on 2017.September.02. 18:26:32
Still no working version of symamp?

I guess... if the problem is only the Enterprise identifier value because Prodatron added MSX1, may be the new identifier number is the former one +1...

Edit: Now I understand, it is a problem also of other SymbOS apps.
As I see EP identifier changed from 7 to 6.
Title: Re: SymbOS
Post by: geco on 2017.September.02. 18:57:44
Here is the modified SYMAMP version, it should work on all machines, I changed EP identifier from 7-6, and MP3 Player should work on MSX1 also,
Title: Re: SymbOS
Post by: gflorez on 2017.September.02. 19:54:31
Thanks!
Title: Re: SymbOS
Post by: Zozosoft on 2017.September.07. 20:21:12
Found a bug :oops:
The "INS Lock" joy mode (for no mouse) isn't working :( In the last EP beta release it worked right.
Title: Re: SymbOS
Post by: gflorez on 2017.December.26. 20:02:14
This is an old new from October, but today I have found how Tmtlogic (http://www.tmtlogic.com/), a non profit dutch group of hobbyists, have developed an interface to connect MSX cartridge format peripherals to a humble CPC.


https://www.youtube.com/watch?time_continue=15&v=vvlGBS3nNiY

https://www.youtube.com/watch?v=plQf9_7zPSA

Of curse Prodatron (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/) is behind it.

---------------------------

But surprisingly, much earlier than this I have discovered that Edoz and Prodatron contacted Tecnobites, the Brazilian firm behind the Moonsound(Yamaha OPL4 (https://www.msx.org/wiki/OPL4)) and Sunrise(Yamaha V9990 (https://www.msx.org/wiki/Yamaha_V9990)) MSX enhanced cartridge clones renamed as Shockwave (http://www.tecnobytes.com.br/p/opl4-shockwave.html) and Powergraph (http://www.tecnobytes.com.br/p/v9990-powergraph-light.html) respectively.

Then they commissioned the construction of a Powergraph cartridge for the CPC (http://V9990 CPC Powergraph) line of computers. They where sold on August of this same year.

https://www.youtube.com/watch?v=DFtcGITspwk

----------------

Of course, both solutions have been implemented on the CPC port of SymbOS as you can see on the videos.

-------------

Is possible an Enterprise version of that MSX cartridge adapter?. We have told about that earlier on this same thread...
Title: Re: SymbOS
Post by: szipucsu on 2017.December.28. 21:13:44
I hope we can listen to these songs (https://www.youtube.com/watch?v=3xEyNQA6Weg) on the Enterprise soon. They sound cool, in mp3 format!
Title: Re: SymbOS
Post by: gflorez on 2017.December.29. 01:04:44
Yes!! is that what I mean.

There are a lot of MSX I/O cartridges(interfaces) of all types. More common classical cartridges where floppy controllers or memory expansions-mappers, but also some game cartridges brought enhanced sound with a FM synthesizer, and then the stand-alone FM cartridge was released as a new standard, called MSX-Sound or the cut-down version, MSX-Music.

Some of the specifications of the Yamaha Y8950 chip used where:

[attach=1]

Impressive, but only in mono sound as the MSX line of computers never where released in stereo.

Some cartridges had a midi interface, sample memory, Mic, mono input/output sound, and a simple musical keyboard add-on.


The MSX line of computers had a lot of makers all over the world, and some reincarnations: MSX, MSX2, MSX2+ and MSX turbo R, every one with better video modes, sound and processor. Also there was a MSX3 standard planned, but think that the MSX turbo R was released in 1990, completely superseded by Commodore Amigas or Atari Sts.

The desire of enhancement of the MSX user base surfaced on the 90s with the video9000 and Moonsound cartridges, based on the supposed graphics and sound chips planed for the never released MSX3.  

The two cartridges have been cloned and enhanced several times, converting them on the de-facto new MSX standard. Prodatron has included them on the MSX port of SymbOS.

But recently, due to the actual retro-computing impulse, more and more new MSX cartridge ad-ons have been created, like the common IDE-CF-SD interface, RS232, USB, Ethernet, WIFI, MP3...., MIDI.....



Getting a MSX cartridge to Enterprise adapter could imply to have access to all these hardware....
Title: Re: SymbOS
Post by: SlashNet on 2017.December.29. 07:38:28
Interviewing Jörn Proda aka “Prodatron”, SymbOS creator and retro enthusiast (https://distritoentebras.wordpress.com/2017/12/23/interviewing-jorn-mika-aka-prodatron-symbos-creator-and-retro-enthusiast/)
Title: Re: SymbOS
Post by: gflorez on 2017.December.29. 10:22:11
I think there is a confusion with the real name of Prodatron in that interview, because in the emails he signs Jörn Mika.
Title: Re: SymbOS
Post by: gflorez on 2018.February.03. 15:32:42
Do you know how to do clicks with the keyboard?

On older versions INS activates the keyboard, but  on 3.0 it behaves different. Now you must press ALT while moving the internal joystick to slide the mouse pointer, but I don't know how to click on the icons.

I want to show to other Enterprise owners how good SymbOS or EGI works on their machines. Almost all of them own EXDOS controllers and 512KB Ram expansions, but only one of them has an EnterMice.  

I know, we have a fantastic emulator, but it is easier for me to give my friends a disk or an image than try to teach them how to install and configure the emulator to try the program. A lot of them ignore that they don't need more equipment to make SymbOS work.
Title: Re: SymbOS
Post by: Tutus on 2018.February.03. 20:56:36
This is a bug. We have already reported to Prodatron.
He will fix it :)
Title: Re: SymbOS
Post by: gflorez on 2018.February.03. 22:09:43
Ok, thanks Tutus. I have not realised the error until now. And the SimbOS pdf manual didn't aid me.

Also, the keyboard doesn't allow diagonal movements of the pointer.
Title: Re: SymbOS
Post by: gflorez on 2018.February.07. 13:04:57
I have found a download link to a beta version of Unify IDE here (https://www.msx.org/news/en/the-final-version-of-symbos-30-is-ready-for-download), formerly named Symstudio and soon to be released as Quigs IDE.

It is a development suit for SymbOS, being developed since a lot of years by Trebmint(Rob Buckley). As Edoz put the link on ww.msx.org last year(September 2017) and it still works, probably he doesn't care if we download a few copies of it...

It includes the code of a lot of Edoz's own apps, like Columns, Battleship or Tetris. There isn't documentation, but Trebmit released three youtube videos (https://www.youtube.com/channel/UCIt0pGAMd48leZ-8uuv3MRQ) on 2014 explaining its use.

Both Trebmint and Edoz are EnterpriseForever users, so I don't think they will mean if we are interested on developing something simple for  Prodatron's wonderful operative system.
Title: Re: SymbOS
Post by: Tutus on 2018.February.07. 14:17:08
I will be happy if SymCommander will handle the extended partitions of the SD card. :)
And, of course, there will be chat as well. :) (This also requires a Bruce NET card)
Title: Re: SymbOS
Post by: gflorez on 2018.February.08. 09:32:45
Another way to develop for SymbOS 3.0, more skilled, is a SDK (http://www.nerlaska.com/msx/symbos_sdk.html) for a free C compiler known as SDCC (http://sdcc.sourceforge.net/). Although it is intended for Symbos 2.0, the descriptions can be completed with the up-to-date Developer documentation (http://www.symbos.de/download/20170830-V30/dev-documentation.zip) and the System library (http://www.symbos.de/download/20170830-V30/dev-library.zip) on the download section (http://www.symbos.de/download.htm) of the operative system's web page.
Title: Re: SymbOS
Post by: Tutus on 2018.February.08. 15:01:41
Yes, but here are not the bugs and requests that we have already mentioned several times...

Known bugs and Known problems

http://www.symbos.de/download.htm#marke3 (http://www.symbos.de/download.htm#marke3)
Title: Re: SymbOS
Post by: IstvanV on 2018.February.09. 16:37:04
I hope we can listen to these songs (https://www.youtube.com/watch?v=3xEyNQA6Weg) on the Enterprise soon. They sound cool, in mp3 format!

How about a SymbOS compatible Enterprise MIDI (.epm) player, if someone is interested in writing one? Or maybe even a port of SIDBASIC, but that would be harder.
Title: Re: SymbOS
Post by: gflorez on 2018.February.09. 17:52:06
Good idea, but it would be better to expand Symamp to reproduce it. Then every SymbOS user(CPC, MSX and Enterprise) will benefit. And about a SID player, you already have made half the work with your Spectrum SID to AY libraries.

Geco has the up-to-date Symamp source (https://enterpriseforever.com/programming/symbos-106/msg66052/#msg66052).
Title: Re: SymbOS
Post by: gflorez on 2018.February.09. 18:08:34
I realise now, AY chips only have three channels.
Title: Re: SymbOS
Post by: gflorez on 2018.February.21. 11:32:19
Something not related with software, but related with SymbOS:

TMTLogic, creators of the AMSDAP(MSX cartridge adapter for the CPC line of computers) have published on their web page a picture of version 2 of the card:

[attachimg=1]

AMSDAP2 (http://www.tmtlogic.com/tmtlogic.com/images/REV2.jpeg)

They have made some changes, now it is a bus replicator with three CPC slots and two MSX cartridge slots. They have also rotated the card, to better take advantage of the desktop space at the back of the computer.

Observe: there is no logic between the CPC slots and the MSX slots. Could it just be a matter of re-adjusting the signals to the MSX cartridge pinout (https://www.msx.org/wiki/MSX_Cartridge_slot)?

Prodatron wrote long ago on this thread:

The V9990 is accessed only by these few ports (on the MSX):

; Port defines
G9K_VRAM EQU #60 ; R/W
G9K_PALETTE EQU #61 ; R/W
G9K_CMD_DATA EQU #62 ; R/W
G9K_REG_DATA EQU #63 ; R/W
G9K_REG_SELECT EQU #64 ; W
G9K_STATUS EQU #65 ; R
G9K_INT_FLAG EQU #66 ; R/W
G9K_SYS_CTRL EQU #67 ; W
G9K_OUTPUT_CTRL EQU #6F ; R/W

So you only need a range of 16 port addresses and can fully use the V9990, which has its own video ram. So maybe it is pretty easy to build an interface for it. SymbOS supports a resolution of up to 1024x212 at 16 colours.
But I agree that a Graphics9000 output wouldn't look like an Enterprise anymore, but it would be a nice project anyway :)
On the MSX it was a little bit different, as it is still looking similiar to the VDP9938 etc. Though even here there was not that much software released for the Graphics9000, a huge part of the apps which run with the G9K are now coming from SymbOS.

It seems that the MSX computers use only the 00-FFh range of Z80 ports, like the Enterprise, and according with LGB's ports list (http://ep.lgb.hu/doc/ports.html), no hardware extension uses the 60-6Fh ports range.

On the CPC all the 16 bit range of Z80 ports is used, but they have fixed the high byte to FFxxh for the MSX I/O. Prodatron explains it here (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/msg150357/#msg150357).
Title: Re: SymbOS
Post by: gflorez on 2018.March.07. 17:12:01
I insist on the creation of compatible MSX I/O slots for the Enterprise...

Similarly to the Graphics9000 for the video, Sunrise made the MoonSound (https://en.wikipedia.org/wiki/Moonsound) OPL4 and the MP3 (http://www.pa4den.nl/MP3opMSX.html) cartridges to enhance the MSX sound.

Moonsound uses ports C0h-C3h or C4h-C7h, not colliding with Enterprise projects.

According with the existing documentation of the MP3 cartridge (http://map.grauw.nl/resources/sound/mp3player.pdf) project, It uses Z80 ports from 21h t0 27h, not colliding with any Enterprise expansion. But  a new clon, the MP3+FM cartridge (http://www.tmtlogic.com/tmtlogic.com/index.php/umja/msx-se-one-mp3-player) from TMTlogic, uses port 20h to set the FM frequency, so it collides with the Z180 project from Zozo, that uses it(MSX (http://map.grauw.nl/resources/msx_io_ports.php) and Enterprise (http://ep.lgb.hu/doc/ports.html) Z80 ports).

-------

On the CPC adapter for MSX cartridges they opted to segregate completely the 256 MSX ports from the 16 bit CPC ones, and for that they fixed them on FFXXh.

My question is, would it be possible to use some of the high bits of the Enterprise Z80 ports to isolate the MSX ports from the Enterprise ones?




Edit: Port 20h is not for the Z180 project, but for a rare switch-able turbo EXDOS card. I think it will be obsolete very soon with the next release of the internal Turbo card from Pear.
Title: Re: SymbOS
Post by: gflorez on 2018.April.12. 21:06:44
To Prodatron:

My Enterprise with a MSX SE-ONE attached playing a MP3 from the SD-cartridge:

https://www.dropbox.com/s/wxbo6z3j9qwjf18/MP3%20on%20SymbOS.mp4?dl=0
Title: Re: SymbOS
Post by: Ep128 on 2018.April.12. 23:40:11
:smt041
When expected the newer version? :-)
Title: Re: SymbOS
Post by: gflorez on 2018.September.23. 01:37:45
Trebmint has released two days ago a pre-alpha of his long awaited environment Quigs (https://uploadfiles.io/2nr3u) to create SymbOS applications.

He has also released a demonstration video (https://www.youtube.com/watch?v=qqhebfT5SFM).
Title: Re: SymbOS
Post by: endi on 2018.October.14. 13:04:53
interesting
https://www.worldofspectrum.org/forums/discussion/56515/workbench-3e
Title: Re: SymbOS
Post by: gflorez on 2018.November.13. 12:35:23
Two links from MSX.ORG about SymbOS that I don't want to loose:

An old thread (https://www.msx.org/forum/msx-talk/software-and-gaming/create-symbos-backgrounds?page=0) about converting background images and an utility(NYYRIKKI) to do it. Also a link to a disk image full of converted backgrounds.

A recent thread (https://www.msx.org/forum/msx-talk/general-discussion/symbossymstudio-how-to-creat-a-vid-file?page=0) about how to convert Mpeg video files for SymbOS, and an actualised link to the last reincarnation of Quigs, that now automatises this job.







Title: Re: SymbOS
Post by: Tutus on 2018.December.30. 19:23:48
We haven't heard of Prodatron for a long time. :(
And for a long time, he promised us to fix SymbOS on Enterprise...
What's up? :)
Title: Re: SymbOS
Post by: Zozosoft on 2018.December.30. 20:06:34
I've already sent emails to him but haven't got any answer :-(
Title: Re: SymbOS
Post by: gflorez on 2019.January.03. 11:57:34
I have also tried to email him, still without an answer...
Title: Re: SymbOS
Post by: geco on 2019.January.03. 15:35:00
strange, the latest update on his page was from aug of 2017.
Title: Re: SymbOS
Post by: geco on 2019.January.03. 15:45:22
Probably Trebmit has some news...
Title: Re: SymbOS
Post by: gflorez on 2019.January.03. 15:50:45
strange, the latest update on his page was from aug of 2017.

This doesn't mean he is on idle, I have read about his activities from EDOZ or Hans Tillema.
Title: Re: SymbOS
Post by: gflorez on 2019.January.27. 01:03:53
Prodatron has answered me:

Hi Gustavo,

it's really nice to hear from you! Somehow I was in "hibernation" mode during the last 14 monthes, I wasn't active on the Z80 at all unfortunately, which is always a bad time for me.

Since a few weeks I am back finally and work on SymbOS again, yeah :)
--------
--------
Jörn


Title: Re: SymbOS
Post by: geco on 2019.January.27. 09:47:51
Good news :)
Title: Re: SymbOS
Post by: Trebmint on 2019.February.03. 21:05:12
Without spoiling the Symbos suprize, I think a lot of Enterprise users are going to be very happy. No lets change that to very very happy, because it will be a big announcement. Prodatron and others have been very busy and its not just the MSX and CPC that are getting the love :)

Regards Trebmint.



Title: Re: SymbOS
Post by: geco on 2019.February.04. 08:26:17
cool :)
Title: Re: SymbOS
Post by: Prodatron on 2019.February.06. 20:00:26
Hi Guys,

after a year of sleeping I am finally back again! :)
Thanks to GFlorez and Hans/TMTLogic there is so much cool new hardware available, it really has to be supported :P
SymbOS EP with Graphics9000 support is already working:
[attach=1]
My plan is to release SymbOS 3.1 with support for all this new stuff (including SymAmp MP3 support for the EP - ok, I think you already have a hacked version of it? - Graphics9000 support for the EP, and more stuff) during spring time.
It's really great to be back again in the world of Z80! :)

CU,
Prodatron
Title: Re: SymbOS
Post by: gflorez on 2019.February.06. 21:11:15
Great! in only a day you have made it work... Stunning!

It is not a hacked version of SymAmp. Geco modified it with the source.
Title: Re: SymbOS
Post by: geco on 2019.February.07. 08:37:48
Welcome back :)

Cooool !!! :smt041
Title: Re: SymbOS
Post by: Tutus on 2019.February.07. 09:53:45
This is very good news!
Prodatron, allow me to become an honorary member of the Hungarian Enterprise Club. :)

(http://www.enterpriseklub.hu/images/Prodatron.jpg)
Title: Re: SymbOS
Post by: edoz on 2019.February.09. 22:55:19
Welcome back :D :D
Title: Re: SymbOS
Post by: gflorez on 2019.February.10. 01:01:28
Hello again Edoz!

Please read the SE-ONE thread (https://enterpriseforever.com/hardware/se-one-music-file-player/msg74306/#msg74306).
Title: Re: SymbOS
Post by: edoz on 2019.February.10. 15:33:22
Thanks for the reminder :D

Here a small youtube i did on SE-ONE, and EMAIL. It was recorded on my MSX machine.. but you can enjoy 16 colors as well when it is ready for the enterprise.
It is so cool to see all the hardware added to the enterprise ;)

My latest progress on the email client (https://www.youtube.com/watch?v=k-8HngqRlpI&feature=youtu.be)
Title: Re: SymbOS
Post by: gflorez on 2019.February.20. 15:40:47
Today I am testing the Enterprise V9990 beta version of SymbOS.

Before you say anything, it still has the same errors, but as you can see, graphically it works flawlessly....

[attach=1]
Title: Re: SymbOS
Post by: gflorez on 2019.February.20. 16:05:54
It is time to remind Prodatron the errors you have found, please.
Title: Re: SymbOS
Post by: Zozosoft on 2019.February.20. 16:52:37
It is time to remind Prodatron the errors you have found, please.
The "INS-lock" mouse emulation don't work in final 3.0 (it is worked in the latest beta 3.0).
Title: Re: SymbOS
Post by: gflorez on 2019.February.20. 17:07:40
Yes, I have said him already about the keyboard mouse.

Now I remember another minor error: Prodatron included a calculation routine for the mouse movement on Turbo machines. I think it is unnecessary, because the EnterMice adapts itself to the reading speed. If I start SymbOS  on 4MHz, then if I switch to 10MHz, the pointer starts to move erratically until I switch again to 4MHz. But if I start SymbOS on 10MHz and then switch to 4MHz, the mouse works perfect on the two frequencies.
Title: Re: SymbOS
Post by: gflorez on 2019.February.20. 17:27:35
Zozo, can you test the floppies on SymbOS at different Z80 frequencies? Just today I have discovered that I can't access them on 10MHz.
Title: Re: SymbOS
Post by: Zozosoft on 2019.February.20. 23:34:58
Yes, it is works correctly only at 4Mhz. Prodatron wrote somewhere, EP floppy routines need to be finished.
Title: Re: SymbOS
Post by: gflorez on 2019.February.21. 10:18:19
Yes, we need him first to fix these minor errors, and then to create extended desktop modes, tailored for the Enterprise resolutions.

On a future other things that we thought, like FAT16 partitions on the SD spare space(now that EXDOS is near to support it), or a clean return to EXOS. Once done it will be easy to implement the possibility to use SymBOS as a launcher for Enterprise apps or games.

And, if a SymbiFace3 is created for the Enterprise, we will automatically inherit other already created applications for MSX or CPC, thanks to the clever compatibility he has implemented between all the systems.

Prodatron is doing a monumental job, incredible on 8 bit computers....
Title: Re: SymbOS
Post by: Tutus on 2019.September.13. 14:18:31
Unfortunately, time passes :(
Can we wait for the promised SymbOS fixes?
Title: Re: SymbOS
Post by: gflorez on 2019.September.13. 15:05:13
It is difficult to contact Prodatron... He is the kind of person that contacts other only when he wants....

I will try to remind him if at least he can fix these minor errors.
Title: Re: SymbOS
Post by: Ep128 on 2019.September.14. 23:53:57
It is difficult to contact Prodatron... He is the kind of person that contacts other only when he wants....

I will try to remind him if at least he can fix these minor errors.

I do not love the man who does not respond to the messages. Onto this not reason the occupation! Uneducated, or conceited...
Title: Re: SymbOS
Post by: gflorez on 2019.September.15. 00:46:47
Sorry, I have not explained it very well...

He is a busy person, disconnected from web pages, blogs and social webs. This is only my opinion, but probably it is only when he has spare time that he reads some of the latest received messages and feel the need to contact other people who share the same inquietudes.  I don't consider this behaviour to be impolite, only that life is absorbing.

On actual times we tend to demand that once a whatsapp, Instagram, or Twiter message is sent the receiver has an obligation of immediate response. Only 15 years or so ago we used to plane dates with friends without wearing a phone, incredible now....
Title: Re: SymbOS
Post by: pear on 2019.September.15. 08:35:26
I understand him.
The amount of information that flows into an individual today can be overwhelming.
An atavistic escape response arises instinctively.
Title: Re: SymbOS
Post by: Tutus on 2019.September.15. 20:19:49
Okay, we understand everything.
But we have a program for the Enterprise that doesn't do much. Play MP3, play video, play some games.
That's it. While MSX can send email etc. :(
Title: Re: SymbOS
Post by: Zozosoft on 2019.September.15. 21:39:57
Play MP3
Only with SF3.
Title: Re: SymbOS
Post by: Zozosoft on 2019.September.15. 21:47:10
I wrote on 2017.09.07:
Found a bug :oops:
The "INS Lock" joy mode (for no mouse) isn't working :( In the last EP beta release it worked right.
Later I also wrote an email to Prodatron about this bug.
Still waiting for a fix...

I can't update the SymbOS on the SD Card image because the users who do not have a mouse, can't use it.
Title: Re: SymbOS
Post by: gflorez on 2019.September.16. 00:00:21
I think... we can fix it for ourselves, we have done it before.

The Symbos.bin file that holds the operative system is not protected and so we can compare the two versions.
Title: Re: SymbOS
Post by: gflorez on 2019.September.16. 16:26:25
I don't think that the joystick control has an error, only it has other ways to work than on the 3.0 demo and earlier versions.

If I maintain ALT pressed while I move the joystick, the pointer  moves. Again, while ALT is pressed, INS acts like main mouse button and ESC shows the START menu. On some key-presses the joystick doesn't need the ALT key at all, but now I can't reproduce it. Please, let's discover other possible combinations.

The mouse movement is not lost nor switched off.
Title: Re: SymbOS
Post by: Zozosoft on 2019.September.16. 21:16:55
If I maintain ALT pressed while I move the joystick, the pointer  moves.
Yes. But until the last beta release, when you simply press INS then it is locked the "joy-mouse" mode, don't need continously press ALT. PAUSE and STOP are the two mouse buttons. Next INS switched back to normal joy mode.
All of these worked perfectly, very comfortable mouse simulation.
But in the final 3.0 need to put heavy book to ALT button...
Title: Re: SymbOS
Post by: gflorez on 2019.September.16. 23:57:50
As I have said, on some circumstances I didn't need to press ALT. I have to search how.
Title: Re: SymbOS
Post by: Zozosoft on 2019.September.17. 09:35:59
As I have said, on some circumstances I didn't need to press ALT. I have to search how.
Interesting!
Title: Re: SymbOS
Post by: edoz on 2019.September.17. 22:33:34
Okay, we understand everything.
But we have a program for the Enterprise that doesn't do much. Play MP3, play video, play some games.
That's it. While MSX can send email etc. :(

Hi Tutu’s,

I am glad you liked my e-mail program  ;) It is not released at the moment ;) but it should work on the enterprise as well!!  That is the benefit of SymbOS. Only thing is for the enterprise is that the network hardware is still missing. In a way that is the reason why it is not usable on the enterprise. I really hope that this will be available some day on the Enterprise as well. And yes, then we need a supported driver as well.

I know Prodatron is still working on the 3.1 release. (For all supported systems, including Enterprise)
I will meet Prodatron on the Classic Computing fair in Germany this weekend! The e-mail program needs the 3.1 release as well because of memory fixes in SymbOS. Somehow I managed to make the email client so big I encountered this issue. It is my biggest SymbOS project in size until now.

And yes! I really need to do some bug fixes as well on some ‘old’ apps which have the color issues on the Enterprise. But this is because of a bug in the old development suite, Unify for SymbOS.  As Unify is obsolete and because of many reasons I work in Quigs now. (Which was beta released as well) But i still need to migrate/convert my old projects to the new envoirment.. time is the biggest issue here ;) But when done those issues should be fixed as well. And after releasing 3.1 I think the Enterprise system should be on speed again!
Title: Re: SymbOS
Post by: gflorez on 2019.September.18. 11:56:49
It seems that the LOCK+INS key combination needs at least 1 second pressed to select joystick control. It is not an error then, but better try it on your equipment.

I have also observed that it doesn't work if the EnteMice interface is plugged-in(probably the same on the emulator). The pointer flickers but doesn't move, as if the mouse movement had greater priority than the joystick movement.
Title: Re: SymbOS
Post by: Tutus on 2019.September.18. 15:15:43
And yes! I really need to do some bug fixes as well on some ‘old’ apps which have the color issues on the Enterprise. But this is because of a bug in the old development suite, Unify for SymbOS.  As Unify is obsolete and because of many reasons I work in Quigs now. (Which was beta released as well) But i still need to migrate/convert my old projects to the new envoirment.. time is the biggest issue here ;) But when done those issues should be fixed as well. And after releasing 3.1 I think the Enterprise system should be on speed again!

Hi edoz,

All right, thanks for the answer. We count on you because SymbOS is wonderful.
Version 3.0 really contains bugs, and we also had a request for extended partitions that Sym Commander doesn't see.
If you meet Prodatron, welcome! The Enterprise camp really wants a fantastic SymbOS! :)
Title: Re: SymbOS
Post by: gflorez on 2019.September.20. 12:41:31
I am still waiting your enthusiast answers.  

Does the 1 second LOCK+INS combination work to activate the Joystick control on your real machine?

Please, SymbOS 3.0 FINAL without the EnterMice adapter.
Title: Re: SymbOS
Post by: Tutus on 2019.September.21. 16:07:14
I'll look, BUT!
Wouldn't it make more sense for joy to work immediately without EnterMice? :D
Title: Re: SymbOS
Post by: Zozosoft on 2019.September.21. 16:11:30
Wouldn't it make more sense for joy to work immediately without EnterMice? :D
Need a switchable mode, because sometimes need to use joy as joy. For example SymCommander, games...
But good idea switch on at default, if no mouse attached.
Title: Re: SymbOS
Post by: gflorez on 2019.September.21. 21:14:51
At least now we have a way to use the pointer without EnterMIce until Jörn fixes it.


On the other side, EnterMice has already a way to be detected, so it is a good idea to start SymbOS only with joystick control.

Title: Re: SymbOS
Post by: gflorez on 2019.September.23. 20:17:25
Prodatron(Jörn Mika) has returned:

"Prodatron 19:50
Hi, I am just back from a vintage computer meeting, I will now send you an actual EP SymbOS version with the keyboard fix"

[attach=1](You can see attached a Bus Expander and two MSX-Slots, with a SE-ONE and GFX-NINE)

"gflorez 19:53
Thanks, I will test it just now."

"Prodatron 19:54
the only problem I found is, that sometimes the G9K is not initialized correctly, so when booting it, you have a black screen. then you have to start your test basic program and it works. still have to fix it
I also didn't do the screen position adjustment for the G9K you asked me for, as it currently has the same like on the msx/cpc
on my monitor it looks fine, but I didn't test it on a CRT"

"gflorez 20:02
I see two main fixes. Now the joystick works as intended, and the selected colours on the screen survive a reset.
Ok, the screen position can be tweaked on the monitor itself, no problem."

"Prodatron 20:03
maybe you can tell me the amount of x/y pixels I should adjust it?
just an estimation"

"gflorez 20:05
Can I share the picture on Enterprise forever?"

"Prodatron 20:12
you can share everything :razz:
the files as well of course"
Title: Re: SymbOS
Post by: Zozosoft on 2019.September.24. 11:55:21
Some more photos from ExcaliburGER:
[attach=6][attach=2]
[attach=1][attach=3][attach=4]
[attach=5][attach=7][attach=8]
Title: Re: SymbOS
Post by: Tutus on 2019.September.25. 11:24:57
:smt041
Title: Re: SymbOS
Post by: Zozosoft on 2019.September.26. 07:55:03
maybe you can tell me the amount of x/y pixels I should adjust it?
just an estimation"
These questions are for GFX-NINE?

But it is will be available in future? Currently TMTLOGIC site say: "No longer available"
Title: Re: SymbOS
Post by: gflorez on 2019.September.26. 16:18:19
Yes, it is for the Yamaha V9990 VDP, I can´t see a zone at the left of the displayed screen, but in the picture at the show it is visible on Prodatron's monitor... I don't know why.

Sadly, the price of the V9990 chip has raised to untouchable levels since I received my GFX-ONE cartridge, so Hans has decided to stop to manufacture it due to excessive costs while the prices not drop.

Remember the story of the chip, almost a legend:

The Yamaha V9990 is the successor to the V9958(MSX2+) and supposedly a stripped down version of the never finished Yamaha V9978, which was meant to be used for the MSX3. The last MSX model, the Panasonic MSX TurboR(FS-A1ST, FS-A1GT) was released from 1990 until 1994, but still was fitted with the then old V9958 VDP.

It is said that, although the MSX3 project(V9978) was abandoned, Yamaha had put a huge investment on the graphic chip, so they decided to release the chip to be fitted on other equipments. They launched some Evaluation kits (https://www.msx.org/wiki/Yamaha_V9990_Evaluation_Board) intended for MSX, NEC PC-98 and IBM-PC systems.

But my questions are: Did the chip have any commercial use? Why are there still batches of unused chips?

I think that probably the chip was a total commercial failure, The only really known use of the chip was on some Pachinko slot machines (https://www.msx.org/forum/msx-talk/hardware/v9990) and on several home-brew made MSX graphic cartridges.  

If you find a cheap batch of these V9990 chips, I am sure that Hans will be eager to put them on cartridges for you.
Title: Re: SymbOS
Post by: Tutus on 2019.September.30. 21:34:11
I tried to look for the V9990 chip, but it's impossible.
There is only hope left, but the answer is:

"Hi, István   
Thanks for your inquiry , we checked our stock, but regret to let you know so sorry no parts.If any other new inquiries, you can browse our website: www.utsource.net"
Title: Re: SymbOS
Post by: gflorez on 2019.October.01. 01:45:17
You also can try on Alibaba's cave, but you are advised...

https://spanish.alibaba.com/trade/search?fsb=y&IndexArea=products&CatId=&SearchText=v9990&selectedTab=products&viewType=GALLERY
Title: Re: SymbOS
Post by: gflorez on 2020.May.16. 18:21:51
I have published one video on Youtube about Dave's Ay emulation.

On it I have managed to synchronise almost completely the Enterprise with an Amstrad CPC6128+, running SymbOS, and SymAmp playing the same tracker songs.


What I wanted to show here is how well the AY psg is emulated by the Dave chip, thanks to the conversion routines made by IstvanV and the mastery of Geco inserting them on the SymAmp app.


But when I have reproduced the video I have realised how low the CPC sounds compared to the volume level of the Enterprise....



Out of that, a curious listener can appreciate that, although not exactly the very same  sound, the emulation resembles very well the original, it even highlights obscure zones of the original song.

Thanks.

https://www.youtube.com/watch?v=S2ZUiyIuds8
Title: Re: SymbOS
Post by: geco on 2020.May.18. 08:43:41
Do you mean that the emulated CPC sound is lower?
It can be, because stereo is emulated, and 2/3 of the voll dave volume level is the maximum value.
If a song uses high frequency envelopes, or using tone and noise on the same channel gives differences in sounding.
Title: Re: SymbOS
Post by: gflorez on 2020.May.18. 10:26:39
In this case I mean the conditions of the video.

From my point of view the two TV volume levels were the same, but the phone microphone was pointing to the right because I was filming horizontal so, on the video the Enterprise seems to sound louder.  

----

A lot of people, not knowing a word of what is an Enterprise has asked me: "How it can be to emulate the AY in real time with that precision?"
Title: Re: SymbOS
Post by: edoz on 2020.July.04. 19:48:42
(https://www.msx.pics/images/2020/07/04/QuigsImage.png)
Quick User Interface with Graphics for Symbos
Quigs, release candidate

It is the year 2000, November to be precise, Prodatron  (https://www.msx.org/users/prodatron)was writing the first z80 assembly lines for his Symbiosis Multitasking Based Operating System (http://www.symbos.org) or also called SymbOS. At this moment in time, it was just a fun try- out, to see how a z80 home computer would behave in a multitasking GUI based environment.  Of course, those ideas already came up before the millennium, but finally it took sense for him to start this crazy project. Not long after this, the project became bigger and bigger and what was started with a small concept became a big z80 project.

One user, Trebmint  (https://www.msx.org/users/trebmint2)was really excited about the SymbOS project and started to collaborate with Prodatron. Both became more and more active and because of inspiring each other, the project really started to grow. Trebmint thought it was better for SymbOS to have a good development suite so people could started writing apps for SymbOS (without the need to know complex things like multitasking). 

In the end of 2004 Trebmint released SymStudio and later named it Unify. Edoz (https://www.msx.org/users/edoz) was inspired by SymStudio and started to develop for it. This was again accelerator for Trebmint and so the magic began between those three people.
   
Trebmint inspired Prodatron to port SymbOS to other Z80 computer as well, to make the amount of possible users bigger but also to be able to release software for different z80 computers, which all share the same SymbOS operating system. This way other z80 retro- communities could take advantage of each other’s software releases. With lot of help from the communities (MSX and Enterprise), the ports became real and thanks to Hans (TMT-LOGIC) and Technobytes even hardware, like the G9K became compatible between different z80 machines. The focus for SymbOS today is to make it as fast and compatible as possible.

Today we are glad to announce that Trebmint is releasing his first release candidate to the public so you can start writing your own SymbOS applications! There are some tutorials on YouTube  (https://www.youtube.com/watch?v=VbTajGoBmNQ&t)and there is even a chess example program. Quigs runs an a Windows machine. Extract the zip, set your settings in settings.txt and start quigs.exe
Download link  (https://1drv.ms/u/s!AuYjaWFtk2i5jcUfxVmwptrKgfdsvA?e=7sCdc3)
Title: Re: SymbOS
Post by: geco on 2020.July.05. 14:50:32
Symbos, and your work is amazing, i hope there will be a lot of developers for Symbos with this new application.
Title: Re: SymbOS
Post by: lgb on 2020.July.15. 19:54:40
Btw, an interesting piece for SymbOS & ASM programming: https://github.com/z00m128/sjasmplus/pull/116

SJASMplus seems to have some on-going works to support SymbOS relocation table support. As far as I know, till now only winAPE's bult-in assembler supported the needed functionality.
Title: Re: SymbOS
Post by: geco on 2020.July.15. 23:34:47
sounds interesting :-)