Author Topic: DCaSTaway, an Atari ST emulator  (Read 16171 times)

David Knight (OP)

  • Posts: 577
DCaSTaway, an Atari ST emulator
« on: November 03, 2014, 11:08:17 pm »
Here's a GCW Zero vanilla port requested by Gab1975 of DCaSTaway, an Atari ST emulator by Chui, based on Castaway and Hatari, re-written and optimised for the Dreamcast and Dingoo (chui.dcemu.co.uk/dcastaway.html)

Changes made: Added Makefile.gcw, changed default directories, create emulator directory on first run, packaged in opk format. Source code is as always included.

HOW TO INSTALL

Please ensure you are running the latest firmware (20/08/2014).

The emulator requires a bios file to work. I cannot include this file for copyright reasons.
It is recommended to use the "TOS 1.04 UK" rom for best compatibilty, however other roms should work.

1)Run DCaSTaway in order to generate the correct file structure in your home folder. It will tell you it can't find the ROM file and exit.
2)Rename the TOS file "rom" (must be lowercase and without file extension)
2a) If you use Windows ensure you correctly remove the file extension!!! Windows doesn't always show the extension...or simply use DinguxCmdr on the gcw instead ("SELECT" file, press "Y" and select "Rename")
3)Place "rom" file in the $HOME/.DCaSTaway/bios directory.
4)Run DCaSTaway, if all has gone well it will now run fine.
5)Select the disk image you want from the file manager menu. Default directory is $HOME/.DCaSTaway/diskimages so it's easiest if you place them there. DCaSTaway can handle compressed .zip files so there's no need to uncompress these.
6)Select "Run" to play!
7)Select SELECT and START to return to the menu. (press and hold SELECT, followed by START)

CONTROLS

There are three input modes in DCaSTaway, mouse, joystick and virtual keyboard.

The default mode is joystick. The controls here are the usual D-pad to move and A/Y.

Mouse mode can be accessed by pressing the left shoulderpad. From here D-pad controls mouse movement and X/B to click. Right shouldpad alters the mouse speed. Pressing left shoulderpad will take you back to joystick mode.

Virtual keyboard can be accessed by pressing right shoulderpad. Select the desired key with the D-pad and select with the A button. Again, press right shoulderpad to return to joystick mode.

ISSUES

1)Frameskip seems very fast, it's probably best to keep it set to auto for normal play, set frameskip to 5 if you want to skip boring intros.
2)There's some minor corruption of the mouse icon at the bottom-left of the screen and occasional corruption of the virtual keyboard. FIXED
3)Some disk images don't work. I've tested them in the Windows build and they seem to have the same problems so it may be due to the engine or  (more likely?) it's a bad image.
4)Y key doesn't shortcut to save as described in the menu.

Link to opk:
https://drive.google.com/file/d/0BwYi4RGX-HSadldOeUVJRlRmSTA/view?usp=sharing
Updated 07/11/2014
https://drive.google.com/file/d/0BwYi4RGX-HSaRUU4aC0wMUYwNWc/view?usp=sharing
Updated 09/11/2014
https://drive.google.com/file/d/0BwYi4RGX-HSadjBUbmF4ZGg0MHM/view?usp=sharing
« Last Edit: January 07, 2015, 07:46:22 pm by David Knight »

Nebuleon

  • Guest
Re: DCaSTaway, an Atari ST emulator
« Reply #1 on: November 04, 2014, 12:36:04 am »
2)There's some minor corruption of the mouse icon at the bottom-left of the screen and occasional corruption of the virtual keyboard.
If you converted it to use double-buffering while it didn't use double-buffering before, this is probably because the frontend doesn't draw the entirety of the mouse or the keyboard, instead relying on the mouse or keyboard having been drawn in the previous frame.

With double-buffering you have to find a way to draw the emulated screen, followed by the keyboard or mouse, every frame.

Gab1975

  • Posts: 1165
Re: DCaSTaway, an Atari ST emulator
« Reply #2 on: November 04, 2014, 08:18:44 am »
Thanks a lot! I tried 4 games (Apprendice, Army Moves, Barbarian and Buggy Boy) and they seem to work very well ! ;)

NB:
- the .DCaSTaway directory isn't generated automatically at the first run, I needed to make it (with the related sub-folders) manually;
- the ROMs browser doesn't store the last used folder... everytime the position is reset to the default parameter;
- what is the method to use two "diskimages" ? In other words, the simultaneous use of virtual diskdrive A and B.


David Knight (OP)

  • Posts: 577
Re: DCaSTaway, an Atari ST emulator
« Reply #3 on: November 04, 2014, 09:55:44 am »
- the .DCaSTaway directory isn't generated automatically at the first run, I needed to make it (with the related sub-folders) manually;
Apologies, when tested it did, however I did manually make the .DCaSTaway directory. I will fix this. FIXED - the code wasn't being executed!
Quote
- the ROMs browser doesn't store the last used folder... everytime the position is reset to the default parameter;
This is the default behaviour for DCaSTaway, I have set the default directory to $HOME/.DCaSTaway/diskimages/ so if you put your image files there it will find them all straight away.
Quote
- what is the method to use two "diskimages" ? In other words, the simultaneous use of virtual diskdrive A and B.
Press the 'A' key for drive A and the 'Y' key for drive B in the Filemanager menu, seems to work for single disk games but not so well for the multidisk games that I have tried.
« Last Edit: November 04, 2014, 10:41:08 am by David Knight »

Gab1975

  • Posts: 1165
Re: DCaSTaway, an Atari ST emulator
« Reply #4 on: November 04, 2014, 10:55:30 am »
This is the default behaviour for DCaSTaway, I have set the default directory to $HOME/.DCaSTaway/diskimages/ so if you put your image files there it will find them all straight away.

Yes, the diskimages folder is hardcoded... do you think it will be possible to add "last used folder" function? Useful (e.g.) for put the ROMs in an external sd-card.

Press the 'A' key for drive A and the 'Y' key for drive B in the Filemanager menu, seems to work for single disk games but not so well for the multidisk games that I have tried.

Thanks! :) Maybe it would be good to specify it in the emulator menu... e.g. Filemanager (A: FD-A) (Y: FD-B)

Malleus

  • Posts: 65
Re: DCaSTaway, an Atari ST emulator
« Reply #5 on: November 04, 2014, 11:13:37 am »
Havent had time to try it but super psyched for the prospect of a AtariST emu!
know I would like A way of saving the Diskimage location (or just use last dir...)
Im guessing this as most other emus would benefit from tripplebuffering?

Thank you for this Release!

David Knight (OP)

  • Posts: 577
Re: DCaSTaway, an Atari ST emulator
« Reply #6 on: November 04, 2014, 12:04:17 pm »
Quote
Yes, the diskimages folder is hardcoded... do you think it will be possible to add "last used folder" function? Useful (e.g.) for put the ROMs in an external sd-card.
Quote
know I would like A way of saving the Diskimage location (or just use last dir...)

Of course ;), I'll set it as default $HOME/diskimage but it'll save last used directory.

Quote
Im guessing this as most other emus would benefit from tripplebuffering?

Working on it. FIXED - Nebuleon was correct

Quote
Thanks! :) Maybe it would be good to specify it in the emulator menu... e.g. Filemanager (A: FD-A) (Y: FD-B)

Done, I've also widened the filename to fill the whole screen, not sure why default is to leave a large gap on the right side.
« Last Edit: November 04, 2014, 06:31:38 pm by David Knight »

Gab1975

  • Posts: 1165
Re: DCaSTaway, an Atari ST emulator
« Reply #7 on: November 04, 2014, 02:32:34 pm »
I made an alternative splash screen... nothing special, but more specific than the previous... :)

... for DCaSTaway title I used this freeware font: http://www.dafont.com/it/pixellife.font

EDIT:
I re-uploaded the icon... there is nothing new in it, just some "graphic corrections" ! ;)
« Last Edit: November 05, 2014, 10:16:17 am by Gab1975 »

zear

  • * Moderator
  • Posts: 2381
Re: DCaSTaway, an Atari ST emulator
« Reply #8 on: November 04, 2014, 03:31:34 pm »
Done, I've also widened the filename to fill the whole screen, not sure why default is to leave a large gap on the right side.
If it's anything like GUI for chui's other emulators, he keeps extra space on the right side in case the file is a folder, to denote it with "#DIR#".

David Knight (OP)

  • Posts: 577
Re: DCaSTaway, an Atari ST emulator
« Reply #9 on: November 04, 2014, 03:46:00 pm »
Done, I've also widened the filename to fill the whole screen, not sure why default is to leave a large gap on the right side.
If it's anything like GUI for chui's other emulators, he keeps extra space on the right side in case the file is a folder, to denote it with "#DIR#".

Ah yes, thanks :)
Update will happen when all above issues have been addressed.
The only thing left to do is setup user defined directories, not something I've done before so taking longer than expected.
« Last Edit: November 05, 2014, 01:04:14 am by David Knight »

Gab1975

  • Posts: 1165
Re: DCaSTaway, an Atari ST emulator
« Reply #10 on: November 05, 2014, 06:41:37 am »
At the risk of repeating myself... I'm looking forward to test the latest DCaSTaway release with the bug fixes and the additions! Thanks for your work! ;)

David Knight (OP)

  • Posts: 577
Re: DCaSTaway, an Atari ST emulator
« Reply #11 on: November 05, 2014, 10:52:22 am »
Well it's looking much better now, graphics are awesome with triplebuffering  ;D
I've also found the disk swapping code so will include disk swapping controls for multidisk games.

Now if I can just figure out where the disk image path variable is stored...
« Last Edit: November 05, 2014, 10:54:18 am by David Knight »

Inertia

  • Posts: 157
Re: DCaSTaway, an Atari ST emulator
« Reply #12 on: November 05, 2014, 06:57:49 pm »
good job on this David, I can at last get rid of my .dge version :)
Just one question, I wanna add the splash & icon from Gab1975 so I open the opk with unsquashfs, made the swap of the 2 files then try to re-opk it with OpenPackageCreator-1.1, I open my DCaSTaway rep then "load data from existing" but I get "loading of existing desktop file failed : not a valid desktop file"
I haven't edited the desktop, so I don't get it...

Gab1975

  • Posts: 1165
Re: DCaSTaway, an Atari ST emulator
« Reply #13 on: November 05, 2014, 07:54:42 pm »
good job on this David, I can at last get rid of my .dge version :)
Just one question, I wanna add the splash & icon from Gab1975 so I open the opk with unsquashfs, made the swap of the 2 files then try to re-opk it with OpenPackageCreator-1.1, I open my DCaSTaway rep then "load data from existing" but I get "loading of existing desktop file failed : not a valid desktop file"
I haven't edited the desktop, so I don't get it...

You can try to repack the opk directly with mksquashfs or edit the default.gcw0.desktop with a simple text-editor (delete the first line: #!/usr/bin/env xdg-open )* ... in any case, a new release should be out very soon and maybe it will use my icon and splash screen...

* after this the OPC will be able to load the desktop file.
« Last Edit: November 05, 2014, 07:58:30 pm by Gab1975 »

David Knight (OP)

  • Posts: 577
Re: DCaSTaway, an Atari ST emulator
« Reply #14 on: November 05, 2014, 11:41:42 pm »
good job on this David, I can at last get rid of my .dge version :)
Just one question, I wanna add the splash & icon from Gab1975 so I open the opk with unsquashfs, made the swap of the 2 files then try to re-opk it with OpenPackageCreator-1.1, I open my DCaSTaway rep then "load data from existing" but I get "loading of existing desktop file failed : not a valid desktop file"
I haven't edited the desktop, so I don't get it...

It's because the default.desktop file is not in a format opk creator recognises. I don't use opk creator but you could just erase the default.desktop file and create another with opk creator...or just wait a couple more days for the new version ;)

Oops, was to tired to see this has already been answered!
« Last Edit: November 05, 2014, 11:44:02 pm by David Knight »

AtariHERO

  • Posts: 351
Re: DCaSTaway, an Atari ST emulator
« Reply #15 on: November 06, 2014, 12:25:35 pm »
new opk please ?

David Knight (OP)

  • Posts: 577
Re: DCaSTaway, an Atari ST emulator
« Reply #16 on: November 06, 2014, 07:35:26 pm »
new opk please ?

When it's done, not long now!

toto

  • Posts: 147
Re: DCaSTaway, an Atari ST emulator
« Reply #17 on: November 06, 2014, 07:52:08 pm »
No hurry! I am downloading the ST fullset and with my internet connection I still have two days to go  ;)  Thanks for your work, hope "Mortville Manor" will work!

David Knight (OP)

  • Posts: 577
Re: DCaSTaway, an Atari ST emulator
« Reply #18 on: November 07, 2014, 01:26:56 am »
UPDATE!!

OK, I've been hard at work polishing away, making a shiny new opk for you all to enjoy  ;D

CHANGELOG - in no particular order
Enabled Triplebuffering - graphics now supersmooth
Enabled 22kHz sound - I tried 44kHz but it was too cpu intensive, hopefully this is the correct balance.
Fixed multiple mouse emulation bugs - the code needed quite a lot of work but should be working fine now.
Fixed directory creation on first launch - it now works!
Changed File manager titlebar to show which button to press to load disk image to A or B drive.
DCaSTaway now remembers your rom directory - It still defaults to $HOME/.DCaSTaway/diskimages in case you use an SD card and then remove it.
Changed borders to black - Controversial? I prefer it this way. Let me know if you disagree.
Enabled swap disk - slider up now changes disks so disk B now has a use!
Hunted down all the relevant button combinations in the code and put them all into the manual.

Oh, and...
Changed splash screen and icon- by Gab1975, thanks for the great artwork! ;)

Controls (from the manual):
There are three input modes in DCaSTaway, mouse, joystick and virtual keyboard.

Joystick mode (default)
-Controls: D-pad to move and A/Y.
-Slider up: Swap disks (useful for multidisc games, load disk 2 image into drive B first)
-SELECT+Left shoulderpad: Saves selected savestate
-SELECT+Right shoulderpad: Loads selected savestate
-SELECT+X: Decrease savestate number
-SELECT+Y: Increase savestate number
-START: Enable/disable throttle (use to skip intros)

Left shoulderpad: Mouse mode
-Controls: D-pad controls mouse movement and X/B to click.
-Right shouldpad: Increase mouse speed (max 16 then changes back to 1)
-Left shoulderpad: Back to Joystick mode
-SELECT+Left shoulderpad: Saves selected savestate
-SELECT+Right shoulderpad: Loads selected savestate
-SELECT+X: Decrease mouse speed
-SELECT+Y: Increase mouse speed
-START: Enable/disable throttle (use to skip intros)

Right shoulderpad: Virtual keyboard
-Change key: D-pad
-Select key: A
-Right shoulderpad: Back to Joystick mode
-SELECT+Left shoulderpad: Saves selected savestate
-SELECT+Right shoulderpad: Loads selected savestate
-SELECT+X: Decrease savestate number
-SELECT+Y: Increase savestate number
-START: Enable/disable throttle (use to skip intros)

Enjoy, this took a fair bit of work ;)
https://drive.google.com/file/d/0BwYi4RGX-HSaRUU4aC0wMUYwNWc/view?usp=sharing
Updated 09/11/2014 - see later post
https://drive.google.com/file/d/0BwYi4RGX-HSadjBUbmF4ZGg0MHM/view?usp=sharing
« Last Edit: November 09, 2014, 10:33:42 pm by David Knight »

AtariHERO

  • Posts: 351
Re: DCaSTaway, an Atari ST emulator
« Reply #19 on: November 07, 2014, 02:29:18 am »
amazing, thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

now if you can just update old stella