Welcome, Guest. Please login or register.


Author Topic: SymbOS (Read 612029 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #375 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?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #376 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

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #377 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

Offline Prodatron

  • EP user
  • *
  • Posts: 256
  • Country: de
  • Back on the Z80
    • http://www.symbos.de
Re: SymbOS
« Reply #378 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! :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #379 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.
« Last Edit: 2014.November.26. 16:55:33 by Zozosoft »

Offline BruceTanner

  • EP lover
  • *
  • Posts: 609
  • Country: gb
Re: SymbOS
« Reply #380 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 

Offline edoz

  • EP fan
  • *
  • Posts: 135
  • Country: nl
Re: SymbOS
« Reply #381 on: 2014.November.26. 19:34:10 »
WOW ! Very nice the background is working on the CPC !!!




« Last Edit: 2014.November.26. 19:37:21 by edoz »
Have fun with the Z80!

Offline Prodatron

  • EP user
  • *
  • Posts: 256
  • Country: de
  • Back on the Z80
    • http://www.symbos.de
Re: SymbOS
« Reply #382 on: 2014.November.26. 19:38:13 »
I really like this!! :P

working on the CPC !!!

Haha, since end of 2004 :D

Offline edoz

  • EP fan
  • *
  • Posts: 135
  • Country: nl
Re: SymbOS
« Reply #383 on: 2014.November.26. 19:48:01 »
Oh Oh .. of course I meant a ENTERPRISE ;) :D :mrgreen:
Have fun with the Z80!

Offline geco

  • EP addict
  • *
  • Posts: 7218
  • Country: hu
    • Támogató Támogató
Re: SymbOS
« Reply #384 on: 2014.November.26. 19:59:39 »
Cool background :D

Offline edoz

  • EP fan
  • *
  • Posts: 135
  • Country: nl
Re: SymbOS
« Reply #385 on: 2014.November.26. 20:55:36 »
Cool background :D

Thanks!! .. you can download it here BACKGROUND
Have fun with the Z80!

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS
« Reply #386 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

Offline Prodatron

  • EP user
  • *
  • Posts: 256
  • Country: de
  • Back on the Z80
    • http://www.symbos.de
Re: SymbOS
« Reply #387 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 :)

Offline Prodatron

  • EP user
  • *
  • Posts: 256
  • Country: de
  • Back on the Z80
    • http://www.symbos.de
Re: SymbOS
« Reply #388 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!

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS
« Reply #389 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 :)