ENTERPRISE KLUB
2021. október 2., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Belépés kizárólag klubtagok részére! (Klubkártyával vagy előfizetéssel!)
Welcome, Guest. Please login or register.


Author Topic: SymbOS (Read 208763 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14021
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #405 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)

Offline Prodatron

  • EP fan
  • *
  • Posts: 249
  • Country: de
  • Back on the Z80
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #406 on: 2014.November.28. 12:49:06 »
But is it possible to cancel the autostart?

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #407 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).

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14021
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #408 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 I added feature for this.

Offline Prodatron

  • EP fan
  • *
  • Posts: 249
  • Country: de
  • Back on the Z80
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #409 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.

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #410 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

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

Offline Prodatron

  • EP fan
  • *
  • Posts: 249
  • Country: de
  • Back on the Z80
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #411 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

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

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #412 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 ...

Offline Prodatron

  • EP fan
  • *
  • Posts: 249
  • Country: de
  • Back on the Z80
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #413 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.

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #414 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

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 ...)
« Last Edit: 2014.November.28. 21:52:42 by lgb »

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #415 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.

Offline Prodatron

  • EP fan
  • *
  • Posts: 249
  • Country: de
  • Back on the Z80
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #416 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?

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #417 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.

Offline Prodatron

  • EP fan
  • *
  • Posts: 249
  • Country: de
  • Back on the Z80
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://www.symbos.de
Re: SymbOS
« Reply #418 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? :)

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 33.0 Firefox 33.0
    • View Profile
    • http://lgb.hu/
Re: SymbOS
« Reply #419 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 :)