Commit Graph

15 Commits

Author SHA1 Message Date
iss 7736754042 . 2024-01-11 22:14:13 +02:00
StewBC 5ec7fe9753 Fix for XOR and logical operation 2024-01-11 11:52:52 -08:00
Oliver Schmidt 8c881e847e
Avoid undefined memory read access. 2024-01-10 01:51:03 +01:00
Stefan Wessels 15e8557f64 Fixed CX16 and added Plus4 to Makefile 2023-10-10 14:14:20 -07:00
Stefan Wessels 4e20bcf3a4 Added Commodore plus4 2023-10-04 15:44:35 -07:00
StewBC 3766cbc902 Atari Version added
Added the Atari platform (tested on 48K Atari 800 - NTSC artifacting used for color)
2020-07-09 15:46:25 -07:00
StewBC ddee45767e Update platCX16.c
Add missing bracket
2020-05-25 18:26:23 -07:00
StewBC c08a759404 C64 Graphics and CX16 versions
Made the old C64 version C64.chr and created a new graphical interface version for the C64 and the Commander X16.  Also changed the Oric to be called the atmos since that works better with the build system.
2020-05-25 18:20:37 -07:00
iss 4ebb8172d7 Oric-1/Atmos/Telestrat port 2020-05-16 03:39:46 +03:00
StewBC df70999561 Set empty function prototypes to void
for example init() becomes init(void)
2020-01-20 16:42:43 -08:00
Oliver Schmidt 13a5c1e534 Fixed tile-keys. 2020-01-19 17:46:21 +01:00
Oliver Schmidt a87f8ffca0 Ported the program to the Apple II.
Implementation notes:
- General display uses the Apple II hires mode accessed via custom asm functions.
- Menu display uses the 4 line bottom text option of the Apple II hires mode via cc65 CONIO functions.
- All hires access is byte aligned, therefore the horizontal resolution is 40 (bytes).
- Hires access is done via simple (binary) ROPs (raster operations) by using actual 6502 (immediate) opcodes.

The C64 and Curses implementation both make heavy use of colors while Apple II implementation mustn't depend on (but may benefit from) colors. Therefore the user-operated cursor inverts the border of the current field. It's hard to find a compromise between making the cursor visible well and showing the piece "under" the cursor well. Additionally it is desirable to show different cursor states (empty, invalid, valid). The approach chosen is to have different thicknesses of the inverted border:
- Valid: Thin
- Invalid: Medium
- Empty: Thick

When it comes to showing attackers/defenders (via the keys 'a'/'d') there's no alternative to resorting to colors:
- Attackers: Red
- Defenders: Green

So the only field display variant left is the piece selected for moving. Instead of introducing a third type of highlighting (beside border inversion and coloring) it is simply colored Magenta. The reasoning:
- On a monochrome display the user won't have much fun showing attackers/defenders anyway. And without showing those the selected piece is the only colored (aka striped) piece making it clearly visible.
- On a color display a third color (beside attackers/defenders) works just fine.

As the Apple II doesn't have cursor-up and cursor-down keys the keys 'o' and 'l' work as alternatives to the those cursor keys.
2020-01-19 14:18:58 +01:00
Oliver Schmidt a40cccc921 Allow plat_Highlight() to distinguish between moving a piece and showing attackers/defenders.
Notes:
- The color isn't usable for this distinction as HCOLOR_ATTACK is used for both scenarios.
- This change doesn't make use of the new distinction on the C64. One option would be to use different brackets for the two scenarios.
2020-01-18 20:04:13 +01:00
Oliver Schmidt 35c963e9dc
Adjusted linker configuration.
Unfortunately cc65 linker configurations tend to need adjustments when upgrading to later cc65 versions. With this change the linker config works with cc65 V2.18.
2020-01-02 13:16:03 +01:00
StewBC 82c002891f cc65 Chess V1.0 Initial commit 2014-02-14 16:57:00 +01:00