The Chloe 280SE

aowen10

New Member
Jun 17, 2019
13
4
3
This is my own original retro computer project. It's FPGA-based (running on the ZX-Uno board), but it started out over 20-years ago as a prototype built on a modified Timex computer. It's fair to say it's evolved somewhat since then. It has two things going for it that may be of interest to folks who didn't grow up coding for the 6502 series: It's Z80-based, and it's completely open source (the hardware, the firmware, and the software). My reason for posting is because I keep on hearing requests for a Z80 co-processor in the Commander X16. That might happen as a third-party add-on, but this might scratch that itch for those who can't wait. I'll throw some links in here and I'm happy to answer any questions.

 
May 22, 2019
592
300
63
Thanks for the post.

Could you maybe give us a bird's eye view of what state the project is in, in terms of hardware, the operating software, and the BASIC interpreter?
 

aowen10

New Member
Jun 17, 2019
13
4
3
Could you maybe give us a bird's eye view of what state the project is in, in terms of hardware, the operating software, and the BASIC interpreter?
Sure. The hardware is the rev4.1 ZX-Uno (http://zxuno.speccy.org/index_e.shtml). The first funding goal is to redesign the board for FCC / CE compliance, but it should be fully compatible with all the existing FPGA cores.

The OS kernel is a reverse engineered version of the only existing kernel for the MMC system that's part of the Uno. It's still mostly a black box, but it builds from source and it works. https://github.com/cheveron/unodos-wolf

SE Basic IV (https://github.com/cheveron/sebasic4) is derived from TS1000 BASIC which is available under GPLv2 thanks to copyright owner Nine Tiles Networks. The aim is to change the syntax to be as compatible as possible with MS-BASIC. Currently, there's no graphics (the default mode is 80x24 text) and limited audio support, but the rest of BASIC (including the main disk commands) is fully functional.

The file system is FAT-32 with short filenames that are case-insensitive. But SE Basic IV presents folder names as up to 11 characters without a period and displays underscores as spaces (and it accepts spaces in filenames). It also has its own application package format. Applications are folder structures stored in a PROGRAMS folder. Names can be any length but in practical terms are truncated to the first 11 characters (which must be unique). To launch an app, the user enters something like: RUN "My Application". Several example applications with source code are available from https://zx.itch.io/ where you can also download an emulator for Mac and Windows.
 
May 22, 2019
592
300
63
Thanks. I've been working on a few demo games - character based games that can run in 100% BASIC. But I also want to get back to assembly on a user-friendly Z80 computer, so this seems like it has promise.
 

aowen10

New Member
Jun 17, 2019
13
4
3
Having spent about 20 years writing Z80 code myself, I'm trying to make it more pleasant for the assembly programmer. For example, in the next update there will be a MASKADD system variable where you can set the address of a routine that you want to be called on every interrupt. If the value is anything other than zero it will call a user routine after it has updated the FRAME and TIME values. If you don't need to use the ROM keyboard routine you can drop the return address and do your own thing, or you can return to the keyboard handler. This avoids the hassle of setting up an IM2 routine and jump table that was usually required on machines like the ZX Spectrum.

Another feature is a fully definable 2K character set that exists outside the main address space (it lives in the framebuffer). This is mainly used for code page support, but it could be useful for character based games.
 

aowen10

New Member
Jun 17, 2019
13
4
3
Update: The latest ZX core for the Uno which permits running the CPU at 28MHz is now open source (it was held back due to license violations by another project). So in the update after the next one, the Chloe speed will default to 28MHz.
 
  • Like
Reactions: TomXP411