From 86408fdb850a1c1190870e8c894678a606eb2e46 Mon Sep 17 00:00:00 2001 From: Tim Franssen Date: Fri, 19 May 2023 23:22:11 +0200 Subject: [PATCH 1/3] Fix missing or incorrect information about these David Winter games --- database/programs.json | 218 ++++++++++++++++++++++++++++++++--------- 1 file changed, 170 insertions(+), 48 deletions(-) diff --git a/database/programs.json b/database/programs.json index c2499b6..41acb29 100644 --- a/database/programs.json +++ b/database/programs.json @@ -44,7 +44,8 @@ "d40abc54374e4343639f993e897e00904ddf85d9": { "file": "Blinky [Hans Christian Egeberg, 1991].ch8", "platforms": ["superchip"], - "description": "Blinky (1991), by Hans Christian Egeberg\n\nPacman clone.\n3, 6 - down/up. 7, 8 - left/right" + "description": "Blinky (1991), by Hans Christian Egeberg\n\nPacman clone.\n3, 6 - down/up. 7, 8 - left/right", + "embeddedTitle": "2.00 C. Egeberg 18/8-'91" }, "f4169141735d8d60e51409ca7e73f4adedcefef2": { "file": "Blinky [Hans Christian Egeberg] (alt).ch8", @@ -95,15 +96,23 @@ "title": "Blitz", "authors": ["David Winter"], "description": "Blitz, by David Winter\n\nThis game is a BOMBER clone. You are in a plane, and you must destroy the towers of a town. Your plane is flying left to right, and goes down. Use 5 to drop a bomb. The game ends when you crash yourself on a tower...", + "release": "1996", "roms": { "6f6509f38220e057a7e32ebb22dd353c1078e3e7": { "file": "Blitz [David Winter].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "BLITZ By David WINTER", + "keys": { + "a": 5 + } }, "a3b80d4a9efa8e7700d348d3e3ddf81d3c7e92a9": { "file": "Blitz (fix) (by David Winter).ch8", - "platforms": ["originalChip8"], - "embeddedTitle": "BLITZ fixed by J0hn" + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "BLITZ fixed by J0hn", + "keys": { + "a": 5 + } } } }, @@ -136,7 +145,11 @@ "roms": { "237756a4014fb3aa82a29246a7cdd534f8dc2dbb": { "file": "Breakout (Brix hack) [David Winter, 1997].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"], + "keys": { + "left": 4, + "right": 6 + } } } }, @@ -320,10 +333,15 @@ "title": "Guess the Number", "description": "Guess, by David Winter\n\nThink to a number between 1 and 63. CHIP8 shows you several boards and you have to tell if you see your number in them. Press 5 if so, or another key if not. CHIP8 gives you the number...", "authors": ["David Winter"], + "release": "1996", "roms": { "137cb8397456f53fcab216124458238bc18c0965": { "file": "Guess [David Winter].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"], + "keys": { + "a": 5, + "b": 6 + } } } }, @@ -335,13 +353,28 @@ "roms": { "050f07a54371da79f924dd0227b89d07b4f2aed0": { "file": "Hidden [David Winter, 1996].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "HIDDEN! 1.0 By David WINTER", + "keys": { + "up": 2, + "left": 4, + "right": 6, + "down": 8, + "a": 5 + } }, "9b72b6656cb714cd64de00ac78dc7bf8374adec6": { "description": "This version does not have the Fx55/Fx65 (load_store_quirk) issue (where the last two tiles left are different, so you can't beat the game.)", "file": "Hidden (fix)[David Winter, 1996].ch8", - "platforms": ["originalChip8"], - "embeddedTitle": "HIDDEN! 1.0 By David WINTER" + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "HIDDEN! 1.0 By David WINTER", + "keys": { + "up": 2, + "left": 4, + "right": 6, + "down": 8, + "a": 5 + } } } }, @@ -387,7 +420,29 @@ "roms": { "fc724ae0125f5f1ac94a79fe3afc6318b1f57556": { "file": "Kaleidoscope [Joseph Weisbecker, 1978].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"], + "keys": { + "up": 2, + "left": 4, + "right": 6, + "down": 8, + "a": 5, + "b": 0 + } + }, + "d6fa9dc9005dc0496f39ba52fef56f9fd0a5a158": { + "file": "KALEID.ch8", + "description": "Re-release by David Winter: A little program (not a game) to make funny graphics. Move around the screen with 2 4 6 8. To finish and make CHIP8 repeat your moves, press [.].", + "release": "1996", + "platforms": ["originalChip8", "modernChip8"], + "keys": { + "up": 2, + "left": 4, + "right": 6, + "down": 8, + "a": 5, + "b": 0 + } } } }, @@ -465,11 +520,11 @@ "roms": { "b9272ae1acdaaa79ab649f6b48b72088ca2b1d74": { "file": "Maze [David Winter, 199x].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"] }, "8b70080adbac44513ec60005734a816372b845ec": { "file": "Maze (alt) (by David Winter)(199x).ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"] } } }, @@ -480,7 +535,7 @@ "roms": { "d979858bb9ffd07b48f52f92a8bcac0199f3623e": { "file": "Merlin [David Winter].ch8", - "platforms": ["originalChip8"], + "platforms": ["originalChip8", "modernChip8"], "embeddedTitle": "MERLIN By David WINTER" } } @@ -500,13 +555,16 @@ { "title": "Missile Command", "description": "\nMissile Command - by David Winter (19xx)\n----------------------------------------\n\nYou must shoot the 8 targets on the screen using key 8. \n\nYour shooter moves a little bit faster each time you shoot. \nYou have 12 missiles to shoot all the targets, and you win 5\npoints per target shot.\n\n\n", - "release": "19xx", + "release": "1996", "authors": ["David Winter"], "roms": { "0d0cc129dad3c45ba672f85fec71a668232212cc": { "file": "Missile [David Winter].ch8", - "platforms": ["originalChip8"], - "embeddedTitle": "MISSILE by David WINTER" + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "MISSILE by David WINTER", + "keys": { + "a": 8 + } } } }, @@ -574,7 +632,13 @@ "roms": { "1830eb401ba8789a477dfcf294873a5479ebcfe8": { "file": "Pong 2 (Pong hack) [David Winter, 1997].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"], + "keys": { + "up": 1, + "down": 4, + "player2Up": 12, + "player2Down": 13 + } } } }, @@ -784,7 +848,7 @@ "title": "Space Invaders", "description": "Space Invaders (1978), by David Winter\n\nThe well known game. Destroy the invaders with your ship. Shoot with 5, move with 4 and 6. Press 5 to begin a game.", "authors": ["David Winter"], - "release": "1978", + "release": "1996", "roms": { "5c28a5f85289c9d859f95fd5eadbdcb1c30bb08b": { "file": "Space Invaders [David Winter].ch8", @@ -831,12 +895,16 @@ { "title": "Squash", "description": "Squash, by David Winter\n\nBounce a ball around a squash court with your paddle", - "release": "19xx", + "release": "1997", "authors": ["David Winter"], "roms": { "a58ec7cc63707f9e7274026de27c15ec1d9945bd": { "file": "Squash [David Winter].ch8", - "platforms": ["originalChip8"] + "platforms": ["originalChip8", "modernChip8"], + "keys": { + "up": 1, + "down": 4 + } } } }, @@ -952,10 +1020,18 @@ { "title": "TIC-TAC-TOE", "description": "Tic-Tac-Toe, by David Winter\n\n2-player noughts and crosses board.", + "release": "1996", "roms": { "429d455a4bc53167942bf6fd934d72b0f648dce3": { "file": "Tic-Tac-Toe [David Winter].ch8", - "platforms": ["originalChip8"] + "platforms": ["superchip"], + "embeddedTitle": "TICTAC by David WINTER" + }, + "40329847cb898f9b34a6aea1095be0a1be0b4546": { + "file": "Tic-Tac-Toe (fix)[David Winter].ch8", + "description": "This version does not have the Fx55/Fx65 (load_store_quirk) issue (where score won't increment)\n", + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "TICTAC by David WINTER" } } }, @@ -1033,13 +1109,17 @@ { "title": "Wall", "description": "\nWall - by David Winter (19xx)\n-----------------------------\n\nOne of these PONG variations. \n\nMove using 1 and 4. \n\nAs said in the early seventies: \"AVOID MISSING BALL FOR HIGH SCORE\" !!!\n\n*NOTE: 1->2 4->6", - "release": "19xx", + "release": "1997", "authors": ["David Winter"], "roms": { "09ce01c54ddddda42ca5cd171f1ffcfd47355d12": { "file": "Wall [David Winter].ch8", - "platforms": ["originalChip8"], - "embeddedTitle": "WALL by David WINTER" + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "WALL by David WINTER", + "keys": { + "up": 1, + "down": 4 + } } } }, @@ -3898,11 +3978,18 @@ "title": "Breakfree", "authors": ["David Winter"], "description": "\nBreakfree - by David Winter (199x)\n----------------------------------\n\nEach players needs to destroy the player's wall. The first player to destroy\nall the bricks of the opposite player wins. \n\nPlayer 1: 1 to go UP and 4 to go DOWN.\nPlayer 2: 6 to go UP and 9 to go DOWN.\n\n", + "release": "199x", "roms": { "7d38669b1542d2352b900eed11b78dd1c8d144ec": { "file": "Breakfree (by David Winter).ch8", - "platforms": ["originalChip8"], - "embeddedTitle": "BREAKFREE 0.1 By David WINTER" + "platforms": ["originalChip8", "modernChip8"], + "embeddedTitle": "BREAKFREE 0.1 By David WINTER", + "keys": { + "up": 1, + "down": 4, + "player2Up": 6, + "player2Down": 9 + } } } }, @@ -4305,16 +4392,28 @@ "title": "Connect 4", "authors": ["David Winter"], "description": "Connect 4, by David Winter\n\nThis game is for two players. The goal is to align 4 coins in the game area. Each player's coins are colored. When you drop a coin, it is paced on the latest dropped coin in the same column, or at the bottom if the column is empty. Once the column is full, you cannot place any more coins in it. To select a column, use 4 and 6.\n\nTo drop a coin, use 5. There is no winner detection yet. This will be soon avalaible (Hey! I don't spend my life on CHIP8 !).", + "release": "1996", "roms": { "c8d2ebbc16551a4bee1f0e2b33f0510e4170afcf": { "file": "Connect 4 (fix)[David Winter].ch8", "description": "This version does not have the Fx55/Fx65 (load_store_quirk) issue (where game pieces overwrite each other and only stack diagonally)", - "platforms": ["originalChip8"], - "embeddedTitle": "CONNECT4 by David WINTER" + "platforms": ["superchip"], + "embeddedTitle": "CONNECT4 by David WINTER", + "keys": { + "left": 4, + "right": 6, + "a": 5 + } }, "2d10c07b532f4fa7c07a07324ba26ca39fe484fd": { "file": "Connect 4 [David Winter].ch8", - "platforms": ["originalChip8"] + "platforms": ["superchip"], + "embeddedTitle": "CONNECT4 by David WINTER", + "keys": { + "left": 4, + "right": 6, + "a": 5 + } } } }, @@ -5458,15 +5557,23 @@ }, { "title": "Magic Square", - "release": "199x", - "authors": ["David Winter"], "description": "****************************************************************************\n ���� ����� � � ����� ����� �����\n ���� � �� � � ����� ���� ���\n ��� �� � ��� � � � � �����\n A magic square in Super CHIP-8\n (C)Copyright 1997 by David WINTER\n****************************************************************************\n\n\n This game, as well as the others for this scene, are FREE\n and freely ditributable. If you paid to have it, you have\n been stolen. If you got money to give it, you're a thief.\n\n\n\n The rules of this game are very simple: the game is played\n in a variable size grid made of 3*3 to 8*8 squares, so the\n level of the game is designated by the width of the grid.\n Initially, all the squares of the grid are WHITE. The goal\n is to turn then BLACK by inverting their color, knowing\n that inverting the colour of a square will also invert these\n of the squares placed just on the left, right, up and down\n of it...\n Some levels are very simple: level 3 can be finished with\n only 5 inversions, and level 4 needs only 4 inversions to\n be completed...\n Once a level is completed, the game is finished. To play\n again, just reset the emulator.\n\n I know I could have implemented some sort of inversions\n counter, and next-level playing after a level is finished,\n but I missed some time to do this... Anyway, have fun !\n\n I could also have given the source of this program, but it\n is not documented, so it would not be interesting to those\n who are looking for help in programming.\n\n\n The keys are:\n [8] : UP\n [4] : LEFT (lower level under level selection)\n [5] : INVERT SQUARE (start game under level selection)\n [6] : RIGHT (upper level under level selection)\n [2] : DOWN\n", + "authors": ["David Winter"], "images": ["Magic_Square_SCHIP__1.png"], + "release": "1997", + "copyright": "This game, as well as the others for this scene, are FREE and freely ditributable. If you paid to have it, you have been stolen. If you got money to give it, you're a thief.", "roms": { "e4ef6fff9813c43bd7ad2ecaf02d1a3135d68418": { "file": "Magic Square (by David Winter)(199x).sc8", "platforms": ["superchip"], - "embeddedTitle": "Magic Square v1.0 by David WINTER" + "embeddedTitle": "Magic Square v1.0 by David WINTER", + "keys": { + "up": 2, + "left": 4, + "right": 6, + "down": 8, + "a": 5 + } } } }, @@ -5539,14 +5646,23 @@ }, { "title": "Mines! - The minehunter", - "release": "199x", - "authors": ["David Winter"], "description": "MINES\nA mine hunter in Super CHIP-8\n(C)Copyright 1997 by David WINTER\n\n\nThis source is to show to the novice programmer how we can program some nice games (i.e: not PONG and clones (just teasing the nostalgics...)) in CHIP-8 and Super CHIP-8.\n\nI decided to diffuse this source in the hope that some people will write new games for the SCHIP/CHIP-8 emulators.\n\nThis game, as well as the others for this scene, are FREE and freely distributable. If you paid to have it, you have been stolen. If you got money to give it, you're a thief.\n\n\n\nThe rules of this game are very simple: the game is played on a 18*9 squares playing field. On this playing field, some squares are MINED, some others are not. The goal is to find all the non mined ones. To do so, you just move around a cursor, and check the squares you want. If the square you're checking is mined, you lost, and all the mines are shown. If not, the game puts a number on the square, which tells how many mines are placed around it (if there are no mines around, the square is blanked). It is to you to make the logic deductions to find the non mined squares. To help you, the game allows putting marks on the squares which are believed to be mined.\n\nThe keys are:\n[8] : UP\n[4] : LEFT (lower level under level selection)\n[5] : SHOW SQUARE (start game under level selection)\n[6] : RIGHT (upper level under level selection)\n[2] : DOWN\n[*] : MARK SQUARE AS MINED\n", + "authors": ["David Winter"], + "release": "1997", + "copyright": "This game, as well as the others for this scene, are FREE and freely distributable. If you paid to have it, you have been stolen. If you got money to give it, you're a thief.", "roms": { "6d4514ae3a43c307763648b0bdd485fb77bcf20d": { "file": "Mines! - The minehunter (by David Winter)(199x).sc8", "platforms": ["superchip"], - "embeddedTitle": "MINES! 1.00 By David WINTER" + "embeddedTitle": "MINES! 1.00 By David WINTER", + "keys": { + "up": 2, + "left": 4, + "right": 6, + "down": 8, + "a": 5, + "b": 12 + } } } }, @@ -6510,7 +6626,7 @@ }, { "title": "Super Maze", - "release": "199x", + "release": "1996", "authors": ["David Winter"], "description": "SuperMaze, by David Winter\n\nDrawing a random maze like this one consists in drawing random diagonal\nlines. There are two possibilities: right-to-left line, and left-to-right\nline. Each line is composed of a 4*4 bitmap. As the lines must form non-\ncircular angles, the two bitmaps won't be '/' and '\\'. The first one\n(right line) will be a little bit modified. See at the end of this source.\n\nThe maze is composed of 16 lines (as the bitmaps are 4 pixels high), each\nline consists of 32 bitmaps.\nBitmaps are drawn in random mode. We choose a random value (0 or 1).\nIf it is 1, we draw a left line bitmap. If it is 0, we draw a right one.\n", "roms": { @@ -6676,18 +6792,6 @@ } } }, - { - "title": "Tic-Tac-Toe", - "authors": ["David Winter"], - "description": "This version does not have the Fx55/Fx65 (load_store_quirk) issue (where score won't increment)\n", - "roms": { - "40329847cb898f9b34a6aea1095be0a1be0b4546": { - "file": "Tic-Tac-Toe (fix)[David Winter].ch8", - "platforms": ["originalChip8"], - "embeddedTitle": "TICTAC by David WINTER" - } - } - }, { "title": "Tick-Tack-Toe", "release": "1977", @@ -6978,5 +7082,23 @@ } } } + }, + { + "title": "15PUZZLE", + "description": "Same than PUZZLE2. Wait for randomization... Instead of moving the item by pressing his associated key, move it UP DOWN LEFT RIGHT with respectively 2 8 4 6. Up and Down are inverted as the game uses the original CHIP8 keyboard.", + "authors": ["David Winter"], + "release": "1996", + "roms": { + "cf3a8c546038c63cd4cc1de8d171b9bf0d57c0ee": { + "file": "15PUZZLE.ch8", + "platforms": ["originalChip8", "modernChip8"], + "keys": { + "up": 2, + "left": 4, + "right": 6, + "down": 8 + } + } + } } ] From c8b65ffd42ffa4a44375df67999bc7d7f0952e6a Mon Sep 17 00:00:00 2001 From: Tim Franssen Date: Sat, 20 May 2023 00:12:16 +0200 Subject: [PATCH 2/3] Regenerate hashes file --- database/sha1-hashes.json | 52 ++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/database/sha1-hashes.json b/database/sha1-hashes.json index 4640cd6..7017984 100644 --- a/database/sha1-hashes.json +++ b/database/sha1-hashes.json @@ -37,6 +37,7 @@ "1ba58656810b67fd131eb9af3e3987863bf26c90": "29", "5b29263763be401c31d805bc35a4cd211d552881": "30", "fc724ae0125f5f1ac94a79fe3afc6318b1f57556": "31", + "d6fa9dc9005dc0496f39ba52fef56f9fd0a5a158": "31", "0ebc4b92c6059d6193565644fb00108161d03d23": "32", "6363d99ed28b958faa1ff03f3e86724fa498ad47": "32", "72fb3e0a4572bdb81f484df7948a8bc736fe78d0": "33", @@ -88,6 +89,7 @@ "775e82a36c93f1b41b42eca94b55acbc4a48cebe": "75", "5f518084744bf3cb8733f6e5454dfd1634320563": "76", "429d455a4bc53167942bf6fd934d72b0f648dce3": "77", + "40329847cb898f9b34a6aea1095be0a1be0b4546": "77", "67996195539c0ddcd98533a01dffeec6a53a6da1": "78", "032408f1f1d8e6058ecf0f23f421783c87701b39": "79", "a6a6cb2351c20b8f904da07c0ce91bd8161e9317": "80", @@ -493,29 +495,29 @@ "fa1b7ad92e0dd498a1c0b1d9bfc7296f3b96fca8": "450", "d84494c47c5f63cf32fea555e8938c27941c2869": "451", "f274bf62145ba9f7740aab9d83e5b15db8047a1d": "452", - "40329847cb898f9b34a6aea1095be0a1be0b4546": "453", - "8c404dc15f854456cafe9b22fcdbaf16830ffde5": "454", - "80ffa819cfa42f2f5f9f836b67c666d01a915970": "455", - "1f386e1ae47957dec485d3e4034dff706d316d15": "456", - "175bbb8b3b671c13ff6d9f5b80e31218956e7281": "457", - "0268a789a6c1e281b6fc472c41bbdd00a40e2850": "458", - "7321e1bbe885a749b2ca875d1f49fb6c01f54f91": "459", - "7e46d8b67ccc71be45591089d2ec187f7ca8883e": "460", - "e60257f0718aa6aab249667bd90af598d21b97bc": "461", - "738c6a6ef6a285c3cdd708960413c0a3b1682c7e": "462", - "738f8dd1aa53e5043ee9b45521b0af118c3970ee": "463", - "7171deb1dabdf37d7f87507a11d4c07d11690b97": "464", - "c9eb637f750e7ca11e5ab1f30b7a69db475e5e23": "465", - "cda3f758c2566c2067cfe6dd984747f6d24ca759": "466", - "2d6369d3e2ecfe3f180a5c4b8ad3513efacfd04f": "467", - "709328365147967f434d1bf78430e9ec160cc24f": "468", - "4d223e2919e0f2463f2561d836015c6cd6c18eeb": "469", - "2f34cace9cda8f04829b0cd0b39a3a1726fd4193": "470", - "2e87573b0fe9a49123bbb86d8384d00a302dc2e4": "471", - "0df2789f661358d8f7370e6cf93490c5bcd44b01": "472", - "d3554b9789728294d881823126ba6eb8103bd42c": "473", - "949b661091efe706a32fb0d89991005783243bb9": "474", - "0572f188fc25ccda14b0c306c4156fe4b1d21ae1": "475", - "4309cba3fb0b96761fcba01acaf233e0ca585b4d": "476", - "8c7f101c61f82cacaacc45f8c11c1a00c8cc451e": "477" + "8c404dc15f854456cafe9b22fcdbaf16830ffde5": "453", + "80ffa819cfa42f2f5f9f836b67c666d01a915970": "454", + "1f386e1ae47957dec485d3e4034dff706d316d15": "455", + "175bbb8b3b671c13ff6d9f5b80e31218956e7281": "456", + "0268a789a6c1e281b6fc472c41bbdd00a40e2850": "457", + "7321e1bbe885a749b2ca875d1f49fb6c01f54f91": "458", + "7e46d8b67ccc71be45591089d2ec187f7ca8883e": "459", + "e60257f0718aa6aab249667bd90af598d21b97bc": "460", + "738c6a6ef6a285c3cdd708960413c0a3b1682c7e": "461", + "738f8dd1aa53e5043ee9b45521b0af118c3970ee": "462", + "7171deb1dabdf37d7f87507a11d4c07d11690b97": "463", + "c9eb637f750e7ca11e5ab1f30b7a69db475e5e23": "464", + "cda3f758c2566c2067cfe6dd984747f6d24ca759": "465", + "2d6369d3e2ecfe3f180a5c4b8ad3513efacfd04f": "466", + "709328365147967f434d1bf78430e9ec160cc24f": "467", + "4d223e2919e0f2463f2561d836015c6cd6c18eeb": "468", + "2f34cace9cda8f04829b0cd0b39a3a1726fd4193": "469", + "2e87573b0fe9a49123bbb86d8384d00a302dc2e4": "470", + "0df2789f661358d8f7370e6cf93490c5bcd44b01": "471", + "d3554b9789728294d881823126ba6eb8103bd42c": "472", + "949b661091efe706a32fb0d89991005783243bb9": "473", + "0572f188fc25ccda14b0c306c4156fe4b1d21ae1": "474", + "4309cba3fb0b96761fcba01acaf233e0ca585b4d": "475", + "8c7f101c61f82cacaacc45f8c11c1a00c8cc451e": "476", + "cf3a8c546038c63cd4cc1de8d171b9bf0d57c0ee": "477" } From 628ca3f0277f2885fbe60bb73cbafeddac09296a Mon Sep 17 00:00:00 2001 From: Tim Franssen Date: Sun, 21 May 2023 19:47:26 +0200 Subject: [PATCH 3/3] Fix README a bit where it concerns Space Invaders --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9217e4b..850af58 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ Then, because we found the value `65`, we look up the 65th entry in the array in "title": "Space Invaders", "description": "Space Invaders (1978), by David Winter\n\nThe well known game. Destroy the invaders with your ship. Shoot with 5, move with 4 and 6. Press 5 to begin a game.", "authors": ["David Winter"], - "release": "1978", + "release": "1996", "roms": { "5c28a5f85289c9d859f95fd5eadbdcb1c30bb08b": { "file": "Space Invaders [David Winter].ch8", @@ -167,8 +167,8 @@ configure our interpreter. The `platforms.json` and `quirks.json` files may be of help here. The `platforms` list in the ROM object references IDs of platforms from the file -`platforms.json`. If we look at the definition for `superchip` for Space -Invaders, we find this: +`platforms.json`. If we look at the definition for `superchip`, which is the +platform we need for Space Invaders, we find this: ```json { @@ -192,8 +192,8 @@ Invaders, we find this: We see that we can find some generic information about the platform that we could show to the user of our interpreter. It also holds the resolutions, -"quirks" and default tick rate. If the ROM does not specify a desired tick rate, -we can use this default one from the platform. +"quirks" and default tick rate. The Space Invaders ROM does not explicitly +specify a desired tick rate, so we can use this default one from the platform. The quirks reference IDs in the file `quirks.json`. Let's take the `shift` quirk as an example: @@ -214,7 +214,7 @@ opcodes to properly interpret Superchip. So in the end, we can use all of this information to properly configure our interpreter, and we can show the user that they have just loaded the game Space -Invaders by David Winter. +Invaders from 1996 by David Winter. And when they press play, everything just runs like magic 🪄