EmuTOS

Talk about the operating system (EhBASIC, FAT library, ...)
simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Sun Aug 18, 2013 9:06 pm

Hello,

I used the weekend and wrote a quick port of EmuTOS. I ported a basic set of routines for input and output and adapted the IDE driver.
GEM can't start yet but EmuTOS boots into EmuCON2. You can run some Atari ST console applications (if the apps use TOS calls only).

Simon


simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Sat Oct 26, 2013 9:43 pm

Hi,

as you know the routing process is a bit more dificult this time. So I used the time waiting and released a new video of the status quo of the EmuTOS port.
VT52 works basically (coloured and inversed characters, cursor positioning, ...). The video mode of the V9990 had to be changed to make this possible. EmuTOS now uses a bitmap mode instead of a pattern mode.
Furthermore the keyboard controller sends scancodes instead of ASCII codes from now on. Thus the handling of special keys (CTRL-x, cursor keys, F-keys, ...) is more compatible with Atari's TOS. At least once this code is bugfree. :D

Simon


e2k001
Posts: 15
Joined: Sun Sep 29, 2013 3:41 pm

Re: EmuTOS

Postby e2k001 » Sun Oct 27, 2013 8:15 am

Impressive!
As you evidently are going for the complete support, which resolution do you have in mind?
640x480x16?

Cheers & congratulations ...

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Mon Oct 28, 2013 8:18 am

Thank you! :)

Hmm, don't know. I once thought about that resolution. The V9990 provides 640x480 and 640x400. Latter would be Atari ST compatible. But you would need to switch from a standard 15KHz monitor to a 31KHz VGA monitor. I don't really like the idea of needing two monitors so I'll probably try it with a lower resolution first.

Simon

e2k001
Posts: 15
Joined: Sun Sep 29, 2013 3:41 pm

Re: EmuTOS

Postby e2k001 » Thu Oct 31, 2013 8:03 am

Hi Simon,
are you actually sending back your changes to the CVS?
Is there a target already like "make kiwi-serial?" ;-)
just in case anybody else likes to play with it ...

And, did you find good documentation about the EmuTOS?

Cheers

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Thu Oct 31, 2013 11:06 am

Hi e2k001,

well, I have a target "kiwi" so I can build with "make kiwi". ;) But I don't see much sense in sending it back to CVS yet. Maybe when there are more Kiwis around. :)

The EmuTOS mailing list is the perfect place for good documentation. Early this year I asked about porting EmuTOS and got very good hints where to start. :)

Cheerio
Simon

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Sat Jan 25, 2014 1:59 pm

Hi,

the last few evenings I ported the actual CVS EmuTOS to Kiwi. Apart from the improved IDE code, it now works with fVDI.
Latter is a big step forward as fVDI is very portable. It only needs a few functions to get a working VDI. With VDI we would get a full working EmuTOS including GEM the graphical environment. :)

Simon

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Thu Feb 06, 2014 10:45 am

A little update about the progress: I've written a very simple driver, but the system still crashes at boot time. fVDI and it's driver get started then it returns to EmuTOS to setup a lot of higher level stuff. ATM EmuTOS (not fVDI) throws an address error exception while executing _dos_exec(..) from aes_run_rom_program(deskstart). I'll have to investigate this. It seem to be a byte-alignment issue somewhere in the code.

Simon

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Mon Feb 10, 2014 3:43 pm

This error was an alignment issue.
In EmuTOS's aes/geminit.c gl_dta was declared as

Code: Select all

static BYTE gl_dta[128];

This led into the aligment issue. I changed this line to

Code: Select all

static BYTE gl_dta[128] __attribute__((aligned(sizeof(WORD))));

Now the address error issue disappeared.

Simon

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: EmuTOS

Postby simon » Sun Mar 30, 2014 3:15 pm

With the new revision the RTC works and doesn't change the date/time once in a while when powering off/on. I have added date/time routines to the bios. In addition I removed a bug in the IDE write code.
Everything is commited in the EmuTOS svn repo.

Simon