Computer

From Trillek Wiki
Jump to: navigation, search

Ship Computer

Ships will be controlled via an internal Computer akin to an old DOS style operating system. This OS will control most aspects of the ship, such as taking flight control input and translating it into the thruster control modules.

The computer is designed to allow to use different CPUs in game (independently if are 8, 16 or 32 bit). Changing the CPU requires to poweroff the computer and replace the CPU board from it. The CPU of the computer could run at 0.01, 0.1, 0.2, 0.5 and 1 Mhz (this could changed in function if we can improved the speed of the virtual computer and on how many computers are desired to run on a server), so have a similar computing power of a old Commodore C64, a ZX Spectrum or an original Apple II

The most basic computer setup includes 128 KiB of RAM with a 32 KiB ROM chip, a dual timer, a Real Time Clock (RTC), a random number generator and a beeper. Can be expanded with additional RAM chips to a total of 1 MiB (but this will be rare) and can accept to a total of 32 devices plugged, including graphics cards, keyboard controller, floppy drives, network cards, power management systems, etc...

The updates specs are ALWAYS on GitHub : Trillek Computer Specs

If you arem't a computer geeks, expect to found a basic simple OS to control it and a BASIC interpreter that allow you to use the computer in a straightforward way (like in the old days), suing simple commands

CPUs

Actually the computer support this CPU :

  • TR3200 A 32 bit RISC like CPU.

Also, the CPU board could expose special hardware registers on address 0x11FF00-0x11FFFF that could be used to changed the behaviour of different CPUs models or read information about it (ie detected CPU model of a particular CPU family)

Embed devices

This devices are integrated on the main board of the computer, so you always will have it :

Actual list of devices

Graphic devices

Storage devices

Human Interface Devices

Other

Development Tools

Actually, we have a few tools to develop programs for the computer. You can download some from https://github.com/trillek-team/computer-toolkit

Assemblers

  • WaveAsm Portable and multi target Assembler write in PERL.
  • VASM Portable and multi target Macro Assembler. Very powerful, and can load valid WaveAsm files.

Compilers

C Compilers

  • SmallerC C89/C99 C Compiler but without floats support
  • QCC C Compiler write in D language. Not yet, but would have a TR3200 backend

Emulators

  • toy emulator Not user friendly, but used on development of the virtual computer itself
  • qTrillekComputer Qt based emulator. WIP on early stages

Other tools

TDA font manipulation

  • pbm2font Creates a hexadecimal dump from a pbm image with the font glyphs

Floppy image manipulation

  • makedisk Creates a floppy disk file and can insert raw binary data on it