mirror of
https://codeberg.org/hkzlab/TK2048.git
synced 2025-12-26 02:42:17 +11:00
commitce479dacb9Author: hkz <tabaglio@posteo.net> Date: Fri Oct 17 09:31:15 2025 +0200 Update README and CHANGELOG commit6840e57190Author: hkz <tabaglio@posteo.net> Date: Wed Oct 15 13:25:23 2025 +0200 Rework graphics commit0f0fe3ecb7Author: hkz <tabaglio@posteo.net> Date: Wed Oct 15 13:10:55 2025 +0200 Rework graphics commitf258d81f73Author: hkz <tabaglio@posteo.net> Date: Wed Oct 15 12:54:29 2025 +0200 Rework colors commit631097903bAuthor: hkz <tabaglio@posteo.net> Date: Wed Oct 15 09:24:59 2025 +0200 Centralize versioning commit3219687fd7Author: hkz <tabaglio@posteo.net> Date: Wed Oct 15 07:38:55 2025 +0200 move some definitions outside of utility.h commit07d054ea51Author: hkz <tabaglio@posteo.net> Date: Tue Oct 14 14:03:24 2025 +0200 Tweak some initialization code commitd920f68139Author: hkz <tabaglio@posteo.net> Date: Tue Oct 14 11:04:53 2025 +0200 Reworked wait time before making a move in demo mode commita3425993b1Author: hkz <tabaglio@posteo.net> Date: Tue Oct 14 08:57:48 2025 +0200 Tweak strings to indicate DEMO mode commit46f3662322Author: hkz <tabaglio@posteo.net> Date: Tue Oct 14 08:39:41 2025 +0200 Rewritten the irq handler commit2999c7c218Author: hkz <tabaglio@posteo.net> Date: Mon Oct 13 21:10:54 2025 +0200 fix saving commite7a5006a4aAuthor: hkz <tabaglio@posteo.net> Date: Mon Oct 13 21:00:29 2025 +0200 nitial working version for the VDP commit735513e5c8Author: hkz <tabaglio@posteo.net> Date: Mon Oct 13 19:36:20 2025 +0200 Fix game mode commit76fed16432Author: hkz <tabaglio@posteo.net> Date: Mon Oct 13 18:59:02 2025 +0200 Re-enable partial drawing commitf5cfc0f5daAuthor: hkz <tabaglio@posteo.net> Date: Mon Oct 13 18:46:08 2025 +0200 Use signed arithmetics for game logic commit5348adcd72Author: hkz <tabaglio@posteo.net> Date: Mon Oct 13 17:53:49 2025 +0200 Enable tiles redrawing commit31018463adAuthor: hkz <tabaglio@posteo.net> Date: Mon Oct 13 17:48:52 2025 +0200 Fix joystick code commit7c4385972dAuthor: hkz <tabaglio@posteo.net> Date: Mon Oct 13 17:24:13 2025 +0200 Begin fixing game code commit78604e6f7dAuthor: hkz <tabaglio@posteo.net> Date: Mon Oct 13 16:24:29 2025 +0200 Begin writing code to update the tiles commit26e94d2957Author: hkz <tabaglio@posteo.net> Date: Mon Oct 13 11:43:41 2025 +0200 Begin wiring in the VDP code in the game module commit28a1fbfc18Author: hkz <tabaglio@posteo.net> Date: Mon Oct 13 10:09:43 2025 +0200 Implement (untested) code to draw joystick commitd3d2207b4fAuthor: hkz <tabaglio@posteo.net> Date: Mon Oct 13 08:44:00 2025 +0200 Add dummy demo and game modules for VDP commit5deb0d802fAuthor: hkz <tabaglio@posteo.net> Date: Sun Oct 12 21:27:15 2025 +0200 Update the charset commitd2cd7356ecAuthor: hkz <tabaglio@posteo.net> Date: Sun Oct 12 21:19:43 2025 +0200 Tweak nametable for the dialog commitdd0e5ce53dAuthor: hkz <tabaglio@posteo.net> Date: Sun Oct 12 21:12:24 2025 +0200 Integrate the new dialog module for the VDP commitb4469d514cAuthor: hkz <tabaglio@posteo.net> Date: Sun Oct 12 15:25:31 2025 +0200 Add dummy module for VDP dialog commitd1dcdd1381Author: hkz <tabaglio@posteo.net> Date: Sun Oct 12 12:15:23 2025 +0200 Add initializer module for VDP commitfd84d3abbbAuthor: hkz <tabaglio@posteo.net> Date: Tue Oct 7 20:15:46 2025 +0200 Begin defining binaries commitbd650081fcAuthor: hkz <tabaglio@posteo.net> Date: Tue Oct 7 15:02:56 2025 +0200 Add resources for two screens of the VDP version commit58f7436c45Author: hkz <tabaglio@posteo.net> Date: Tue Oct 7 12:52:38 2025 +0200 Add a module list with defines commit969fe9deabAuthor: hkz <tabaglio@posteo.net> Date: Tue Oct 7 12:35:40 2025 +0200 Additional renaming commit83552c2ad8Author: hkz <tabaglio@posteo.net> Date: Tue Oct 7 12:14:27 2025 +0200 Rename other graphic files, remove unused imports commitdbc1bebf9fAuthor: hkz <tabaglio@posteo.net> Date: Tue Oct 7 11:59:16 2025 +0200 Begin renaming graphic files to mention they're for HGR
82 lines
No EOL
3.5 KiB
Markdown
82 lines
No EOL
3.5 KiB
Markdown
# TK2048
|
|
|
|
## DISCLAIMER
|
|
|
|
Any use of this project is **under your own responsibility**.
|
|
By using this project You will agree that I cannot be held responsible if it will destroy any of your devices, damage your computer, burn down your house or whatever.
|
|
|
|
## Introduction
|
|
|
|

|
|
|
|
This game is an excuse and a testbed for the development on the Microdigital TK2000 clone [I recently built for myself](https://github.com/hkzlab/TK2000_Build_Notes).
|
|
|
|
My primary objective with this game is building something where I can add support for all my expansion boards (well, at least where it makes a sliver of sense) so I can test and PoC them, beside,
|
|
I want to experiment with the [Calypsi toolchain](https://www.calypsi.cc/).
|
|
|
|
I decided for a port of 2048, the now-classic tile sliding game, as it provided several advantages as a first time/playground project:
|
|
|
|
- Doesn't need complex graphics hardware or advanced artist skills
|
|
- It can be drawn in B/W with static graphics, but animations and colors can be added in the future
|
|
- Sound is not needed either, but can be added for simple events like a tile slide or a button press
|
|
- The game logic is pretty simple
|
|
- Not CPU or memory intensive
|
|
- Can be expanded with support for additional hardware (sound cards, video cards, timers) if so desired, but it's not necessary
|
|
- Floppy drive can be potentially used not only to load the game, but also for saving the high score
|
|
|
|

|
|
|
|
### Support
|
|
|
|
If you wish to support me in building new hardware and software for old machines, [throw a few euros in my direction via Ko-Fi](https://ko-fi.com/hkzlab) ☕!
|
|
|
|
### Current state
|
|
|
|
The game is playable, and the following features have been implemented:
|
|
|
|
- B/W mode
|
|
- VDP board support
|
|
- Single graphical tileset
|
|
- Simple sound effects
|
|
- Control via keyboard
|
|
- 5x5 grid, with randomized start and new tiles
|
|
- Game save/load
|
|
- Highscore saving
|
|
- Demo mode
|
|
|
|
## How to play
|
|
|
|
- You can move the tiles using the cursor keys
|
|
- `CTRL-R` during the game will clear your score and restart
|
|
- `CTRL-S` during the game will save the game on floppy and let you continue
|
|
- `CTRL-L` during the game will load the previous save from floppy and let you continue from there
|
|
|
|
The game ends once you reach a tile with a value of 2048.
|
|
|
|
### VDP support
|
|
|
|
The game supports the [TK2000 VDP board](https://codeberg.org/hkzlab/TK2000_VDPboard) configured at address `C0Cx`.
|
|
|
|

|
|
|
|
The card gets automatically detected and used: once the game completes the initial load, everything will be displayed on the screen
|
|
connected to the VDP board, and the main screen connected to the TK2000 will be left blank.
|
|
|
|
If you want to override detection and force the use of the main screen, just keep a button pressed while the title screen image loads.
|
|
|
|
### Floppy version
|
|
|
|
Just put your floppy in the first drive and power on the TK2000. It will autoboot.
|
|
|
|
## How to build
|
|
|
|
You need the following:
|
|
|
|
- GNU Make (I used the one provides by [MSYS2](https://www.msys2.org/))
|
|
- [Calypsi 6502 toolchain](https://www.calypsi.cc/) (tested with 5.10)
|
|
- [AppleCommander](https://github.com/AppleCommander/AppleCommander), "ac" command line version (tested with 1.9.0)
|
|
- [dsk2woz](https://github.com/TomHarte/dsk2woz)
|
|
|
|
## The future
|
|
|
|
I plan to add (optional) support for several expansion boards I'm working on, starting with a VDP board sporting a TMS9918A graphic processor. |