Close
0%
0%

CROSS-LIB

A universal WORA retro-hardware library and ANSI C development framework

Public Chat
Similar projects worth following
CROSS-LIB is a universal WORA (write once run anywhere) retro-hardware abstraction layer and ANSI C development framework, it provides a C library to code universal games for *hundreds* of different vintage systems: you write your code *once* and you compile it for more than 200 different targets.A partial list is in: https://github.com/Fabrizio-Caruso/CROSS-LIB/blob/master/docs/STATUS.md

CrossLib
https://github.com/Fabrizio-Caruso/CROSS-LIB

CrossLib is a WORA (write once run anywhere) framework with a set of tools and a library that provides a retro-hardware abstraction layer for coding "universal" games on *hundreds* of vintage systems (mostly 8-bit) from the '70s till the '90s (computers, consoles, hand-held consoles, scientific calculators, hacked toy computers, arcade boards, micro-boards, new retro boards, etc.). You only code your game *once* with the very same code for all systems. Then you can massively cross-compile it for 200 very diverse vintage targets.
A partial list is in: https://github.com/Fabrizio-Caruso/CROSS-LIB/blob/master/docs/STATUS.md

Moreover, this project is also about the universal games I have written with Cross-Lib. These games are the proof of the flexibility of CrossLib and can be compiled for about *200*  8-bit computers, game consoles, hand-held game consoles, scientific calculators, arcade boards, etc.:

  1. Chase is an original concept somehow similar a real-time version of Gnome Robots with many different levels and items to pick.
  2. Shoot is an original concept somehow similar to Robotron but with many different levels, items and secrets.
  3. Bomber is a clone of Air Attack/Blitz. This is the first game with some sort of software sprites (pre-shifted tiles).
  4. Snake is an original concept of a Snake-like game with a gameplay between Snake and Nibbler (walls do not kill the player) and lots of levels, items and secrets. It uses some software sprites.
  5. Horde is an original shoot-em up with a zombie theme. It has several different enemies, levels, items and secrets. It uses some software sprites.
  6. Verbix is a Scrabble-like game that looks like Tetrix with letters.
  7. Shuriken is somehow inspired by Pac-man and Pengo.
  8. Stinger is a tank-shooter with several enemies, levels, power-ups and items to pick.

These games can be tested and played on the browser at

https://github.com/Fabrizio-Caruso/CROSS-LIB/blob/master/docs/GAMES.md

  • 1 × CC65 C dev-kit and cross-compiler for the MOS-6502 architecture
  • 1 × Z88DK C dev-kit and cross-compiler for the Intel 8080 and Zilog 80 architectures
  • 1 × CMOC C cross-compiler for the Motorola 6809 architecture
  • 1 × ACK C cross-compiler for multiple vintage architectures (Intel 8080, Intel 8088/6, Motorola 68020, etc.)
  • 1 × LCC1802 C dev-kit and cross-compiler for the RCA COSMAC 1802 architecture

View all 9 components

  • 5 Games and improved script

    Fabrizio Caruso05/12/2022 at 18:14 0 comments

    Cross-Lib comes now with 8 full built-in games and many examples.

    The script `xl` has been greatly improved.

    In order to learn how to use it just run `xl help`  from them `src` directory.

  • Cross-Lib Status

    Fabrizio Caruso10/14/2020 at 16:14 0 comments

    Cross-Lib is a C a set of tools and library that provides a retro-hardware abstraction layer to code "universal" games with simple graphics and sounds (whenever available on the target hardware) for *hundreds* of different vintage systems from the '70s till the '90 (computers, consoles, hand-held consoles, scientific calculators, hacked toy computers, etc...):

    https://github.com/Fabrizio-Caruso/CROSS-LIB/blob/master/docs/STATUS.md

    I have already written 3 universal games with Cross-Lib:
    - Cross Chase (somehow a sort of real-time version of Gnome Robots and probably world record holder for the game with the highest number of "ports", i.e, more than 200)
    - Cross Shoot (somehow similar to Robotron. It is largest game so far with many game elements, enemy types, items and secrets)
    - Cross Bomber (mini-game clone of Air Attack, aka Blitz)

View all 2 project logs

  • 1
    Step 1

    Cross-Lib can be used by just cloning the repository and install some minimal prerequisites (for most cases just, python, gcc, ncurses):
    https://github.com/Fabrizio-Caruso/CROSS-LIB
    Cross-Lib alone can be used only to build games for the native terminal console. So it won't allow to cross-compile built-in games, nor built-in examples or new projects for vintage systems.  In order to cross-compile and build projects for vintage systems you will also need to install the required cross-compilers.

    Detailed instructions are in:
    https://github.com/Fabrizio-Caruso/CROSS-LIB#installation-of-the-tool-chain

View all instructions

Enjoy this project?

Share

Discussions

Fabrizio Caruso wrote 10/21/2020 at 14:18 point

@kwapiszon an emulator for what? My project is about a library to code on vintage systems for which emulators already exist. I have written 3 games and a demo with my library. All these games can be run on nearly all vintage computers, consoles, hand-helds, scientific calculators, hacked toy computers, etc.

  Are you sure? yes | no

Fabrizio Caruso wrote 10/19/2020 at 15:13 point

Hi! This is not a system. This is a devkit for 200 different vintage systems (for a partial list see https://github.com/Fabrizio-Caruso/CROSS-LIB/blob/master/docs/STATUS.md).
I have written a mini demo, a mini game a two big games with it for hundreds of computers, consoles, hand-helds, boards, calculators, etc... (games: https://github.com/Fabrizio-Caruso/CROSS-LIB/tree/master/src/games, demo: https://github.com/Fabrizio-Caruso/CROSS-LIB/tree/master/src/demos).

  Are you sure? yes | no

[deleted]

[this comment has been deleted]

Fabrizio Caruso wrote 10/20/2020 at 13:34 point

@Kosma I don't understand what you are talking about. This is not about a new system. It is a dev-kit to code for 200 different vintage systems. See the description above for more details.

  Are you sure? yes | no

kwapiszon wrote 10/21/2020 at 09:44 point

How to increase the popularity of the library? Write a necessary and useful program using it (e.g. gimp).
I suggest that you move the emulator to this library or write convay game of life etc

  Are you sure? yes | no

kwapiszon wrote 01/02/2021 at 22:30 point

emulation if for increase popularity

for example chip8 or similar

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates