[HN Gopher] DreamShell: Operating System for the Sega Dreamcast
       ___________________________________________________________________
        
       DreamShell: Operating System for the Sega Dreamcast
        
       Author : skibz
       Score  : 77 points
       Date   : 2024-01-09 09:58 UTC (13 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | dtx1 wrote:
       | They have some Screenshots on their website: http://www.dc-
       | swat.ru/
       | 
       | That's pretty damn cool
        
       | jonhohle wrote:
       | For those that might not be aware, the Dreamcast can read regular
       | CDs but also GD-ROMs, a 1GB density format (though not as high
       | density as DVD). The only other system I know that can read them
       | is Sega's NAOMI arcade (and the colab Triforce) hardware, which
       | would read the entire disc into RAM and then not used again
       | during gameplay.
        
         | DC-SWAT wrote:
         | DreamShell supported SD card on serial port (bit-bang SPI) and
         | IDE HDD/CF on G1 port (GD-ROM uses the same).
        
         | MegaDeKay wrote:
         | I'm sure you know but this is a bt backwards. GD-ROMs are the
         | native format for games because of the higher density. The
         | Dreamcast can also play music CDs, but CD really comes into
         | play for playing game "backups". The original content was read
         | from the GD-ROM disks, unnecessary bits were removed, some
         | stuff would be compressed, etc to get down to the around 800K
         | that you could stuff onto a regular CD.
         | 
         | I just picked up a Dreamcast before Christmas as part of a
         | retro console spree and the modding scene is very active around
         | it. There is the GD-emu that can replace the GD-ROM drive and
         | store your library of games on a memory card, replacement power
         | supplies, SDCard attachments for the console's serial port,
         | dual-bios mods (that Dreamshell can reprogram in place!),
         | replacement cases, and the list goes on. There is an active
         | homebrew scene as well with some high quality games still being
         | released.
         | 
         | I myself want to get away from the GD-ROM for playing games as
         | that will eventually become problematic. The GD-emu swaps out
         | the GD-Rom but I want to keep it in the unit just because. So
         | over the last couple days I've ordered up the parts that will
         | add compact flash capability to the console by piggybacking on
         | to the Dreamcast's IDE bus interface to the GD-ROM (compact
         | flash is basically an IDE interface). But compact flash storage
         | cards are expensive, so I'm also getting a compact flash to SD-
         | Card adapter. This isn't new ground so far, but I _think_ I can
         | do this as a stealth mod and do it all within the GD-ROM
         | enclosure.
        
           | echelon_musk wrote:
           | Beware that if you attempt to use an SDXC card that a lot of
           | the really cheap made in China CF to SD adapters do not
           | support capacities above 32GB (SDHC). I'm not affiliated with
           | the site, but from experience modding iPods I can recommend
           | the iFlash CF to SD adapter as one I would trust [0].
           | 
           | [0] https://www.iflash.xyz/store/sdcf-adapter/
        
         | toast0 wrote:
         | > also GD-ROMs, a 1GB density format (though not as high
         | density as DVD)
         | 
         | GD-ROM seems to be a density doubling setup... A CD-ROM drive
         | is run with the motor at 1x and the optics at 2x (all the way
         | up to 12x/24x, IIRC). There must also be some magic for the TOC
         | and what not, and there's some space reserved at the beginning
         | of the disc to have warning audio so you don't try to play it
         | in a regular cd player. (Games with less data could have more
         | stuff accessible for regular drives, but I don't remember if
         | that was actually done though, or if I'm misremembering things
         | from earlier cd consoles)
        
           | doublerabbit wrote:
           | Some Japanese dreamcast games had anime content and character
           | art.
           | 
           | Always thought that was cool
        
           | jonhohle wrote:
           | Yeah, that's my understanding. Sega CD and PlayStation both
           | used ISO-9660 based CD-ROMs, frequently with CDDA tracks.
           | Occasionally these would include warning audio as well,
           | however CD players at the time didn't know to skip the DATA
           | track 1.
        
         | bitmasher9 wrote:
         | Sega's market advantage was that the hardware R&D was mostly
         | paid for by their very successful arcade business (they still
         | have major success here) and they made reduced costs versions
         | of arcade hardware and sold them as home consoles.
         | 
         | It was this hardware expertise that lead to their acquisition
         | by Sammy, a company that makes Japanese slot machines. They
         | also valued the better public image a game company has, and
         | adopted Sega's name.
        
           | wormius wrote:
           | Bad news on the arcade front:
           | 
           | https://www.polygon.com/22906391/sega-japan-arcades-sold-
           | his...
           | 
           | Sega is leaving Japanese arcades behind. The company
           | announced it is selling its remaining arcades to a company
           | called Genda, Inc. (also known as GiGO), and leaving the
           | coin-op business, where it first made a name for itself, for
           | good.
        
       | DC-SWAT wrote:
       | Also you can see some videos how it works:
       | https://www.youtube.com/SWAT-DC/videos
        
       | sillywalk wrote:
       | FTA:
       | 
       | "DreamShell
       | 
       | The Dreamshell is the operating system for the Sega Dreamcast
       | based on the KallistiOS[0] kernel. It has a dynamic loadable
       | modular system and interface for creating applications with XML
       | UI and both C/C++ and Lua script on. You can see examples in
       | ready-made applications and modules, drivers for various devices,
       | formats and interfaces. Examples for audio and video decoding,
       | compression, packaging, binding, network, emulation, scripts and
       | more. From hardcore low-level assembler to high-level
       | applications. There are also large subproject is the ISO Loader,
       | which contains emulation of BIOS system calls, CDDA playback and
       | VMU, also it can hooking interrupts for various SDKs and more."
       | 
       | "KallistiOS is an unofficial development kit for the SEGA
       | Dreamcast game console with some support for the NAOMI and NAOMI
       | 2 arcade boards.
       | 
       | KOS was developed from scratch over the internet by a group of
       | free software developers and has no relation to the official Sega
       | Katana or Microsoft Windows CE Dreamcast development kits. This
       | has allowed it to fuel a thriving Dreamcast homebrew scene,
       | powering many commercial releases for the platform over the
       | years. It supports a significant portion of the Dreamcast's
       | hardware capabilities and a wide variety of peripherals,
       | accessories, and add-ons for the console, including custom
       | hardware modifications that have been created by the scene.
       | 
       | Despite the console's age, KOS offers an extremely modern,
       | programmer-friendly development environment. Using the latest GCC
       | toolchain, it supports the entirety of C17 and C++20 including
       | their standard libraries, along with support for portions of C23,
       | C++23, Objective-C, and various POSIX APIs. Additionally, KOS-
       | ports offers a rich set of add-on libraries such as SDL, OpenGL,
       | OpenAL, and Lua for the platform."[0]
       | 
       | [0] https://github.com/KallistiOS/KallistiOS
        
       ___________________________________________________________________
       (page generated 2024-01-09 23:01 UTC)