Guest project – IRATA.ONLINE – A Community For Retro-Computing Enthusiasts!

We here at Libretro/RetroArch encourage the promotion of innovative grass-roots retro gaming efforts, and we thought it would be remiss of us not to bring to your attention this particular project, IRATA.ONLINE, ran by Thom Cherryhomes (System Operator). He has made many contributions and submissions to Libretro cores and RetroArch in general, and now he has embarked on an innovative new project that should prove interesting to people interested in the early days of home computing.

If you’d like to read the full article, check out the PDF article here. Also check out the Youtube video linked above. If you’d like to meet with the author on Twitter, you can reach him here.

What is IRATA.ONLINE?
IRATA.ONLINE is an on-line service aimed at all of the various retro-computing communities. It takes the recently released implementation of PLATO that the CYBER1.ORG community provided to the public, and attempts to build a complete community infrastructure around it so that vintage computer users can have something truly unique, and compelling, to connect to.

It all began with PLATO.
IRATA.ONLINE’s roots, are in the legendary PLATO system. PLATO, which stood for Programmed Logic And Teaching Operations, provided a time sharing system originally chartered to investigate the potential for computers within the context of education, but the system and the community which grew up around it, proved to be so innovative, and resourceful, that it not only encompassed the cutting edge of education, but grew to create many firsts in social networking and on-line gaming, as well as providing a blue-print for collaborative software development through its built-in development environment.
PLATO started, at the University of Illinois in Urbana-Champaign, in 1962, initially hosting two terminals on the ILLIAC-I computer system, before scaling upward to more terminals, better display technologies, and ever faster computers from Control Data Corporation. It reached its peak in the late 1970s, with many thousands of custom made plasma flat-screen, touch screen terminals connected to Control Data CYBER super-computer hardware, providing graphically intensive multi-user full screen interactive content, very rare for the time, when most time-sharing systems were still operated by teleprinters, and video terminals (and dedicated video displays) were extremely rare.

Necessity and the Mother of Invention.

I mentioned the flat plasma panel display, in passing, but it is a fantastic example of the cutting edge ingenuity possessed by the PLATO team. One must understand, that to create a graphical bit-mapped display requires memory, and in the mid 1960s, memory averaged a cost of $4 a bit, not gigabyte, megabyte, kilobyte, or even byte, bit. This meant that the traditional mechanism for providing the needed memory for a graphical display would have made the video terminal itself prohibitively expensive. The solution was to create an entirely new display technology, which would not need to constantly be refreshed; once a gas plasma display has a pixel enabled, it stays enabled without further assistance, effectively merging the display and its memory into one cost effective package, and making full screen interactive graphics possible on a per -dot basis, and without the drawbacks of a vector display. While most displays today now use liquid crystals, the modern plasma television and monitor displays descend directly from this technology.
Through PLATO’s history, you can trace the beginnings of many of the things we take for granted today all in full use by the mid 1970s:

  1. Discussion forums (in the form of Notes, in fact Lotus Notes descends directly from PLATO NOTES) (first on-line in 1973)
  2. Multi-user dungeons (games like Wizardry, and Ultima owe their direct existence to Avatar, Moria, and other such dungeons on PLATO, which pioneered a first person display, multi-player interaction, character storage and development, and more.
  3. The first multi-user chat system, in the form of Talk-O-Matic, providing the ability for multiple people to talk, over multiple rooms, simultaneously.
  4. The first 3D dog-fighting flight simulator, Airfight, allowing multiple players to fly jet aircraft, shooting each other down, with realistic flight physics, thanks to the floating point capabilities of the 60-bit supercomputer it ran upon.
  5. The first space conquest game, Empire, grand-daddy to such games as Elite, and Conquest, provided a Star-Trek™ (trademark of Paramount) themed Space conquest game where you are pitted against other players to conquer planets and resources.
  6. The system sported screen-sharing, allowing users to send their screen, to other users, while talking back and forth, providing an early form of instruction and collaboration for instructors, authors, and students alike. This works from anywhere in the system, regardless where you are, in a menu, playing a game, developing some code in the system, it is ubiquitous.
  7. PLATO not only provided a programming language to write new programs, TUTOR, but it also provided a complete programming environment, even with dedicated visual full screen editors for code, for drawing new graphics, character sets, and even proportional fonts (in the form of line-sets). This was bolstered with excellent on-system documentation, replete with tutorials and examples so that anyone who wanted or needed to could write new software for PLATO.
  8. PLATO terminals were very extensible devices, which could connect to all sorts of external devices, such as the Gooch Synthetic Woodwind (GSW), which provided a multi-channel “sound card” for musical output.
  9. And so much more.

    Many of these innovations, as well as the detailed history of PLATO and its community are detailed in an excellent book: The Friendly Orange Glow: The Untold Story of the PLATO System and the Dawn of Cyberculture by Brian Dear, who spent over a decade authoring the book; the result of which is an unbelievably engaging and inspiring historical tome. This book is the very reason that I became an active contributor to the PLATO community, and why I ultimately started IRATA.ONLINE, to bring this system to retro-computing users who otherwise would never have known about it.

    All of which I have previously mentioned is present on IRATA.ONLINE, it is not a re-implementation of PLATO, but an actual PLATO system that is running inside an emulation of a Control Data CYBER-170/865 60-bit supercomputer, emulated by the excellent DTCyber emulator written by Tom Hunter. Various members of the CYBER1.ORG community acquired the requisite permissions to be able to allow others to use the content for non-commercial purposes, and to this end, I am providing this service, for no charge or am otherwise asking for any form of donation or making profit from the hard work that CYBER1.ORG pulled off to make this available for anyone who wanted to run their own PLATO system.

    Where do I sign up?
    You can sign up by going directly to the IRATA.ONLINE website. The website contains not only an overview of the IRATA.ONLINE service, it also provides everything needed to be able to access the service, and even includes a media library of demonstration videos showing various aspects of the service, as well as a detailed technical section which provides not only a complete description of the protocol used by terminal programs to access the service, but multiple source code examples of working terminals to be able to get a new terminal written for a new system, very quickly.

    Who would be interested?

    IRATA is potentially interesting for a number of different groups of people:
    – Vintage computer users. Virtually every 8 and 16-bit vintage computer has some way to connect itself to the Internet, but you can’t put a Commodore 64 onto Facebook, nor can an Apple II log onto Instagram. IRATA.ONLINE provides a place where every vintage computer user with a Wi-Fi MODEM, or ethernet adapter and terminal software to connect and play together.
    – Computer Archaeologists. PLATO systems have over three decades of software code, not only in user facing lesson content, but in system level tools, much of which lacks even a description of what is available and its functional descriptions, much less implementation details. These artifacts need to be discovered and documented. Lots of treasures are hidden within.
    – Coders and Artists. IRATA.ONLINE, being a PLATO system, provides a complete development environment, to create new programs (such as new games) that can be utilized by all users on IRATA.ONLINE. The various editors allow not only coders to get in on the action, but also artists.
    – Retro Game Players. – IRATA.ONLINE brings iconic and historic games to a wider game playing audience to play.

    Part of a Bigger Community.

    IRATA.ONLINE stands alongside CYBER1.ORG as a long-term PLATO installation. I consider CYBER1.ORG and IRATA.ONLINE to be two different towns on the same map, with different, mostly non-overlapping communities. While CYBER1.ORG is mostly comprised of PLATO system expatriates, and they cater to an authentic PLATO author experience for all of its users, IRATA.ONLINE intends to bring PLATO to a new group of retro-computing users, who, while they may have heard of PLATO in a historical context, may never have actually seen or used it. Having both IRATA.ONLINE and CYBER1.ORG enriches the overall PLATO community, strengthening it, and since both systems have their own software bases, each with different lessons, there are compelling reasons to visit both systems. And since CYBER1.ORG released the CYBIS distribution and its required emulation to the public, it is possible that other systems can also appear, each with their own unique characteristics.

    Facilitating a Community
    Providing the software and doing the requisite engineering work to build the system is only one part of the whole equation. It is my own intention to also function as a community facilitator for everyone else on IRATA.ONLINE. Do you have an idea of something you want to make, with the system? I will help make it happen, and provide what you need to be able to take ownership of your idea, within the community.

    There is also a conscious effort to provide workshops, and community gatherings to use the system, and to show how to make new things with the system. For the former, I intend to offer various workshops on how to create games and other types of programs, with the system, utilizing Google Hangouts. For the latter, regular community gatherings will bring people together to play games of Avatar, Airfight, etc… where we all learn together. Both of these types of things are coordinated via the IRATA.ONLINE Facebook page, as well as providing postings on the primary website.
    What will come of this? Let’s find out.

Libretro Status Updates

So, what have we been up to?

Dolphin and Ishiiruka cores

The Dolphin libretro bounty has led to this rebasing of the Dolphin libretro core. It is now up-to-date with the latest sourcecode, and it now supports OpenGL, Direct3D11 and Vulkan! It is even available for RetroArch on Android right now, provided you use the AArch64 version (since Dolphin itself requires a 64bit CPU on Android anyway).

In addition to this, I have also taken a look at porting Ishiiruka (a Dolphin fork) to Libretro. This one is not as far along yet as the mainline Dolphin core, but we are already making steady progress with the OpenGL renderer!

RetroArch 1.7.4 – WIMP updates

There will continue to be improvements to the WIMP UI in RetroArch 1.7.4. One of the big new features will be a fancy grid view. Previously, the WIMP UI only had a list view.

Beetle PSX HW

Some important bugs have been fixed. Finally, mask bit emulation has been (hackishly) implemented by flyinghead for the OpenGL renderer, so Silent Hill’s fog finally displays properly. iCatButler has made PGXP much more robust over the past few weeks, which has led to many rendering bugs being fixed when PGXP is enabled.

Reicast

You can read about all of our improvements to the Reicast core in this separate blog post here.

Beam racing bounty – up to $1132!

The beam racing bounty has fetched $1132 so far!

RetroArch is already at the tip of the spear when it comes to latency mitigation strategies with features like runahead, configurable max swapchains, frame delay, custom video context drivers, etc. Beam racing is a new lagless VSYNC technique has been developed that is already implemented in some emulators like WinUAE. The aim of this bounty is to finally implement it in RetroArch as well, and the users/devs that want it have put their money where their mouth is for this particular feature!

BeetleDC Libretro – Updates 26-7-2018

BeetleDC Libretro and BeetleDC OIT Libretro have recently been updated.

Here is a listing of all the changes/fixes/improvements:

  • (Dreamcast/Compatibility) Eldorado Gate – Broken opening FMV fixed (link)
  • (Dreamcast/Compatibility) Demolition Racer now works (link)
  • (Dreamcast/Compatibility) Redline Racer – Graphics bugs fixed (link)
  • (Dreamcast/Compatibility) Fixed rendering issues with Tokyo Xtreme Racer games (link)
  • (Dreamcast/Compatibility) Conflict Zone – Modern War Strategy now works
  • (NAOMI/Compatibility) Metal Slug 6 now works without graphics bugs

BeetleDC OIT – Increased compatibility with AMD/Intel GPU drivers

AMD GPU owners on Windows/Linux and Intel HD users on Linux/Mesa should probably be able to use the Reicast OIT core now, as several GLSL compliance bugs have been fixed by now.

Note that BeetleDC OIT can still be very buggy for Intel HD users on Windows, and slow to boot. The renderer really lends itself better to discrete GPUs from AMD/NVidia.

Render to texture upscaling!

Previously, games which rendered to texture (such as Dead or Alive 2 or Crazy Taxi) would always output at 1 x native resolution. Now, you can set the upscaling factor. Games which render the screen to a texture should look much better as a result, provided your GPU is up to the task.

An example – here is a comparison of the Crazy Taxi pause screen – left is 1x native resolution, right is 4x upscaled –

xBRZ Texture upscaling

This new setting allows you to upscale all the textures in a game up to 6 x their original resolution using the xBRZ texture filtering algorithm! See it in action with Shenmue in this video below –

BeetleDC Libretro – Updates!

BeetleDC Libretro and BeetleDC OIT Libretro have recently been updated.

Here is a listing of all the changes/fixes/improvements:

  • (BeetleDC Libretro) – now requires OpenGL 3.0 core profile (and GLSL 1.30).
  • (BeetleDC Libretro OIT/OpenGL) – Increased compatibility with other GL 4.3 driver implementations.
  • (BeetleDC Libretro OIT) – Several performance improvements.
  • (BeetleDC Libretro OIT) – Fixed graphics issues in Resident Evil 3: Nemesis (link).
  • (Reicast Libretro OIT) – Fixed graphics issues in Dino Crisis (link).
  • (Dreamcast/PVR2) Bump mapping implemented (used in Rayman 2/Shenmue 2) (link).
  • (Dreamcast/PVR2) Trilinear filtering implemented (needed by NFL 2K2 in particular to display some ground textures correctly).
  • (Dreamcast) Bomberman Online – Fixed glitching title screen (link).
  • (Dreamcast/Compatibility) Shenmue 1 crashes fixed (thanks to x64 Dynarec CheckBlocks implementation)
  • (Dreamcast/Compatibility) Shenmue 2 crashes fixed (thanks to x64 Dynarec CheckBlocks implementation)
  • (Dreamcast/Compatibility) Alone In The Dark: New Nightmare – improvements to YUV / palette textures – no more downgraded colors in backgrounds (link).
  • (Dreamcast/Compatibility) Dead or Alive 2 LE (Japan) crashes fixed.
  • (Dreamcast/Compatibility) Draconus – Cult Of The Wyrm/Dragon’s Blood – fogging graphics glitch fixed (link).
  • (Dreamcast/Compatibility) Evolution: The World of Sacred Device (UK) now renders flat shaded polygons correctly (link).
  • (Dreamcast/Compatibility) Shadow Man works now. Set Cable Type to VGA or otherwise it will crash after the Dreamcast boot screen.
  • (Dreamcast/Compatibility) NBA 2K/2K1/2K2 now work.
  • (Dreamcast/Compatibility) Napple Tale crash no longer happens after leaving the circus.
  • (Dreamcast/Compatibility) Ooga Booga now goes ingame, some issues still remain though.
  • (Dreamcast/Compatibility) Soldier Of Fortune AI bugs fixed (link).
  • (Dreamcast/Compatibility) Test Drive Le Mans/Le Mans 24 Hours now works, still some audio glitches though.
  • (Dreamcast/Compatibility) Looney Tunes Space Race now works.
  • (Dreamcast/Compatibility) Wacky Races now works, still has some graphics glitches though.
  • (Dreamcast/Compatibility) San Francisco Rush 2049 – screen display issues fixed – Screen cropped at the top (link).
  • (Dreamcast/Compatibility) Fur Fighters now goes ingame, some issues still remain though.
  • (Dreamcast/Compatibility) Twinkle Star Sprites no longer unplayably slow due to excessive logging.
  • (Naomi) Analog input implemented for games like Monkey Ball/Virtua Tennis 2.
  • (Naomi) EEPROM saving/loading implemented.
  • (Naomi/Compatibility) Hokuto No Ken / Fist Of The North Star now works.
  • (Naomi/Compatibility) King of Fighters New Wave – no longer crashes during fights, there are still display glitches though.

Also be sure to check our Youtube channel, where you can view a lot of videos on recent BeetleDC Libretro developments and more!

RetroArch – Metal video driver for modern macOS!

RetroArch has now gained a Metal renderer! Targeting modern macOS at first. XMB/MaterialUI works, menu shader pipelines work, Slang shaders work thanks to SPIRV-Cross, fonts work, etc!

Previously, RetroArch for OSX/macOS only had an OpenGL video driver. Since Apple will be deprecating OpenGL support in the near future, this Metal video driver essentially future proofs RetroArch for mac!