A Fantasy Microcomputer
This project is maintained by JiFish
Download the latest release from the Releases page. See To Start for more instructions.
A Fantasy Computer is a recreation of a computer that never existed. Providing a platform to create software with the limitations of older machines. The idea is to be inspired and challenged by these constants.
Artemis is supposed to be a challenging fantasy computer. Can you create a fun game with the following limitations?
Interpreted languages are slow and Artemis is explicitly not designed to be friendly to developing real-time action games. Turn-based, menu-driven and text-heavy games would be ideal.
Although limited, Artemis allows you develop using some modern tools:
This project was inspired by Basic8 and Ozapell Basic, nether of which was quite what I was after.
Artemis’ specifications (and name) were inspired by the Amstrad CPC line of machines. The CPC’s unusual 3-level RGB palette was expanded to 5-level for Artemis. The character set is also inspired by Amstrad’s custom extended ASCII, using most of the same glyph positions.
Artemis is also free open-source software and should work on many platforms. Artemis / JiBASIC is made available under the GNU General Public License, version 3.0 or later (GPL-3.0-or-later).
Artemis is currently beta software. However, an important goal is to maintain forward compatibility for programs.
JiBASIC is a fork of PyBasic by richpl with many platform-dependent features added. Fixes and improvements from PyBasic will be pulled in to JiBASIC, and any fixes here will be sent back via pull-request. Much of the following documentation is also forked from PyBasic.
Currently most programs written for, or saved in, PyBasic will run in Artemis. But this may not be the case in the future.
Artemis is also powered by pygame2 and midiutil
If you select the msi, run the installation and a shortcut will be placed on the desktop.
Otherwise, unzip the download and run artemis.exe
.
Install Python 3, then use pip to install the required libraries:
pip install pygame midiutil
Then to start…
python interpreter.py
pypresence for discord presence is an optional library. It will be used if present.
Try typing HELP
to open the main interface documentation.
A number of example programs are provided, you can find them on the EXAMPLES disk. Type MOUNT EXAMPLES
to switch to the disk and LIST S
to show the programs. Load using example using LOAD <name>
, view it’s source-code with LIST
and run it with RUN
.
Example programs
CHARS
- Prints every available character symbolCODERAIN
- ‘Matrix’ inspired falling characters visual. Demonstrates POKESFACTORAL
- Calculates a factorial from user inputFONT
- Demonstrates replacing the entire symbol set using SYMBOLIMGINK
- Demonstrates INK command and shows all possible 125 colorsINPUT
- Demonstrates INPUT commandKEYCODES
- Prints key-codes when keys are pushedLOADS
- Loads a screen-dump file on to the screen using the LOADS commandMAZE
- Demonstrates RND and RNDINT by drawing a random mazeMODES
- Shows every available text mode and default paletteMUSIC
- Demonstrates MUSICPLAY and MUSICSTOP commandsPLOT
- Demonstrates pseudo-pixel plotting using PLOT commandPRINTW
- Demonstrates printing to a window using PRINTW commandREFRESH
- Demonstrates how to control screen drawing with REFRESH WAITROCKPAPERSCISSORS
- Rock, Paper, Scissors game versus the computerSYMBOL
- Demonstrates changing a single text symbol using the SYMBOL commandText files containing these examples can be found with the .bas extension in document\artemis\EXAMPLES\
.
The Maze is a very simple puzzle game serving a proof-of-concept. If you type MOUNT MAZE
the game will begin automatically.
You can use CTRL-C to exit the game, then use LIST
to see the program source.