diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 19563dd5c..0e251da9a 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -178,6 +178,7 @@ 00011,FALCONS=Falcons 00060,FAT.CITY=Fat City 00011,FEDERATION=Federation +00011,FIDO=Fido 00040,FIRE.AND.ICE=Fire and Ice 00011,FIREBIRD=Firebird 00000,FIREBUG=Firebug diff --git a/res/TITLE.HGR.UNPACKED/FIDO b/res/TITLE.HGR.UNPACKED/FIDO new file mode 100644 index 000000000..924864541 Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/FIDO differ diff --git a/res/TITLE.HGR/FIDO b/res/TITLE.HGR/FIDO new file mode 100644 index 000000000..a4950f3ac Binary files /dev/null and b/res/TITLE.HGR/FIDO differ diff --git a/res/dsk/fido 18k file PRODOS (san inc pack).po b/res/dsk/fido 18k file PRODOS (san inc pack).po new file mode 100644 index 000000000..f7284ed92 Binary files /dev/null and b/res/dsk/fido 18k file PRODOS (san inc pack).po differ diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index b346aa79e..5dc46ad31 100644 --- a/src/index/artwork.idx.a +++ b/src/index/artwork.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15539529 + !be24 15566065 !le16 5112 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index e9815156b..4e38419ff 100644 --- a/src/index/attract.idx.a +++ b/src/index/attract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15484420 + !be24 15510934 !le16 5707 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index e37356186..240f6741b 100644 --- a/src/index/cache00.idx.a +++ b/src/index/cache00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15416721 + !be24 15443164 !le16 4056 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 2b9b3d18f..45c9a5fc5 100644 --- a/src/index/cache01.idx.a +++ b/src/index/cache01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15431017 + !be24 15457480 !le16 4521 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index abaf13625..62c6f168b 100644 --- a/src/index/cache10.idx.a +++ b/src/index/cache10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15449345 + !be24 15475828 !le16 5925 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 00177d774..f64e6a932 100644 --- a/src/index/cache11.idx.a +++ b/src/index/cache11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15470434 + !be24 15496937 !le16 6551 diff --git a/src/index/count00.a b/src/index/count00.a index d4eb98177..21d3a3caa 100644 --- a/src/index/count00.a +++ b/src/index/count00.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 304 +!word 305 diff --git a/src/index/count01.a b/src/index/count01.a index cfc42501d..d17a93f71 100644 --- a/src/index/count01.a +++ b/src/index/count01.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 333 +!word 334 diff --git a/src/index/count10.a b/src/index/count10.a index 34ec04ea7..ee4ee88d8 100644 --- a/src/index/count10.a +++ b/src/index/count10.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 448 +!word 449 diff --git a/src/index/count11.a b/src/index/count11.a index f93901d7c..afff9c567 100644 --- a/src/index/count11.a +++ b/src/index/count11.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 491 +!word 492 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 12fb68f5c..48f4268da 100644 --- a/src/index/coverfade.idx.a +++ b/src/index/coverfade.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15544641 + !be24 15571177 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index 1a3e69aaa..e736f15a2 100644 --- a/src/index/credits.idx.a +++ b/src/index/credits.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15545395 + !be24 15571931 !le16 449 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 2db80e674..0d1c03818 100644 --- a/src/index/decrunch.idx.a +++ b/src/index/decrunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15545844 + !be24 15572380 !le16 303 diff --git a/src/index/demo.idx.a b/src/index/demo.idx.a index b7b486e9a..1637bcb90 100644 --- a/src/index/demo.idx.a +++ b/src/index/demo.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 12373033 + !be24 12380713 !le16 1652 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 9d34b7556..abead6661 100644 --- a/src/index/dfx.idx.a +++ b/src/index/dfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15492767 + !be24 15519281 !le16 1640 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 4e5803b53..23e72f470 100644 --- a/src/index/dgr.fizzle.idx.a +++ b/src/index/dgr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15545127 + !be24 15571663 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index 2726060eb..39c6f156d 100644 --- a/src/index/dgr.idx.a +++ b/src/index/dgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15539470 + !be24 15566006 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 4ebe98aea..099e6f45a 100644 --- a/src/index/dhgr.idx.a +++ b/src/index/dhgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15537926 + !be24 15564462 !le16 1426 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 56b775af2..5d906d80e 100644 --- a/src/index/dtitle.idx.a +++ b/src/index/dtitle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15521973 + !be24 15548509 !le16 557 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 8009d2836..02dc82e4a 100644 --- a/src/index/fx.idx.a +++ b/src/index/fx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15490127 + !be24 15516641 !le16 2640 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 85f646ff1..bf347cf77 100644 --- a/src/index/gamehelp.idx.a +++ b/src/index/gamehelp.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15494765 - !le16 7435 + !be24 15521279 + !le16 7446 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 6adda6783..ab3fc43bf 100644 --- a/src/index/gr.fizzle.idx.a +++ b/src/index/gr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15545051 + !be24 15571587 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index f18d05ab4..a4c893d35 100644 --- a/src/index/gr.idx.a +++ b/src/index/gr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15539352 + !be24 15565888 !le16 118 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 332930f8e..2be9ff2a8 100644 --- a/src/index/helptext.idx.a +++ b/src/index/helptext.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15545194 + !be24 15571730 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index e2f433eec..0000a81f6 100644 --- a/src/index/hgr0.idx.a +++ b/src/index/hgr0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15522530 + !be24 15549066 !le16 4951 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 42ac60b0e..e650893e9 100644 --- a/src/index/hgr1.idx.a +++ b/src/index/hgr1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15527481 + !be24 15554017 !le16 1802 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 6fc1931d7..3a627c21d 100644 --- a/src/index/hgr2.idx.a +++ b/src/index/hgr2.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15529283 + !be24 15555819 !le16 1181 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index cc2c9d4b8..18e5cfff9 100644 --- a/src/index/hgr3.idx.a +++ b/src/index/hgr3.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15530464 + !be24 15557000 !le16 3458 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 58fc52ec8..5cd6aee4e 100644 --- a/src/index/hgr4.idx.a +++ b/src/index/hgr4.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15533922 + !be24 15560458 !le16 3398 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index da449611e..c0ce5dee7 100644 --- a/src/index/hgr5.idx.a +++ b/src/index/hgr5.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15537320 + !be24 15563856 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 33732a176..80cb76c39 100644 --- a/src/index/hgr6.idx.a +++ b/src/index/hgr6.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15537799 + !be24 15564335 !le16 127 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index e1056bc3b..69253e36e 100644 --- a/src/index/joystick.idx.a +++ b/src/index/joystick.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15546147 + !be24 15572683 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 792836ebd..13648243b 100644 --- a/src/index/miniattract0.idx.a +++ b/src/index/miniattract0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15507574 + !be24 15534099 !le16 5007 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index a4aeedac4..c0399d8de 100644 --- a/src/index/miniattract1.idx.a +++ b/src/index/miniattract1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15512581 + !be24 15539106 !le16 2432 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index cc0c93c47..4e79283f7 100644 --- a/src/index/prelaunch.idx.a +++ b/src/index/prelaunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15476985 - !le16 7435 + !be24 15503488 + !le16 7446 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 73eeed60f..a9ce40a9d 100644 --- a/src/index/res.cover.idx.a +++ b/src/index/res.cover.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 4204544 + !be24 4212224 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 11fce7376..2c1f464e2 100644 --- a/src/index/res.help.idx.a +++ b/src/index/res.help.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 4220928 + !be24 4228608 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index fb005c8b4..9e0011fc0 100644 --- a/src/index/res.title.idx.a +++ b/src/index/res.title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 4212736 + !be24 4220416 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 1167947f7..d6652da60 100644 --- a/src/index/search00.idx.a +++ b/src/index/search00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15407418 - !le16 9303 + !be24 15433841 + !le16 9323 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index d4c6d13dc..e3a964aaf 100644 --- a/src/index/search01.idx.a +++ b/src/index/search01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15420777 - !le16 10240 + !be24 15447220 + !le16 10260 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index d56cb8e9c..0e7db4eaf 100644 --- a/src/index/search10.idx.a +++ b/src/index/search10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15435538 - !le16 13807 + !be24 15462001 + !le16 13827 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 8e2b045f8..8abe882e8 100644 --- a/src/index/search11.idx.a +++ b/src/index/search11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15455270 - !le16 15164 + !be24 15481753 + !le16 15184 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index d2020c716..acefc0e0e 100644 --- a/src/index/sfx.idx.a +++ b/src/index/sfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15494407 + !be24 15520921 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index 898cca57f..dea367e68 100644 --- a/src/index/slideshow.idx.a +++ b/src/index/slideshow.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15502200 + !be24 15528725 !le16 5374 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 0a2d91a1f..770d58a0c 100644 --- a/src/index/title.idx.a +++ b/src/index/title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15515013 - !le16 6960 + !be24 15541538 + !le16 6971 diff --git a/src/index/xsingle.idx.a b/src/index/xsingle.idx.a index fc2da8ef7..5d0201939 100644 --- a/src/index/xsingle.idx.a +++ b/src/index/xsingle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15403154 - !le16 4264 + !be24 15429564 + !le16 4277 diff --git a/src/prelaunch/fido.a b/src/prelaunch/fido.a new file mode 100644 index 000000000..d346e7899 --- /dev/null +++ b/src/prelaunch/fido.a @@ -0,0 +1,35 @@ +;license:MIT +;(c) 2024 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/FIDO",plain +*=$106 + + !source "src/prelaunch/common.a" + + lda #$60 + sta $8808 + jsr $3FF5 ; decompress + +ENABLE_ACCEL + lda #>(callback - 1) + sta $8821 + lda #<(callback - 1) + sta $8824 + lda #$19 + jmp $880A + +callback + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $B23 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $DD3 + +!if * > $1C0 { + !error "code is too large, ends at ", * +}