| This depot is not guaranteed to build at any given time - it's my bleeding edge repository. 
 Open source (but restrictive license) emulator including ROMs licensed by Texas Instruments - see older documentation for license and restrictions.
 
 This repository is not yet useful - however, it does boot and incldues the Demonstration cart.
 
 All features of the following hardware are complete:
 - CPU TMS9900
 - VDP TMS9918A
 - PSG SN76xxx/TMS9919
 - basic keyboard (99/4 and 99/4A)
 - GROM
 - System ROM
 - Scratchpad RAM
 
 There are a lot of changes compared to Classic99 3xx, with a goal to easier expandability. However,
there is a LONG way to go before it approaches parity.
 
 Note there is NO WAY TO LOAD OR SAVE SOFTWARE. So it's not useful yet. But it runs.
 
 You can run any of the three console variants by passing a year at the command line. This is NOT
a permanent interface and will go away when menus appear someday...
 
 - classic99v4.exe 1979 - runs the 99/4
 - classic99v4.exe 1981 - runs the 99/4A
 - classic99v4.exe 1983 - runs the 99/4A v2.2
 
 The code is based on Raylib, so in theory, it should build cross-platform. If you try it, let me know 
what happened. All Raylib code is included, though some external dependencies may be needed. The cmake
should tell you.
 
 Building
========
 
 In Windows, open Classic99v4.sln in Visual Studio 2022 (Community is fine), and build as normal.
 
 In Linux and Mac, open a terminal. cd to the Classic99 folder, then:
 
 mkdir build
    cd build
    cmake ..
    make
 
 Under Debian, I noted I needed to install these additional libraries. There may be others:
 
 apt-get install cmake libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libncurses-dev
 
 For Raspberry PI, install these libs, and then run CMAKE with these commands:
 
 sudo apt-get install --no-install-recommends raspberrypi-ui-mods lxterminal gvfs
    sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev libxrandr-dev libxi-dev libasound2-dev mesa-common-dev libgl1-mesa-dev libncurses-dev
 
 cd build
    cmake -DPLATFORM=Desktop -DGRAPHICS=GRAPHICS_API_OPENGL_21 ..
 
 (See https://github.com/raysan5/raylib/wiki/Working-on-Raspberry-Pi)
 
 You can also build a console-only version - this will not include graphics or sound and will leave out raylib.
This exists so that Classic99 can be run over SSH.
    cd build
    cmake -DCONSOLE_BUILD=ON ..
 
 Tested Platforms
================
 
 - Platform    Version     Status      Date        Notes
 - -------------------------------------------------------------------------------------------------------------
 - Windows     11          working     5/22/2025
 - Linux       Debian 12   working     5/7/2025
 - Linux       WSL2 Debian working     5/22/2025
 - Mac OSX     Sequoia15.2 working     5/22/2025   OpenGL build marked deprecated, audio not tested
 - PI 4	      R-PiOS 6.12 working     5/7/2025    Requires OpenGL 2.1 build as noted above
 
 Notes
=====
 
 These things don't work on Mac: Control-Tab, Shift-F6, FPS overlay
These things don't work on WSL: Control-Tab
 
 Credits
=======
 
 Raylib is available here: https://www.raylib.com/
 
 Copyright (c) 2013-2024 Ramon Santamaria (@raysan5)
 
 This software is provided "as-is", without any express or implied warranty. In no event 
will the authors be held liable for any damages arising from the use of this software.
 
 Permission is granted to anyone to use this software for any purpose, including commercial 
applications, and to alter it and redistribute it freely, subject to the following restrictions:
 
 1. The origin of this software must not be misrepresented; you must not claim that you 
  wrote the original software. If you use this software in a product, an acknowledgment 
  in the product documentation would be appreciated but is not required.
 
 2. Altered source versions must be plainly marked as such, and must not be misrepresented
  as being the original software.
 
 3. This notice may not be removed or altered from any source distribution.
 
 Classic99 uses modified source. Any modifications are tagged (mb).
 
 ---
 
 PDCurses is used in the Windows port and is available here: https://pdcurses.org/
 
 The core package and most ports are in the public domain, but a few files in the demos and X11 directories 
are subject to copyright under licenses described there.
 
 This software is provided AS IS with NO WARRANTY whatsoever.
 
 Classic99 does not include demos or X11 directories.
 |