diff --git a/res/GAMES.CONF b/res/GAMES.CONF index af7df984f..54bc671b9 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -229,7 +229,8 @@ 0001,LANCASTER=Lancaster 1000,LASER.BOUNCE=Laser Bounce 0001,LAZER.SILK=Lazer Silk -0001,LEMMINGS=Lemmings +0001,LEMM.SIR=Lemmings (Sirius) +0007,LEMMINGS=Lemmings 0001,LL=Lethal Labyrinth 0000,LP=Little Computer People 0001,LC=Lock 'n' Chase diff --git a/res/TITLE.HGR.UNPACKED/LEMM.SIR b/res/TITLE.HGR.UNPACKED/LEMM.SIR new file mode 100644 index 000000000..e55b8a79e Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/LEMM.SIR differ diff --git a/res/TITLE.HGR.UNPACKED/LEMMINGS b/res/TITLE.HGR.UNPACKED/LEMMINGS index e55b8a79e..a47b8e075 100644 Binary files a/res/TITLE.HGR.UNPACKED/LEMMINGS and b/res/TITLE.HGR.UNPACKED/LEMMINGS differ diff --git a/res/TITLE.HGR/LEMM.SIR b/res/TITLE.HGR/LEMM.SIR new file mode 100644 index 000000000..fefe48444 Binary files /dev/null and b/res/TITLE.HGR/LEMM.SIR differ diff --git a/res/TITLE.HGR/LEMMINGS b/res/TITLE.HGR/LEMMINGS index fefe48444..819995e80 100644 Binary files a/res/TITLE.HGR/LEMMINGS and b/res/TITLE.HGR/LEMMINGS differ diff --git a/res/dsk/lemmings (sirius) PRODOS (san inc pack).po b/res/dsk/lemmings (sirius) PRODOS (san inc pack).po new file mode 100644 index 000000000..29f519e65 Binary files /dev/null and b/res/dsk/lemmings (sirius) PRODOS (san inc pack).po differ diff --git a/res/dsk/lemmings PRODOS (san inc pack).po b/res/dsk/lemmings PRODOS (san inc pack).po index 4b8755b8b..27928ffd9 100644 Binary files a/res/dsk/lemmings PRODOS (san inc pack).po and b/res/dsk/lemmings PRODOS (san inc pack).po differ diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 37a60719d..f0ac033da 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 11570629 + !be24 11578502 !le16 4659 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index e008a1ade..9e38ea91e 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 11521712 + !be24 11529555 !le16 5343 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index 2d22460d1..aee17cb7d 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 11461978 + !be24 11469695 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 9117ec332..98a7be219 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 11474789 + !be24 11482543 !le16 4074 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 57577e48e..aa7d7a771 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 11490839 + !be24 11498630 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 02a5d40a3..ef9c427e0 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 11509383 + !be24 11517211 !le16 5880 diff --git a/src/index/count00.a b/src/index/count00.a index 139067769..3d34a467c 100644 --- a/src/index/count00.a +++ b/src/index/count00.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 273 +!word 274 diff --git a/src/index/count01.a b/src/index/count01.a index 93ed6adac..5fe492618 100644 --- a/src/index/count01.a +++ b/src/index/count01.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 300 +!word 301 diff --git a/src/index/count10.a b/src/index/count10.a index 0b1c4ac91..4c6051948 100644 --- a/src/index/count10.a +++ b/src/index/count10.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 388 +!word 389 diff --git a/src/index/count11.a b/src/index/count11.a index 55d4dfe97..9c2e78b45 100644 --- a/src/index/count11.a +++ b/src/index/count11.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 430 +!word 431 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index d5729a069..188b3437c 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 11575288 + !be24 11583161 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index fad0fe5e5..bdf2fe9c0 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 11576042 + !be24 11583915 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 26bc002ea..d6edbf619 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 11576490 + !be24 11584363 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 3f87de4ee..083e59e81 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 11529201 + !be24 11537044 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 8af0f1c12..82350d410 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 11575774 + !be24 11583647 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index 68ed302f7..0716355d4 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 11570570 + !be24 11578443 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 6c92056f3..a8a179ede 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 11569052 + !be24 11576925 !le16 1437 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index b03acae11..c3c8f22a4 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 11554653 + !be24 11562526 !le16 537 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 546b00f18..9c0271819 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 11527055 + !be24 11534898 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index e5d27ec8e..7d1ee46c2 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 11530801 - !le16 6449 + !be24 11538644 + !le16 6464 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index e37d8122d..827def6dc 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 11575698 + !be24 11583571 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index c6ef7cb29..314a535d6 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 11570489 + !be24 11578362 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 903ccb9e6..ba60cc99c 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 11575841 + !be24 11583714 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 28d0b3dcf..3a6e32ce6 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 11555190 + !be24 11563063 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 38dc23af2..0065d523e 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 11559701 + !be24 11567574 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index a548b0d37..93924a64d 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 11561292 + !be24 11569165 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 27f131732..4f5f171d8 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 11562345 + !be24 11570218 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index a8ef4d075..1e64d508d 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 11565582 + !be24 11573455 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index d5fddb05f..a05076386 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 11568459 + !be24 11576332 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 931cde18c..638a7ee78 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 11568938 + !be24 11576811 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index a97487a7e..2fb3455c7 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 11576793 + !be24 11584666 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 9000c68b7..9ed359651 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 11542206 + !be24 11550064 !le16 4268 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index cb225c720..7fa8951a4 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 11546474 + !be24 11554332 !le16 2185 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 24d64e196..83880b75e 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 11515263 - !le16 6449 + !be24 11523091 + !le16 6464 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 13d2b4e03..120aece44 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 3720704 + !be24 3728384 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 4c46d0305..08ba8f20e 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 3737088 + !be24 3744768 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 0e7132234..7cb973e24 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 3728896 + !be24 3736576 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index e13ca125f..0ff76c188 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 11453695 - !le16 8283 + !be24 11461375 + !le16 8320 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 4451ed509..149c0df77 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 11465632 - !le16 9157 + !be24 11473349 + !le16 9194 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 3608e6bb5..396e764e0 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 11478863 - !le16 11976 + !be24 11486617 + !le16 12013 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index ebe16007d..cfdbdc62c 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 11496084 - !le16 13299 + !be24 11503875 + !le16 13336 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 5666e89f7..a6554ae25 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 11530443 + !be24 11538286 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index db2b3a769..51621debc 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 11537250 + !be24 11545108 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 68fd24e5c..7766d247d 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 11548659 - !le16 5994 + !be24 11556517 + !le16 6009 diff --git a/src/prelaunch/lemm.sir.a b/src/prelaunch/lemm.sir.a new file mode 100644 index 000000000..f2e1c8497 --- /dev/null +++ b/src/prelaunch/lemm.sir.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2021-2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/LEMM.SIR",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $41B0 + jsr $4000 ; decompress + inc $C9 ; RNG requires non-zero + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $BA5E ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $8C8 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/lemmings.a b/src/prelaunch/lemmings.a index 3591e7967..4ffe0cbd8 100644 --- a/src/prelaunch/lemmings.a +++ b/src/prelaunch/lemmings.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021-2022 by qkumba +;(c) 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/LEMMINGS",plain @@ -9,19 +9,11 @@ +ENABLE_ACCEL lda #$60 - sta $41B0 - jsr $4000 ; decompress - inc $C9 ; RNG requires non-zero - +READ_RAM2_NO_WRITE - lda MachineStatus - and #CHEATS_ENABLED - beq + - lda #$ad - sta $BA5E ; patch - don't decrease lives -+ - jsr DisableAccelerator - +READ_ROM_NO_WRITE - jmp $8C8 + sta $21A5 + jsr $2000 ; decompress + +ENABLE_ACCEL + + jmp $6000 !if * > $1C0 { !error "code is too large, ends at ", *