Compare commits

..

249 Commits

Author SHA1 Message Date
4am
2bb6eb557a factor out more FX routines 2024-05-31 21:01:21 -04:00
4am
b3a1f010d6 move self-contained shared FX routines to new FXCODE index and load them as needed 2024-05-31 02:22:38 -04:00
Peter Ferrie
4fd63e6154 fix Time Pilot reset vector 2024-05-29 21:12:00 -07:00
Peter Ferrie
04e839d4d7 fix Berzap RNG overflow 2024-05-29 18:17:24 -07:00
4am
3a5d2d3830 factor out more FX routines 2024-05-29 18:52:01 -04:00
4am
965d7bed5f factor out more FX routines 2024-05-29 14:41:36 -04:00
4am
70f62c2e66 factor out more FX routines 2024-05-29 12:24:29 -04:00
Peter Ferrie
efdbb8218e fix bad instruction in Lost Tomb 2024-05-28 21:46:49 -07:00
4am
457ccfbbe8 factor out more FX routines 2024-05-28 22:00:35 -04:00
Peter Ferrie
c9257aa5ed another fix for Axis Assassin demo 2024-05-28 18:30:59 -07:00
4am
eb07d7798c use some descriptive constants 2024-05-28 21:17:10 -04:00
Peter Ferrie
7922873dbf fix Axis Assassin demo 2024-05-28 18:11:52 -07:00
Peter Ferrie
24398b5d50 don't pad FX 2024-05-28 18:11:42 -07:00
4am
c8f924dc6e update some comments 2024-05-28 21:03:09 -04:00
4am
7ea8a0624d factor out more FX routines 2024-05-28 20:59:33 -04:00
4am
d75c1cc039 factor out more FX routines, and fix some RAM bank confusion now that launcher code extends below E000 2024-05-28 18:57:51 -04:00
4am
90a6f55ddf factor out more FX routines 2024-05-28 09:42:19 -04:00
4am
af538414ff fix page-crossing and add assembler check 2024-05-28 09:34:29 -04:00
4am
6906bf15bd remove obsolete comment 2024-05-27 23:17:29 -04:00
4am
88e0faf522 fix SHR effects that need to load large data files that are now stored in TOTAL.DATA instead of separate files 2024-05-27 23:09:02 -04:00
4am
c7a2c1a921 factor out more FX routines 2024-05-27 21:39:51 -04:00
4am
99dcc896d1 factor out more FX routines 2024-05-27 13:32:07 -04:00
4am
711de29099 fix several bugs in dithermasks initialization 2024-05-27 13:19:44 -04:00
Peter Ferrie
bbe441a983 sync 2024-05-26 22:52:10 -07:00
Peter Ferrie
f151e50247 fix Galaxian demo sound 2024-05-26 13:21:05 -07:00
4am
c7db1050cc factor out some common FX routines, also move font data to D100/LC1 2024-05-26 13:41:21 -04:00
4am
1c15f9daa1 factor out BuildHGRTables, standardize some table locations across FX 2024-05-26 00:40:54 -04:00
4am
0301a7ff48 hard-code load address for all LOAD_FILE_AT callers 2024-05-25 23:41:36 -04:00
4am
fd4a0cd7ba reduce memory copy during launch 2024-05-25 20:51:48 -04:00
4am
5a99dbcc40 factor out common prelaunch code (saves 22KB) 2024-05-25 19:18:49 -04:00
4am
57f8a44d61 use new macro (no binary changes) 2024-05-25 17:59:16 -04:00
4am
c5e5162fda use new macro (no binary changes) 2024-05-25 17:49:51 -04:00
4am
ac0a7cf4d5 use new macro (no binary changes) 2024-05-25 17:34:49 -04:00
4am
b729ae17c2 use new macro (no binary changes) 2024-05-25 17:24:57 -04:00
4am
93ee4bee01 remove unnecessary duplicates of wait routine (saves 781 bytes) 2024-05-25 16:57:13 -04:00
4am
5dbcb0507c move large graphic effects data files to TOTAL.DATA 2024-05-25 13:07:22 -04:00
4am
98ef0d2249 add some missing file metadata 2024-05-25 00:41:50 -04:00
4am
de540fe930 add game help for Mr. Robot, which does not require a joystick 2024-05-25 00:35:27 -04:00
4am
b3d7d2e32c some game help formatting fixes 2024-05-24 22:20:22 -04:00
4am
980a956bc1 simplify some help files 2024-05-24 21:54:43 -04:00
4am
83c77096ac simplify some conf files 2024-05-24 16:24:55 -04:00
4am
2b8c4aadaa add game help for Defender 2024-05-24 15:31:14 -04:00
4am
df7c909090 add game help for Cyclotron 2024-05-24 15:17:31 -04:00
4am
7d4421ba49 Artesians does not require a joystick 2024-05-24 14:00:49 -04:00
4am
9f339195d7 update format comments which haven't been accurate in a long time 2024-05-24 13:53:30 -04:00
4am
e3fb3b3f6d add game help for Arcade Boot Camp 2024-05-24 13:44:59 -04:00
4am
0172bfdcad sync conf files 2024-05-23 22:05:07 -04:00
Peter Ferrie
82b69f4619 repack Night Falls 2024-05-23 18:24:11 -07:00
4am
efff92fee4 add game help for Wall Defence 2024-05-23 17:21:00 -04:00
4am
da9bc9c2ae add game help for Cracky, Guntus 2024-05-23 17:09:09 -04:00
4am
1ff0161e2e add game help for Ascend, Bootskell, Cacorm, Impetus, Lift 2024-05-23 16:59:04 -04:00
4am
e2a891ed9a add game help for Battlot, Cavit, Ruptus 2024-05-23 16:37:22 -04:00
4am
7ec692b881 add game help for Aerial, Mazy, Neuras 2024-05-22 19:02:28 -04:00
4am
f5c614b207 update changelog 2024-05-22 15:13:50 -04:00
4am
4e3adc2aa5 update changelog 2024-05-22 15:05:16 -04:00
4am
15bf7ae9aa rename to Night Falls 2024-05-22 15:03:22 -04:00
4am
46e094decd add box art for Pick 'n' Pile [thanks Alex L.] 2024-05-22 14:52:05 -04:00
4am
466062d3a1 add game help for Night Crawler, Night Stalker, Teritory 2024-05-21 11:06:53 -04:00
4am
98f4646da6 add gamehelp for Syzygy, Titan Cronus, Tweps, and Wargle 2024-05-20 21:50:42 -04:00
Peter Ferrie
f4484a3dc4 restore LC reset and IRQ vectors 2024-05-17 12:43:13 -07:00
4am
fcc6c1bd80 update Aeronaut name 2024-05-17 15:36:36 -04:00
Peter Ferrie
8c0c2cfe95 avoid Lethal Labyrinth system prompt 2024-05-17 12:03:49 -07:00
Peter Ferrie
42a7941e61 avoid floppy softswitch in The Last Gladiator 2024-05-17 11:48:55 -07:00
Peter Ferrie
43c1f99df8 avoid floppy softswitch in Spellwielder 2024-05-17 11:43:59 -07:00
Peter Ferrie
5fbd3a831f avoid floppy softswitch in Situation Critical 2024-05-17 11:38:58 -07:00
Peter Ferrie
e4b4e997aa avoid floppy softswitch in Roadblock 2024-05-17 11:30:44 -07:00
Peter Ferrie
49fafc4688 fix Pegasus II reset vector 2024-05-17 11:29:17 -07:00
Peter Ferrie
b4c2de8e4e fix Lethal Labyrinth reset vector 2024-05-17 10:43:48 -07:00
Peter Ferrie
ec5a83eb26 fix Infiltrator 2 for flat structure 2024-05-17 10:22:18 -07:00
Peter Ferrie
8ccd1fe044 fix Impossible Mission 2 reset vector 2024-05-17 09:48:51 -07:00
Peter Ferrie
665e7ffa67 avoid floppy softswitch in Galactic Attack 2024-05-17 09:35:32 -07:00
Peter Ferrie
13b5d876e8 avoid floppy softswitches in Axis Assassin and Ballblazer 2024-05-16 14:04:25 -07:00
Peter Ferrie
370e544d24 fix Agent U.S.A. reset vector 2024-05-16 12:42:25 -07:00
4am
c361472951 add game help for Threshold 2024-05-12 13:29:59 -04:00
4am
ada45c1fc2 add game help for Thunder Bombs 2024-05-12 12:53:04 -04:00
Peter Ferrie
c2de0a2ccc fix Run For The Money reset vector 2024-05-11 14:38:36 -07:00
Peter Ferrie
edd6192a22 fix Death Sword reset vector 2024-05-11 14:38:23 -07:00
Peter Ferrie
b8e7d480e6 fix Colorix reset vector 2024-05-11 14:38:06 -07:00
4am
7cc7fd357b simplify Makefile slightly 2024-05-11 10:55:14 -04:00
4am
a7efbea1f8 flatten subdirectories to shave some blocks 2024-05-11 10:36:50 -04:00
Peter Ferrie
6dd38440df avoid another collision 2024-05-10 21:41:19 -07:00
Peter Ferrie
674638fb7e avoid some additional collisions 2024-05-10 16:47:30 -07:00
Peter Ferrie
9066bb2145 avoid RR subdir name collision 2024-05-10 12:07:57 -07:00
Peter Ferrie
ada2f3b0b1 prepare for flattened structure 2024-05-10 11:07:46 -07:00
4am
535f3a8a4c add action screenshots for Panic Button 2024-05-09 14:02:33 -04:00
Peter Ferrie
9f3cce4731 add Panic Button to the collection 2024-05-09 08:14:19 -07:00
4am
e0d2172132 update changelog 2024-05-09 00:09:52 -04:00
4am
51b5f51666 add action screenshots for Aeronauts, rebalance attract mode 2024-05-09 00:08:33 -04:00
Peter Ferrie
4a7ebf3a6d repack Berzap and add Aeronauts 2024-05-08 15:09:21 -07:00
4am
1bba465e92 update changelog 2024-05-07 11:53:31 -04:00
4am
990cf25809 add screenshot for SnakeBYTE Remix 2024-05-06 13:07:01 -04:00
Peter Ferrie
a362597c09 fix WoF unintended keyboard control 2024-05-05 21:41:23 -07:00
Peter Ferrie
0c0050d6cf make HERO ROM4x compatible 2024-05-05 20:36:32 -07:00
Peter Ferrie
b6b193c4ae allow SnakeBYTE Remix to exit 2024-05-05 20:29:20 -07:00
4am
ead3094694 add action screenshot for Tron 2024-05-05 17:40:46 -04:00
Peter Ferrie
c7626b11d8 add SnakeBYTE Remix to the collection 2024-05-05 09:56:22 -07:00
4am
8872250ac7 add action screenshot for Colorix 2024-05-05 12:43:45 -04:00
Peter Ferrie
586c2fc227 fix Colorix initial environment 2024-05-04 21:45:04 -07:00
Peter Ferrie
a10337ef9b add Colorix and Tron to the collection 2024-05-04 20:39:50 -07:00
4am
dba357c27a add action screenshot for Run For The Money 2024-05-04 20:33:03 -04:00
Peter Ferrie
082e277e3d repack Death Sword to save some space 2024-05-04 14:53:08 -07:00
Peter Ferrie
8e657186e1 fix Run For The Money reset vector 2024-05-03 13:19:25 -07:00
Peter Ferrie
7a21398f75 add Run For The Money to the collection 2024-05-03 09:25:58 -07:00
4am
005f96d6af add action screenshots and game help for Mutant (Steve Waldo) 2024-05-02 21:30:43 -04:00
Peter Ferrie
65f090b53f add Mutant (Steve Waldo version) to the collection 2024-05-02 16:02:06 -07:00
Peter Ferrie
9e69cdca94 remove Pegasus copy-protection artifact 2024-04-29 20:19:04 -07:00
Peter Ferrie
128385ea62 fix The Space Ark boot 2024-04-29 20:08:32 -07:00
Peter Ferrie
f681fe1d32 fix Star Glider reset vector 2024-04-29 19:04:03 -07:00
Peter Ferrie
581099b175 update Rocky Horror reset vector 2024-04-29 18:39:38 -07:00
Peter Ferrie
8bb101a337 fix Rescue Raiders reset vector 2024-04-29 18:16:19 -07:00
Peter Ferrie
b138d030d5 remove Depth Charge initial pause 2024-04-29 18:09:01 -07:00
Peter Ferrie
13f3461621 fix Mazeblox launch 2024-04-29 17:17:34 -07:00
Peter Ferrie
f26e9f1763 fix Super Zaxxon reset 2024-04-28 21:11:39 -07:00
Peter Ferrie
7f0518fd46 fix Zaxxon reset 2024-04-28 21:02:44 -07:00
4am
f49ea558ab add action screenshots for Fido, trim some excessive action shots 2024-04-28 21:50:24 -04:00
Peter Ferrie
ccee4e55cf add Fido to the collection 2024-04-28 15:29:48 -07:00
4am
055cba6340 update changelog 2024-04-27 21:03:51 -04:00
4am
0845ea468a add action screenshots and game help for Pick 'n' Pile 2024-04-27 20:57:22 -04:00
4am
90c45e4e5e some sorting changes 2024-04-27 20:53:14 -04:00
Peter Ferrie
2c010c0851 add hidden levels (161+) 2024-04-27 13:21:30 -07:00
4am
a137612d08 add action screenshots and game help for Rocky Horror 2024-04-27 14:49:59 -04:00
Peter Ferrie
7085faebc8 add Pick'n'Pile to the collection 2024-04-26 22:20:29 -07:00
Peter Ferrie
d29e8554df shave some blocks 2024-04-26 17:04:28 -07:00
Peter Ferrie
4e186fd530 add Rocky Horror to the collection 2024-04-26 09:52:07 -07:00
4am
2fbdd2bb37 migrate Sudoku to 4sports 2024-04-23 23:50:38 -04:00
Peter Ferrie
dfc882b2fd add some cheats 2024-04-23 17:18:57 -07:00
Peter Ferrie
4a2c619929 add Sudoku to the collection 2024-04-23 13:23:39 -07:00
4am
535c4c841d some notes 2024-04-23 00:23:51 -04:00
4am
7acb717b11 some notes 2024-04-23 00:23:12 -04:00
4am
b5dffa65ab add Hopman 2024-04-22 22:18:47 -04:00
4am
bc38e605d9 update changelog 2024-04-22 21:58:35 -04:00
4am
43ab54a120 add Yewdow 2024-04-22 21:58:09 -04:00
4am
6637a5e51e add AntiAir 2024-04-22 21:33:43 -04:00
4am
124432f373 merge 2024-03-29 20:38:34 -04:00
4am
65c5d0697f updated box art [thanks Alex L.] 2024-03-29 20:36:25 -04:00
Peter Ferrie
7e5bb82d63 Apple Panic with optional joystick (press ctrl-j) 2024-03-14 21:42:54 -07:00
Peter Ferrie
48567554df Bandits: map shield to button 1 2024-03-14 13:47:17 -07:00
Peter Ferrie
8ec38d2c95 fix Spy vs Spy white end screen 2024-03-08 12:49:46 -08:00
Peter Ferrie
af2f83fccc add Angry Birds title screen 2024-02-27 20:54:47 -08:00
4am
270d81d749 factor out new games that moved almost immediately [thanks Andrew R.] 2024-02-24 15:59:41 -05:00
4am
409de6a218 add list of v1 games [thanks Andrew R.] 2024-02-23 13:59:32 -05:00
4am
74afbb075f prep for version 5.1 2024-02-16 12:41:34 -05:00
Peter Ferrie
b3d629c134 add Angry Birds help 2024-02-10 23:13:07 -08:00
Peter Ferrie
f828998edf auto-slot MB for Mapple 2024-01-23 13:35:45 -08:00
Peter Ferrie
9471818933 mark Aztec image as TR-specific 2024-01-20 14:47:25 -08:00
Peter Ferrie
d437a77945 update Angry Birds to latest 2024-01-20 13:15:35 -08:00
Peter Ferrie
ca3c518e98 fix index files 2024-01-19 21:20:45 -08:00
Peter Ferrie
c98af1b4df replace Aztec with smaller version, save ~53kb 2024-01-19 21:15:17 -08:00
4am
33534ff61d add action screenshots and game help for Applz 2024-01-18 19:45:17 -05:00
Peter Ferrie
541a0167dc fix Battle Cruiser reset 2024-01-18 09:02:31 -08:00
Peter Ferrie
eb48e6534a favour SSI over SC in Berzap, fix Crime Wave 2024-01-18 08:25:13 -08:00
Peter Ferrie
1f81a4f130 hook IRQ early, fix Berzap MB config 2024-01-17 22:43:57 -08:00
Peter Ferrie
933432ea3e prevent IRQs between copy and new hook 2024-01-17 13:50:12 -08:00
Peter Ferrie
c77949b549 replace Robotics with smaller version 2024-01-08 19:33:04 -08:00
Peter Ferrie
a99b571b52 update cache for new games 2024-01-08 16:11:46 -08:00
Peter Ferrie
30151dd22d fix Serpentine launch 2024-01-07 17:14:25 -08:00
Peter Ferrie
e45b2821ad add Angry Birds to the collection 2024-01-07 16:53:18 -08:00
Peter Ferrie
7a6dac886b add Applz to the collection 2024-01-06 19:18:52 -08:00
Peter Ferrie
d51aca547a make Deathsword compatible with IIc+ 2024-01-03 19:08:50 -08:00
Peter Ferrie
d1a8455dac support Flapple Bird on Mac IIe card 2023-11-28 13:03:07 -08:00
Peter Ferrie
5c9145abaa fix Robotron self-boot 2023-11-22 09:57:58 -08:00
4am
e1f3a74344 fix off-by-1 bug [thanks Frank M.] 2023-11-18 00:24:15 -05:00
4am
60b1f68c9d clean up bootloader and consolidate duplicate code 2023-11-17 21:18:51 -05:00
4am
2f206dfc91 split out branding 2023-11-13 15:49:31 -05:00
4am
f9633db15b prep for v5.0.1 release 2023-11-13 13:34:35 -05:00
4am
0338ef1032 add links to Ample and MAME 2023-11-13 13:11:51 -05:00
4am
eca18ea683 correct off-by-1 bug in original corner4 data generation [fixes #553] 2023-11-11 16:19:16 -05:00
4am
26ee6306eb factor out font data (no visible changes) 2023-10-01 15:04:25 -04:00
Peter Ferrie
2e456de4ad fix joystick casing and Galaxian typo 2023-06-03 17:41:23 -07:00
Peter Ferrie
827524402a fix Galaxian no joystick demo 2023-06-03 16:48:40 -07:00
Tom Greene
cc0c4a9a59
Force 80STORE off during Reenter (#549) 2023-05-18 21:09:12 -04:00
4am
e569591526 prep for v5.0 release 2023-05-17 12:55:58 -04:00
4am
dc95de2c27 clear is-HGR-title-packed marker just before loading
fixes https://github.com/a2-4am/4cade/issues/548
2023-05-16 17:31:19 -04:00
frankmilliron
7f7e5b6023
fix typo (#547) 2023-05-16 11:38:30 -04:00
Peter Ferrie
a8ef8b68d8 move Serpentine unpacker lower in memory 2023-05-15 15:17:32 -07:00
Peter Ferrie
809c97a850 filter out rest of joystick-only demos 2023-04-22 16:15:48 -07:00
Peter Ferrie
e8ca9e75db disable sound in Alien Ambush demo 2023-04-21 19:17:56 -07:00
Peter Ferrie
005145ed97 fix Galaxian demo no-joystick crash 2023-04-21 10:27:37 -07:00
Peter Ferrie
b86ed7d6d2 fix Puyo Puyo crash after game over runs long 2023-04-20 08:09:49 -07:00
Peter Ferrie
464603176d fix Cadius link in readme 2023-04-19 11:10:47 -07:00
Peter Ferrie
3dfe60ee46 try another line-ending fix 2023-04-18 10:27:44 -07:00
Peter Ferrie
50ea0eb656 try to force winmake CRLF line-ending 2023-04-17 15:54:44 -07:00
Peter Ferrie
dac0df2be9 fix broken line in winmake 2023-04-17 15:31:35 -07:00
Peter Ferrie
3ecb7bca37 fix some demo crashes 2023-04-17 10:49:15 -07:00
Peter Ferrie
dbd77dc705 sync 2023-04-15 19:55:21 -07:00
Peter Ferrie
ab916752c9 force clean on Windows dsk build 2023-04-15 10:16:03 -07:00
Peter Ferrie
79b6cd7066 Merge branch 'main' of https://github.com/a2-4am/4cade into main 2023-04-15 10:13:18 -07:00
Peter Ferrie
01f5176544 fix Nightmare Gallery demo crash 2023-04-15 10:13:03 -07:00
4am
98afd50f6c add action screenshots for Little Brick Out 2023-04-14 22:27:16 -04:00
4am
fc151d34d9 add action screenshots for Ruptus 2023-04-14 22:22:38 -04:00
4am
bd9e9dcf1c add action screenshots for Neuras 2023-04-14 22:17:31 -04:00
4am
8ccda4b106 add action screenshots for Mazy 2023-04-14 22:11:48 -04:00
4am
fb9724eb46 add action screenshots for Cavit 2023-04-14 22:07:19 -04:00
4am
1c7b9e0024 add action screenshots for Lift 2023-04-14 21:57:58 -04:00
4am
9a4c34836d add action screenshots for Impetus 2023-04-14 21:52:18 -04:00
4am
fe2ad3fb12 add action screenshots for Guntus 2023-04-14 21:43:16 -04:00
4am
8186cadd66 add action screenshots for Cracky 2023-04-14 21:38:39 -04:00
4am
9a7cc6ea10 add action screenshots for Cacorm 2023-04-14 21:33:37 -04:00
4am
c6948783db add action screenshots for Bootskell 2023-04-14 21:27:34 -04:00
4am
1bd096af77 add action screenshots for Battlot 2023-04-14 21:22:56 -04:00
4am
4dbf252d08 add action screenshots for Ascend 2023-04-14 21:18:19 -04:00
4am
3b9caa691b add action screenshots for Aerial 2023-04-14 21:14:08 -04:00
Peter Ferrie
d8f404cfc5 shave some blocks 2023-04-13 19:41:59 -07:00
4am
e4064f0990 add action screenshot for Puyo Puyo 2023-04-13 20:55:51 -04:00
4am
a90d91bbea add action screenshots for Game Boy Tetris 2023-04-13 20:45:22 -04:00
4am
c256535d26 update game cache and config files 2023-04-13 20:33:34 -04:00
Peter Ferrie
0c615655c7 add Little Brick Out to the collection 2023-04-13 14:23:02 -07:00
Peter Ferrie
f684c631bc shave some blocks 2023-04-13 13:08:02 -07:00
Peter Ferrie
f4c7dd31b9 shave some blocks 2023-04-13 11:57:02 -07:00
Peter Ferrie
9cab60b55c add Cavit, Mazy, Neuras, Ruptus to the collection 2023-04-13 10:42:58 -07:00
Peter Ferrie
4417556c8a add Impetus and Lift to the collection 2023-04-12 22:20:59 -07:00
Peter Ferrie
93159afbee add Cracky and Guntus to the collection 2023-04-12 22:02:05 -07:00
Peter Ferrie
faabedb99d shave some blocks 2023-04-12 21:37:48 -07:00
Peter Ferrie
ba6eecec26 add Aerial, Ascend, Battlot, Bootskell, Cacorm to the collection 2023-04-12 18:58:50 -07:00
4am
4d9b1ee5ce move Pitstop II to 4sports 2023-04-12 18:31:17 -04:00
4am
364a5d388f update changelog 2023-04-12 18:16:08 -04:00
4am
0677765b83 move 8bit-Slicks to 4sports 2023-04-12 18:09:06 -04:00
4am
05ecde1965 update game cache and index files 2023-04-12 17:58:03 -04:00
Peter Ferrie
ce4002fc9e add Puyo Puyo to the collection 2023-04-12 10:18:38 -07:00
Peter Ferrie
8499efbfa9 support Little Computer People external serial file 2023-03-24 18:36:51 -07:00
Peter Ferrie
b72f2f4b5f copy Lode Runner master levels to user-disk 2023-03-24 10:40:51 -07:00
frankmilliron
2a1a50f2a3
fix graphics mode on reset during demo (#540) 2023-02-16 15:09:38 -05:00
Andrew Roughan
4df8c029e0
Create PP (#539)
* Create PP

* Create I1

* Update I1

Remove URL for now
2023-01-10 15:17:27 -05:00
Peter Ferrie
7590c290a3 display MB mono/stereo on start 2023-01-06 11:36:12 -08:00
Peter Ferrie
39b62e540d fix Spy Hunter screen corruption 2022-12-29 15:36:50 -08:00
Peter Ferrie
3127489da9 restore Track Attack screen holes 2022-12-28 22:35:45 -08:00
Peter Ferrie
4c3e2479db fix Time Pilot reset vector 2022-12-28 22:08:16 -08:00
Peter Ferrie
0dd83a01f2 add Game Boy Tetris to the collection 2022-12-22 12:40:28 -08:00
frankmilliron
e5926dc7b5
force IIgs Mono Mode off (#534)
A (since fixed) bug in Apple II Desktop led to a black and white main screen on TR. Let's force color mode on in case it's off.
2022-12-11 11:53:04 -05:00
Peter Ferrie
5643dd8c97 only protect AN1 on IIe or later 2022-12-07 11:40:21 -08:00
Peter Ferrie
e92c1b32bf fix UltraWarp crash due to Wavy Navy 2022-12-06 13:02:24 -08:00
Peter Ferrie
c5c812754e fix Horizon V crash on save 2022-11-30 11:13:58 -08:00
4am
c29dd24ec4 Revert "add some qkumba suggestions (#533)"
This reverts commit 529f89f820.
2022-11-29 18:11:48 -05:00
frankmilliron
529f89f820
add some qkumba suggestions (#533) 2022-11-29 17:00:31 -05:00
frankmilliron
00707b6c0b
Clear //gs Shadow Page 2 (#532)
* Fix Alternate Display Mode on ROM0 and ROM1 //gs

fixes attract hanging on ROM0 and ROM1 machines

* Clear //gs Shadow Page 2

We now control the horizontal. We now control the vertical. We now control the shadow bank of //gs video memory. Improves The Goonies and Pacman demos on ROM0/1.
2022-11-29 10:54:52 -05:00
Peter Ferrie
0f70459cc3 fix Horizon V sound effects 2022-11-28 21:23:23 -08:00
frankmilliron
327d37bedd
Fix Alternate Display Mode on ROM0 and ROM1 //gs (#530)
fixes attract hanging on ROM0 and ROM1 machines
2022-11-27 11:46:44 -05:00
frankmilliron
1b49c67062
Properly test for Alternate Display Mode on //gs (#529)
* Add files via upload

* Add files via upload

* Add files via upload
2022-11-27 11:08:48 -05:00
Peter Ferrie
5c543b8e48 fix Cannonball Blitz crash 2022-11-25 16:40:48 -08:00
frankmilliron
651d825c99
fix hang in Dino Eggs demo on //gs (#528)
ROM was not banked in
2022-11-25 11:11:03 -05:00
Peter Ferrie
a1a47e8b94 fix misligned tables in some FX 2022-11-21 19:22:41 -08:00
frankmilliron
df52b51a51
fix Apple Invader sound on //gs (#525)
* fix Apple Invader sound on //gs

Uses LDA/BIT $C033 instead of $C030 for some reason.

* typo
2022-11-20 16:44:38 -05:00
Peter Ferrie
7f077a77a1 fix off-by-one in some FX 2022-11-19 19:31:10 -08:00
frankmilliron
b381dce377
Fix some attract mode issues (#524)
* Add files via upload

* Add files via upload
2022-11-19 17:56:30 -05:00
Peter Ferrie
960955c31c Aquatron is not a single-loader 2022-11-16 19:13:25 -08:00
Peter Ferrie
a1d95c9111 fix typo in Spider Raid demo 2022-11-16 18:40:13 -08:00
frankmilliron
db5599d222
clarify Linux instructions (#520) 2022-11-09 20:18:45 -05:00
frankmilliron
4841f37ada
Update 'readme' for Linux building instructions (#519) 2022-11-09 19:20:04 -05:00
Peter Ferrie
295e661047 only need Z80 patch on IIc 2022-11-09 15:36:58 -08:00
2477 changed files with 19242 additions and 16649 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
* text=false
winmake.bat text eol=crlf

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018-2021 4am
Copyright (c) 2018-2023 4am
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -43,7 +43,6 @@ dsk: index asmproboot asmlauncher extract
# create _FileInformation.txt files for subdirectories
#
bin/buildfileinfo.sh res/ICONS "CA" "0000"
bin/buildfileinfo.sh build/FX "06" "6000"
cp src/prelaunch/_FileInformation.txt build/PRELAUNCH/
#
# add everything to the disk
@ -58,21 +57,33 @@ dsk: index asmproboot asmlauncher extract
for f in \
res/TITLE.ANIMATED \
res/ICONS \
build/FX \
build/PRELAUNCH; do \
build/PRELAUNCH \
build/X; do \
rm -f "$$f"/.DS_Store; \
$(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/$$(basename $$f)" "$$f" -C >>build/log; \
done
$(CADIUS) CREATEFOLDER build/"$(DISK)" "/$(VOLUME)/X/" -C >>build/log
for f in build/X/*; do \
$(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/X/$$(basename $$f)" "$$f" -C >>build/log; \
done
bin/changebootloader.sh build/"$(DISK)" build/proboothd
extract: preconditions md
gamesconf: preconditions md
#
# create a version of GAMES.CONF without comments or blank lines or anything after display titles
#
[ -f build/index ] || (awk '!/^$$|^#/' < res/GAMES.CONF | awk -F'/' '{ print $$1 }' > build/GAMES.CONF)
#
# create a list of all game filenames, without metadata or display names, sorted by game filename
#
[ -f build/index ] || (awk -F, '/,/ { print $$2 }' < build/GAMES.CONF | awk -F= '{ print $$1 }' | sort > build/GAMES.SORTED)
extract: preconditions md gamesconf
$(PARALLEL) '$(CADIUS) EXTRACTVOLUME {} build/X/ >>build/log' ::: res/dsk/*.po
rm -f build/X/**/.DS_Store build/X/**/PRODOS* build/X/**/LOADER.SYSTEM*
for f in $$(grep '^....1' res/GAMES.CONF | awk '!/^$$|^#/' | awk -F, '/,/ { print $$2 }' | awk -F= '{ print $$1 }'); do mv build/X/"$$(basename $$f)"/"$$(basename $$f)"* build/X.INDEXED/; rm -rf build/X/"$$(basename $$f)"; done
rm -f build/X/**/.DS_Store build/X/**/PRODOS* build/X/**/LOADER.SYSTEM* build/X/**/_FileInformation.txt
for f in $$(grep '^....1' build/GAMES.CONF | awk '!/^$$|^#/' | awk -F, '/,/ { print $$2 }' | awk -F= '{ print $$1 }'); do mv build/X/"$$(basename $$f)"/"$$(basename $$f)"* build/X.INDEXED/; rm -rf build/X/"$$(basename $$f)"; done
for d in build/X/*; do \
for f in "$$d"/*; do \
mv "$$f" build/X/"$$(basename $$f)"; \
done; \
rmdir "$$d"; \
done
(for f in build/X.INDEXED/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a -p build/TOTAL.DATA build/X.INDEXED > build/XSINGLE.IDX
index: preconditions md asmfx asmprelaunch asmdemo compress extract
@ -88,14 +99,6 @@ index: preconditions md asmfx asmprelaunch asmdemo compress extract
[ -f build/index ] || (bin/converthelp.sh res/CREDITS build/CREDITS)
[ -f build/index ] || $(PARALLEL) 'bin/converthelp.sh "{}" "build/GAMEHELP/{/}"' ::: res/GAMEHELP/*
#
# create a version of GAMES.CONF without comments or blank lines
#
[ -f build/index ] || (awk '!/^$$|^#/' < res/GAMES.CONF > build/GAMES.CONF)
#
# create a list of all game filenames, without metadata or display names, sorted by game filename
#
[ -f build/index ] || (awk -F, '/,/ { print $$2 }' < build/GAMES.CONF | awk -F= '{ print $$1 }' | sort > build/GAMES.SORTED)
#
# precompute indexed files for prelaunch
# note: prelaunch must be first in TOTAL.DATA due to a hack in LoadStandardPrelaunch
# note 2: these can not be padded because they are loaded at $0106 and padding would clobber the stack
@ -132,6 +135,12 @@ index: preconditions md asmfx asmprelaunch asmdemo compress extract
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/FX.CONF > build/FX.IDX)
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/DFX.CONF > build/DFX.IDX)
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/SFX.CONF > build/SFX.IDX)
[ -f build/index ] || ((for f in build/FXCODE/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FXCODE > build/FXCODE.IDX)
#
# precompute indexed files for coordinates files loaded by graphic effects
# note: these can not be padded because some of them are loaded into tight spaces near the unclobberable top of main memory
#
[ -f build/index ] || ((for f in build/FXDATA/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA build/FXDATA > build/FXDATA.IDX)
#
# precompute indexed files for HGR & DHGR action screenshots
# note: these can not be padded because they are compressed and the decompressor needs the exact size
@ -194,6 +203,8 @@ index: preconditions md asmfx asmprelaunch asmdemo compress extract
[ -f build/index ] || bin/addfile.sh build/FX.IDX build/TOTAL.DATA > src/index/fx.idx.a
[ -f build/index ] || bin/addfile.sh build/DFX.IDX build/TOTAL.DATA > src/index/dfx.idx.a
[ -f build/index ] || bin/addfile.sh build/SFX.IDX build/TOTAL.DATA > src/index/sfx.idx.a
[ -f build/index ] || bin/addfile.sh build/FXCODE.IDX build/TOTAL.DATA > src/index/fxcode.idx.a
[ -f build/index ] || bin/addfile.sh build/FXDATA.IDX build/TOTAL.DATA > src/index/fxdata.idx.a
[ -f build/index ] || bin/addfile.sh build/GAMEHELP.IDX build/TOTAL.DATA > src/index/gamehelp.idx.a
[ -f build/index ] || bin/addfile.sh build/SLIDESHOW.IDX build/TOTAL.DATA > src/index/slideshow.idx.a
[ -f build/index ] || bin/addfile.sh build/MINIATTRACT0.IDX build/TOTAL.DATA > src/index/miniattract0.idx.a
@ -254,12 +265,12 @@ attract: compress
bin/check-attract-mode.sh
bin/generate-mini-attract-mode.sh
cache: preconditions md
cache: preconditions md gamesconf
$(PARALLEL) ::: \
'awk -F= '"'"'/^00/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache00.a' \
'awk -F= '"'"'/^0/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache01.a' \
'awk -F= '"'"'/^.0/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache10.a' \
'awk -F= '"'"'!/^$$|^#|^\[/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache11.a'
'awk -F= '"'"'/^00/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache00.a' \
'awk -F= '"'"'/^0/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache01.a' \
'awk -F= '"'"'/^.0/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache10.a' \
'awk -F= '"'"'!/^$$|^#/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache11.a'
$(PARALLEL) ::: \
'$(ACME) -o res/CACHE00.IDX build/cache00.a' \
'$(ACME) -o res/CACHE01.IDX build/cache01.a' \
@ -270,7 +281,7 @@ mount: dsk
osascript bin/V2Make.scpt "`pwd`" bin/4cade.vii build/"$(DISK)"
md:
mkdir -p build/X build/X.INDEXED build/FX build/FX.INDEXED build/PRELAUNCH build/PRELAUNCH.INDEXED build/ATTRACT build/SS build/GAMEHELP build/DEMO
mkdir -p build/X build/X.INDEXED build/FX.INDEXED build/FXDATA build/FXCODE build/PRELAUNCH build/PRELAUNCH.INDEXED build/ATTRACT build/SS build/GAMEHELP build/DEMO
touch build/log
clean:

View File

@ -26,7 +26,7 @@ $ cd 4cade/
$ make
```
If all goes well, the `build/` subdirectory will contain a `4cade.hdv` image which can be mounted in emulators like [OpenEmulator](https://archive.org/details/OpenEmulatorSnapshots) or [Virtual II](http://virtualii.com/).
If all goes well, the `build/` subdirectory will contain a `4cade.hdv` image which can be mounted in emulators like [OpenEmulator](https://archive.org/details/OpenEmulatorSnapshots), [Ample](https://github.com/ksherlock/ample), or [Virtual II](http://virtualii.com/).
If all does not go well, try doing a clean build (`make clean dsk`)
@ -38,7 +38,7 @@ If that fails, please [file a bug](https://github.com/a2-4am/4cade/issues/new).
You will need
- [ACME](https://sourceforge.net/projects/acme-crossass/)
- [Cadius for Windows](https://www.brutaldeluxe.fr/products/crossdevtools/cadius/)
- [Cadius for Windows](https://github.com/mach-kernel/cadius)
(Those tools will need to be added to your command-line PATH.)
@ -56,6 +56,43 @@ If that fails, perhaps you have out-of-date versions of one of the required tool
If that fails, please [file a bug](https://github.com/a2-4am/4cade/issues/new).
## Linux
You will need
- [Cadius](https://github.com/mach-kernel/cadius)
Most of the packages are already available pre-compiled and can be installed with the following
``` shell
$ sudo apt-get install git parallel acme
```
To compile Cadius enter the following
``` shell
$ git clone https://github.com/mach-kernel/cadius.git
$ cd cadius
$ make
$ cd bin/release
$ sudo cp cadius /usr/bin
```
Then open a terminal window and type
``` shell
$ git clone https://github.com/a2-4am/4cade.git
$ cd 4cade/
$ make
```
If all goes well, the `build/` subdirectory will contain a `4cade.hdv` image which can be mounted in emulators like [MAME](http://www.mamedev.org).
If all does not go well, try doing a clean build (`make clean dsk`)
If that fails, perhaps you have out-of-date versions of one of the required tools? The [Makefile](https://github.com/a2-4am/4cade/blob/main/Makefile) lists, but does not enforce, the minimum version requirements of each third-party tool.
If that fails, please [file a bug](https://github.com/a2-4am/4cade/issues/new).
# Navigating the code
## Initialization

View File

@ -41,9 +41,7 @@ for (i = 0; i < entries.length; i++)
{
groups += "!byte " + (1 + 1 + entries[i].length + 5).toString() + "\n" + "!byte " + entries[i].length.toString() + "\n" + "!text \"" + entries[i] + "\"\n" + "!be24 " + fx_off.toString() + "\n"
size = a.getfile(WScript.Arguments(3) + "\\" + entries[i]).size
// if offset+size does not cross a block boundary, use the size
// otherwise adjust size until it ends at the next block boundary to avoid a partial copy on the last block
groups += "!le16 " + ((Math.floor(fx_off / 512) == Math.floor((fx_off + size) / 512)) ? size : (((fx_off + size + 511) & -512) - fx_off)).toString() + "\n"
groups += "!le16 " + size + "\n"
fx_off += size
}

View File

@ -45,7 +45,7 @@ fi
# make temp file with list of lines that contain keys
records=$(mktemp)
tr -d "\r" | awk '!/^$|^#|^\[/' > "$records"
tr -d "\r" | awk '!/^$|^#/' > "$records"
# make temp assembly source file that represents the binary OKVS data structure
source=$(mktemp)

View File

@ -2,7 +2,7 @@
# make temp file with just the key/value pairs (strip blank lines, comments, eof marker)
records=$(mktemp)
tr -d "\r" | awk '!/^$|^#|^\[/' > "$records"
tr -d "\r" | awk '!/^$|^#/' > "$records"
# make temp assembly source file that represents the binary OKVS data structure
source=$(mktemp)

View File

@ -9,7 +9,7 @@
# make temp file with just the key/value pairs (strip blank lines, comments, eof marker)
records=$(mktemp)
tr -d "\r" | awk '!/^$|^#|^\[/' > "$records"
tr -d "\r" | awk '!/^$|^#/' > "$records"
# read logs of offsets & sizes for HGR and DHGR titles
# that were generated by an earlier script

View File

@ -39,8 +39,8 @@ if (!a.fileexists(WScript.Arguments(1)) || a.getfile(WScript.Arguments(1)).datel
bits = q.indexOf("," + name + "=") + 1
name = q.substr(bits + name.length + 1)
name = name.substr(0, name.indexOf("\n"))
needsjoystick = q.substr(bits - 5, 1)
needs128k = q.substr(bits - 4, 1)
needsjoystick = q.substr(bits - 6, 1)
needs128k = q.substr(bits - 5, 1)
displayname = ((WScript.Arguments.length == 3) ? name : "")
source.writeline("!byte " + (entries[i].length - ((val >= 0) ? 1 : 0) + displayname.length + 5))
source.writeline("!byte " + ((val >= 0) ? val : entries[i].length))

View File

@ -21,7 +21,7 @@ games=$(cat "$1")
# make temp file with just the key/value pairs (strip blank lines, comments, eof marker)
records=$(mktemp)
tr -d "\r" | awk '!/^$|^#|^\[/' > "$records"
tr -d "\r" | awk '!/^$|^#/' > "$records"
# make temp assembly source file that represents the binary OKVS data structure
source=$(mktemp)

View File

@ -50,13 +50,13 @@ cat res/GAMES.CONF |
grep '^\!to' src/demo/*.a | cut -d'/' -f5-|cut -d'#' -f1 |
grep -v "SPCARTOON" |
while read f; do
grep "$f=0" res/ATTRACT.CONF >/dev/null || echo "unused demo: $f";
grep "^$f=0" res/ATTRACT.CONF >/dev/null || echo "unused demo: $f";
done
# warn about unused slideshows
cd res/SS
for f in *.CONF; do
grep "$f" ../ATTRACT.CONF >/dev/null || echo "unused slideshow: $f";
grep "^$f=" ../ATTRACT.CONF >/dev/null || echo "unused slideshow: $f";
done
cd ../..

View File

@ -1,4 +1,4 @@
#!/bin/sh
tr "\*\~\<\>\$\%" "\020\021\010\025\016\017" < "$1" | \
tr -d "\r" | awk '!/^\[/ { printf "%c%s", length, $0 } END { printf "\xFF" }' > "$2"
tr -d "\r" | awk '{ printf "%c%s", length, $0 } END { printf "\xFF" }' > "$2"

13
bin/flatten.js Normal file
View File

@ -0,0 +1,13 @@
a = new ActiveXObject("scripting.filesystemobject")
x = new ActiveXObject("wscript.shell")
for (b = new Enumerator(a.GetFolder("build\\X").subfolders); !b.atEnd(); b.moveNext())
{
for (c = new Enumerator(b.item().subfolders); !c.atEnd(); c.moveNext())
{
x.run('cmd /c move build\\X\\' + b.item().name + '\\' + c.item().name + ' build\\X', 0, 1)
}
x.run('cmd /c move build\\X\\' + b.item().name + '\\* build\\X', 0, 1)
x.run('cmd /c rd build\\X\\' + b.item().name, 0, 1)
}

View File

@ -75,9 +75,6 @@ cat res/GAMES.CONF |
echo "ARTWORK.SHR/POP.END=C" >> /tmp/g
fi
# add eof
echo -e "\n[eof]" >> /tmp/g
cat /tmp/g > res/ATTRACT/"$game"
# clean up

View File

@ -13,13 +13,6 @@ while (!b.atendofstream)
d = d.substr(0, e)
}
e = d.indexOf("[eof]")
if (e > -1)
{
break
}
e = d.indexOf("=")
if (e == -1)
@ -35,5 +28,4 @@ while (!b.atendofstream)
}
}
q.write(d + "\n")
a.createtextfile("build\\GAMES.SORTED").write(c.sort().toString().replace(/,/g, "\n"))

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
res/ACTION.DHGR/PUYO.PUYO Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
res/ACTION.GR/COLORIX Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More