[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Free Apple II GS With The Works to Help with LemminGS Source Code



On Wednesday, January 9, 2013 12:08:21 AM UTC-8, BLuRry wrote:
> LEMINGS.S also has a VERIFCHECK routine in it that works differently.  Remove the JSR VERIFCHECK line in LEMINGS.S as it does not use the carry bit, but instead increments a variable elsewhere if there is a problem.  Take out the call to the verification check then there's no problem. :-)  For LEMINGS.S, it's on line 41: "JSR VERIFCHECK" -- just comment it out or remove it.
> 
> 
> 
> -B

I'll just extend what BLuRry started here -- and point you to how you can build your binaries.

First, note that Lemmings.Main.s and LEMMING.S assembles into two separate binaries.  The SEC/CLC code in Lemmings.Main.s merely passes that Carry information into code in LEMMING.S.  Additional checksum code is in LEMMING.S.

To minimize what you need to change, just edit the part that quits the program.  Change the following in LEMMING.S:
         LDA   VERIFLAG1  ; VERIF LEMMINGS
         BEQ   F*CK107
F*CK108  STZ   EASTERFLAG
         LDA   #$0006
         JMP   PICT2
F*CK107  LDA   VERIFLAG2   ; VERIF LEMMING
         BNE   F*CK108
         JSR   CREEDECOR1 ; CREATION DECOR
into something like:
         LDA   VERIFLAG1  ; VERIF LEMMINGS
         BRA   SAFENOW
F*CK108  STZ   EASTERFLAG
         LDA   #$0006
         JMP   PICT2
F*CK107  LDA   VERIFLAG2   ; VERIF LEMMING
         BNE   F*CK108
SAFENOW  JSR   CREEDECOR1 ; CREATION DECOR

One more thing: In my default installation of Merlin 8/16, the MX flags seem to be %11.  Lemmings.Main.s has an "mx %00" directive.  Add that same directive in LEMMING.S to use 16-bit operands.

Assemble away, and don't forget to put your generated object file (LEMMING) into the LemminGS.Data subfolder.

Hope this helps,
/pitz