Skip to content

Commit

Permalink
RELEASE V1.21 (incl stable bitstreams)
Browse files Browse the repository at this point in the history
  • Loading branch information
sy2002 committed Feb 13, 2016
1 parent 4a4fdfa commit 306a18f
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 8 deletions.
44 changes: 39 additions & 5 deletions README.md
Expand Up @@ -26,12 +26,21 @@ Getting Started

* Hardware: Currently, we develop QNICE-FPGA on a Nexys 4 DDR development
board, so if you own one, the fastest way of getting started is to
download the bitstream file `dist_kit\env1.bit` on the SD card of the
download the bitstream file `dist_kit/qnice.bit` on the SD card of the
Nexys board and set the jumpers to read the FPGA configuration from the
SD card. Attach an "old" USB keyboard supporting boot mode to the board
and attach a VGA monitor. Attach the USB cable to your desktop computer,
so that you can setup a serial (terminal) connection between the desktop
and the FPGA.
SD card. Do not copy more than one `*.bit` file on the SD card, i.e. do
not copy `dist_kit/q-tris.bit`, yet. Do empty the "Recycle Bin" or similar
of your host OS between two `*.bit` copies, so that the Nexys board does not
accidentally read the `*.bit` from your trash instead of the recent one.

* If you do not own a Nexys 4 DDR board, then use your VHDL development
environment to synthesize QNICE-FPGA. The root file for the system
is `vhdl/env1.vhdl`. Make sure that you connect at least the IO pins
for PS2, VGA, UART and the two switches.

* Attach an "old" USB keyboard supporting boot mode to the board and attach
a VGA monitor. Attach the USB cable to your desktop computer, so that you
can setup a serial (terminal) connection between the desktop and the FPGA.

* On your host computer: Open a terminal and head to the root folder of the
QNICE-FPGA GIT repository.
Expand Down Expand Up @@ -82,3 +91,28 @@ Getting Started
and page up/down keys to scroll.

More documentation to come.

Q-TRIS
------

Q-TRIS is a Tetris clone and the first game ever developed for QNICE-FPGA.
The rules of the game are very close to the "official" Tetris rules as
they can be found on
[http://tetris.wikia.com/wiki/Tetris_Guideline](http://tetris.wikia.com/wiki/Tetris_Guideline).

![Q_TRIS_IMG](doc/demos/demo_q_tris.jpg)

Clearing a larger amount of lines at once (e.g. Double, Triple, Q-TRIS)
leads to much higher scores. Clearing a certain treshold of lines leads to the
next level. The game speed increases from level to level. If you clear
1.000 lines, then you win the game.

Q-TRIS uses the PS2/USB keyboard and VGA, no matter how STDIN/STDOUT
are routed. All speed calculations are based on a 50 MHz CPU that is equal
to the CPU revision contained in release V1.21.

The game can run stand-alone, i.e. instead of the Monitor as the "ROM"
for the QNICE-FPGA: Just use `dist_kit/q-tris.bit` instead of the
above-mentioned `dist_kit/qnice.bit`. Or, you can run it regularly as an app
within the Monitor environment. In this case, compile it and then load it with
the `M L` command sequence and start Q-TRIS using the address `0x8000`.
9 changes: 9 additions & 0 deletions VERSIONS.txt
@@ -1,3 +1,12 @@
Version 1.21 February, 13 2016
================================

* Fixed predecrement CPU bug
* Q-TRIS V1.0: Tetris clone and first game ever programmed for Q-NICE.
Needs VGA and keyboard. Located in demos/q-tris.asm, starts at 0x8000 when
being run via the monitor. Additionally, there is a special stand-alone
autostart bitstream for the Digilent Nexys 4 DDR in dist_kit/q-tris.bit

Version 1.2 January, 10 2016
=============================

Expand Down
2 changes: 1 addition & 1 deletion demos/q-tris.asm
Expand Up @@ -18,7 +18,7 @@
; are routed. All speed calculations are based on a 50 MHz CPU that is equal
; to the CPU revision contained in release V1.21.
;
; The game can run stand-alone, i.e. instead of the monitor as the "ROM"
; The game can run stand-alone, i.e. instead of the Monitor as the "ROM"
; for the QNICE-FPGA - or - it can run regularly as an app. In the latter case
; it loads to 0x8000. #define QTRIS_STANDALONE for the standalone mode.
;
Expand Down
Binary file added dist_kit/q-tris.bit
Binary file not shown.
File renamed without changes.
Binary file removed doc/demos/demo_q-tris.jpg
Binary file not shown.
Binary file added doc/demos/demo_q_tris.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion pore/boot_message.asm
Expand Up @@ -2,4 +2,4 @@ PORE$NEWLINE .ASCII_W "\n"

; PORE$RESETMSG .ASCII_W "QNICE-FPGA [WIP] [only 16 reg-banks!] by sy2002 in January 2016 (GIT #"

PORE$RESETMSG .ASCII_W "QNICE-FPGA Version 1.21 by sy2002 in February 2016 (GIT COMMIT #8e368ed)\n"
PORE$RESETMSG .ASCII_W "QNICE-FPGA Version 1.21 by sy2002 in February 2016 (GIT COMMIT #4a4fdfa)\n"
2 changes: 1 addition & 1 deletion vhdl/env1_globals.vhd
Expand Up @@ -13,7 +13,7 @@ package env1_globals is
constant ROM_FILE : string := "../monitor/monitor.rom";
constant ROM_SIZE : natural := 2840;
--constant ROM_FILE : string := "../demos/q-tris.rom";
--constant ROM_SIZE : natural := 4522;
--constant ROM_SIZE : natural := 4542;

-- file name of file and file size (in lines) of the file containing the Power On & Reset Execution (PORE) ROM
constant PORE_ROM_FILE : string := "../pore/pore.rom";
Expand Down

0 comments on commit 306a18f

Please sign in to comment.