nand2/07_Operating_System
2023-08-04 16:44:31 +02:00
..
00_HACK added v2.0 2023-01-11 23:04:57 +01:00
01_GPIO_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
02_UART_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
03_Sys_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
04_Memory_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
05_Array_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
06_Math_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
07_String_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
08_StdIO_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
09_Screen_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
10_Output_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
11_Touch_Test changed python tools to python3.11 2023-08-04 16:44:31 +02:00
12_Tetris changed python tools to python3.11 2023-08-04 16:44:31 +02:00
Array.jack added v2.0 2023-01-11 23:04:57 +01:00
GPIO.jack added v2.0 2023-01-11 23:04:57 +01:00
Math.jack added v2.0 2023-01-11 23:04:57 +01:00
Memory.jack added v2.0 2023-01-11 23:04:57 +01:00
Output.jack added v2.0 2023-01-11 23:04:57 +01:00
Readme.md added v2.0 2023-01-11 23:04:57 +01:00
Screen.jack added v2.0 2023-01-11 23:04:57 +01:00
StdIO.jack added v2.0 2023-01-11 23:04:57 +01:00
String.jack added v2.0 2023-01-11 23:04:57 +01:00
Sys.jack added v2.0 2023-01-11 23:04:57 +01:00
Touch.jack added v2.0 2023-01-11 23:04:57 +01:00
UART.jack added v2.0 2023-01-11 23:04:57 +01:00

07 Operating System

To run serious application like Tetris we need the operating system JACK-OS, written in the high level language JACK.

For every JACK-OS class we provide a skeleton file, with the signatures of functions and methods. In the dedicated test folder you find implementation details and test classes.

The folder 00_HACK contains a simulation of HACK similar to the one in 06_IO_Devices/00_HACK with the following differences:

  • uses build in chips from 01_Boolean_Logic to 03_Sequential_Logic instead of going down to the nand gate level.
  • has 64k words of instruction ROM preloaded with JACK-OS and applications
  • is not uploadable to iCE40HX1K-EVB

Simulation of JACK-OS classes

Use 00_HACK of 07_Operating_System to test your JACK-OS classes in simulation.

$ cd <test folder>
$ make
$ cd ../00_HACK
$ apio clean
$ apio sim

Run JACK-OS in real hardware on iCE40HX1K-EVB

To test JACK-OS on real hardware iCE40HX1K-EVB use the design of HACK developed in 06_IO_Devices with the bootloader of 05_GO. Attach iCE40HX1K-EVB to your computer and run the following commands:

$ cd <test folder>
$ make
$ make upload

This will compile all classes in the test folder and upload the binary file to SPI flash rom starting at address 64k (0x010000), where the bootloader can find it.

Attention: All used classes must be linked to the folder in which you run the compiler. To add the class <JACK-OS class>.jack simply make a soft link in the working directory:

Finally you can run Tetris!