Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Source Solutions, Inc.

A member registered Aug 03, 2016 · View creator page →

Creator of

Recent community posts

Love it. Getting some Commander Keen vibes from the visuals.

You can read more about the chip here: It really only makes sense to connect it to an MSX though because there is virtually no software available for it on other platforms.

You could bridge the ULA and Z80. But hobbling a reasonably powerful ARM SoC by hanging it off a far less capable system seems counterintuitive. It would be more effective to emulate the system on the Raspberry Pi?

There is at least one project that connected the VDP from an MSX to a ZX Spectrum. However, the only software that supports it is written for the MSX. The advantage of ULAplus is that it works with the entire library of existing software without having to reprogram it.

The BBC Micro VideoNuLA is a palette enhancer. In that respect it's a bit like ULAplus. It enables you to change the output of the default 16 colors to a selection from a palette of 4096 colors. Screens take up the same amount of RAM. But, the 6502 has memory addressed I/O, so there is no penalty for using a wide palette. The Z80 has 8-bit I/O, so using more than one byte per palette entry limits how many colors you can change on a palette line. The software HAM256 mode (which can display all 256 colors on screen) would not be possible with a wider palette. And ULAplus gives you 64 colors on screen from a palette of 256, which generally gives better results than 16 from 4096.

The Spectrum has a progressive display. You can't change it into an interlaced display by replacing the ULA.

Right now SLAM+ is out of production and there is limited stock of ZX-HD. However, ULAplus is available in many clones and FPGA implementations.

Probably never. The ULA can only access bank 5 and 7 on a 128K machine which would give you a maximum of 32K to play with. Expanding the RAM so other pages were available to the ULA would be a bigger hardware mod than most people are prepared to do. Even with 32K, a 3.5MHz Z80 isn't really adequate to driving such a big display file.

(2 edits)

It's a known false positive. For some reason, anti-virus programs often fail on emulation software. The latest version is available here:

The majority of AV tools do not generate a false positive with the latest version:

This release includes these features, enhancements, bug fixes and changes:

  • New keyboard support:
    • Brazilian
    • Spanish
    • AZERTY (work in progress)
    • QWERTZ (work in progress)
  • Language support:
    • New code pages:
      • Windows 1257 (Baltic)
      • Windows 1258 (Vietnamese)
      • KOI-8R (Russian)
    • Updated code page 437 (IBM) character definitions.
    • Translation:
      • Updated existing languages.
      • Switched Russian translation to use KOI-8R to enable future JCUKEN keyboard support.
      • New languages added:
        • Danish
        • Polish
        • Romanian
  • Updates to the file system framework
  • Raster interrupt examples.
  • Removed all dependencies on Zeus assembler. Now builds on macOS, Linux and Windows using RASM assembler.

This release includes these features, enhancements, bug fixes and changes:

  • Fifteen function key macros for common commands.
  • Support for loading keyboard maps at boot.
  • US keyboard maps for rev2.1 and rev4.1 devkits.
  • Chloe keyboard maps for rev2.1 and rev4.1 devkits.
  • Printing character codes $07 to $1F now functions as in Microsoft BASIC.
  • New JSTATE system variable for reading the joystick.
  • New MSTATE system variable for reading the mouse.
  • Added delay before error message printing on BREAK and NEW.
  • Sets correct speed on Prism hardware.
  • DB9 port defaults to Kempston (K-stick).
  • Keyboard-mappable joystick switched off.
  • Mouse initialized on boot.
  • Key delay now closer to PC-BASIC.
  • Raster interrupts enabled by default on scan line 201.
  • Default IM2 routine at $00FF.
  • New congfig.sys option sc= switches scan-doubler on or off for Uno hardware. This may improve the image on some monitors. If no image is displayed, use the other setting.
  • Japanese localization.
  • Lithuanian localization.
  • Updated code pages.
  • Boot ROM now explicitly sets all hardware settings.
  • Composite output is now NTSC compliant.
  • Source cleanup.
  • Added Linux target.
  • Fixed LIST bug.
  • Restored line cursor in auto-listing.
  • Fixed editor bugs; duplicate cursor, missing bell, edit non-existent line.

Chloe 280SE

Retrocomputing, reimagined.

This release fixes some minor bugs and includes these features and enhancements:

  • Changed timestamp message for intermediate builds.
  • Removed double spacing after certain tokens. 
  • Restored setting background color on NEW.
  • Moved channel code in preparation for extension.
  • Fixed ASCIIZ message printing to ensure no tokens are printed.
  • Fixed DEF FN bug (incorrect token prevented function discovery).
  • Added two new calculator literals (unused at present).
  • Faster random number generation.
  • Functions can now be called recursively [10 DEF FN a(x,y)=x+y : PRINT FN a(2,FN a(1,1))=4].  
  • Fixed division bug [IF 1/4<> 0.25 THEN PRINT "BUG"].
  • Fixed exponentiation [(-10)^5].
  • Now passes Daniel Nagy's calculator test suite.
  • Fixed note table (Zeus truncates so constants are hard coded again).
  • Added vector table for frequently called routines.
  • Added printing codes for cursor up and down.
  • Minor optimizations to the file handling code.
  • All editing keys can now be read.
  • F-keys can now be read from BASIC (experimental).
  • Combined table of operators and priorities.
  • Updated copyright date.
  • Source cleanup.
  • Added Baltic (CP1257) and Vietnamese (CP1258) code pages.
  • New HELP.CP code page with Serif, Italic and Bold.

This release fixes some minor bugs and includes these features:

  • Localization and code page support now works in the VM using the host file system.
  • Default code page is now set to Western European (for regression testing). Default language is now set to French (for regression testing).
  • Channels and streams subsystem update in anticipation of future BASIC file access support in the format OPEN #3,"O","/docs/output.txt".
  • HEX$ function to convert an integer decimal to a hexadecimal string. Example: H$=HEX$ 16384.
  • CAPS LOCK is now on by default. Very old BASIC programs written for systems with no lowercase character support fail if CAPS LOCK is off. SHIFT toggles the case of the character so that when CAPS LOCK is on it will produce lower case characters.
  • Updated start screen.
  • Cleaned up code comments and added new section headings.

This release includes:

  • CPU clock is increased to 28MHz on rev4.1 hardware with core EXP27.
  • New MASKADD system variable enables users to have the maskable interrupt call a custom routine after the FRAME and TIME system variables are updated but before the keyboard is read. This removes the need to use IM2 mode and tables in interrupt driven routines.
  • Return of the detokenizer. On editing a line, tokens are now converted back into individual characters. This improves cursor movement in the edit line.
  • Return of trace (TRON / TROFF). Reports the current line while executing BASIC.
  • Return of renumbering (RENUM). Enables the user to renumber the program with an optional starting line and increment.
  • Return of error trapping (ON ERROR CONT / GOTO / STOP). Enables the user to redirect the program when an error is detected.
  • Return of extended LIST [<start>][,[<end>]]. Enables a range of lines to be listed where start and end lines are optional.

This release fixes a number of bugs, improves OS integration and provides revised localization support.

  • Frame interval now configured for 60Hz interrupt.
  • Changes for compatibility with native file system under emulation.
  • Fixed initialization bug affecting CLEAR command.
  • BASIC bytes free now calculated from CLEAR address.
  • Space now permitted as a substitute for underscore in file names.
  • UnoDOS III moved into its own project.
  • Updated UnoDOS III kernel to 3.1 Wolf.
  • Hardened file commands to work around limitations in the kernel.
  • LOCATE now works correctly for first 22 rows.
  • BREAK clears the keyboard buffer.
  • Updated system font.

Code page support for:

  • 437 IBM English US
  • 1250 Central Europe
  • 1251 Cyrillic
  • 1252 Western Europe
  • 1253 Greek
  • 1254 Turkish
  • 1255 Hebrew
  • ATASCII (Atari 8-bit)
  • Atari ST
  • MSX2+ (Japanese)
  • PETSCII (Commodore 8-bit)

Language support for:

  • German
  • English (US)
  • Spanish
  • Finnish
  • French
  • Greek
  • Hungarian
  • Italian
  • Dutch
  • Portuguese
  • Russian
  • Turkish
  • Ukrainian
(1 edit)