Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
.kcr is a new file format for Amstrad.
Why do we need a new format ?
Recently, I build a cabinet arcade and I want to play Amstrad games on it. The existing file format are not enough.
- Quick start:
- I don’t need the splash screen
- I don’t want to type the RUN" things
- To play with a joystick. Some game need keyboard to select the Joystick (eg., on Boulderdash, you need to type the Enter key to begin to play)
What I propose is the .kcr file format.
.kcr is a zipped archive that contains 4 files.
- capture.gif: a screenshot from the game (used for a splash screen for instance)
- disk.dsk: the main disk
- snapshot.sna: the state from where the game will begins
- settings.ini: some key mapping.
Description of the settings.ini file
input_player1_a = "JOY_FIRE1" input_player1_b = "JOY_FIRE2" input_player1_y = "a" input_player1_x = "s" input_player1_start = "JOY_FIRE1" input_player1_select = "rshift" input_player1_l = "q" input_player1_r = "w" nput_player1_left = "JOY_LEFT" input_player1_right = "JOY_RIGHT" input_player1_up = "JOY_UP" input_player1_down = "JOY_DOWN" input_player2_a = "" input_player2_b = "" input_player2_y = "" input_player2_x = "" input_player2_start = "" input_player2_select = "" input_player2_l = "" input_player2_r = "" input_player2_left = "" input_player2_right = "" input_player2_up = "" input_player2_down = ""
Fieldname is to map your joystick Value field is the scan code on the CPC with on of these values:
CURSOR_UP, CURSOR_RIGHT, CURSOR_DOWN, F9, F6, F3, SMALL_ENTER, FDOT, CURSOR_LEFT, COPY, F7, F8, F5, F1, F2, F0, CLR, OPEN_SQUARE_BRACKET, RETURN, CLOSE_SQUARE_BRACKET, F4, SHIFT, FORWARD_SLASH, CONTROL, HAT, MINUS, AT, P, SEMICOLON, COLON, BACKSLASH, DOT, ZERO, 9, O, I, L, K, M, COMMA, 8, 7, U, Y, H, J, N, SPACE, 6, 5, R, T, G, F, B, V, 4, 3, E, W, S, D, C, X, 1, 2, ESC, Q, TAB, A, CAPS_LOCK, Z, JOY_UP, JOY_DOWN, JOY_LEFT, JOY_RIGHT, JOY_FIRE1, JOY_FIRE2, SPARE, DEL