the cutting room mirror

Desert Strike: Return to the Gulf (Amiga)

This article has a talk page!This article has a talk page!
view on tcrf.net

An updated version of the Genesis original, featuring updated graphics, sampled audio and chunkier framerates.

Possibly Drunk Developer Message#

Hidden on all of the disks at 0x6E2E0:

Desrt Strike Is 
Brought to You  
From The Ea In  
House Possy     
Other Wise Know 
As ProgStaff    
                

This Game Is    
Desined to be   
Unhackerble     
because There is
no need to hack 
it. If you whant
to pirate it    
Just drag the   
workbentch icon 
to another disk 
drive, and copy 

(Source: pants)

Source Code Remnants#

Starting at 0x68DD on the first disk:

    #4,a0
        rts

        Section FileData,data_c 

DiskData:   incbin  "\desert\graphics\disk\insert.crn"
DiskErrDat: incbin  "\desert\graphics\disk\DiskErr8.crn"
        EVEN
NumData:    incbin  "\desert\graphics\disk\numbers.dat"

DiskPal:    dc.w    $000
        dc.w    $6a6
        dc.w    $595
        dc.w    $484
        dc.w    $373
        dc.w    $262
        dc.w    $151
        dc.w    $040
        dc.w    $030
        dc.w    $020
        dc.w    $010
        dc.w    $000
        dc.w    $778
        dc.w    $889
        dc.w    $99a
        dc.w    $aab
        dc.w    $bbc

        dc.w    $ccd
        dc.w    $dde
        dc.w    $eef
        dc.w    $fff
        dc.w    $320
        dc.w    $210
        dc.w    $db7
        dc.w    $cb6
        dc.w    $ba5
        dc.w    $a94
        dc.w    $983
        dc.w    $872
        dc.w    $761
        dc.w    $650
        dc.w    $430

ErrPal:     dc.w    $000
        dc.w    $024
        dc.w    $555
        dc.w    $777
        dc.w    $a50
        dc.w    $c73
        dc.w    $e95
        dc.w    $ddd

CopList:    dc.w    bpl1pth,$0000       ;screen bitplane pointers
        dc.w    bpl1ptl,$0000       ;updated by screen flip routine
        dc.w    bpl2pth,$0000       
        dc.w    bpl2ptl,$0000       
        dc.w    bpl3pth,$0000       
        dc.w    bpl3ptl,$0000       
        dc.w    bpl4pth,$0000
        dc.w    bpl4ptl,$0000
CopPlane5   dc.w    bpl5pth,$0000
        dc.w    bpl5ptl,$0000

        dc.w    spr0pth,$0000       ;sprite pointers inserlised
        dc.w    spr0ptl,$0000       ;in init
        dc.w    spr1pth,$0000
        dc.w    spr1ptl,$0000
        dc.w    spr2pth,$0000
        dc.w    spr2ptl,$0000
        dc.w    spr3pth,$0000
        dc.w    spr3ptl,$0000
        dc.w    spr4pth,$0000
        dc.w    spr4ptl,$0000
        dc.w    spr5pth,$0000
        dc.w    spr5ptl,$0000
        dc.w    spr6pth,$0000
        dc.w    spr6ptl,$0000
        dc.w    spr7pth,$0000
        dc.w    spr7ptl,$0000
        if 0
        
BplCon:     dc.w    bplcon0,NumPlanesE*$1000+$200       ;I tend to put all my screen defintions in the copper
        dc.w    bplcon1,$0000               ;its less code and I can modify them with snasm eserly
        dc.w    bplcon2,$001f
ScreenMods: dc.w    bpl1mod,PlaneWideE*(NumPlanesE-1)
        dc.w    bpl2mod,PlaneWideE*(NumPlanesE-1)

        dc.w    ddfstrt,$0068       ;$002a
        dc.w    ddfstop,$00a2       ;$00d2
        dc.w    diwstrt,$7aad
        dc.w    diwstop,$c4f5
        endc

CopperCols: dc.w    color00,$fff
        dc.w    color01,$fff
        dc.w    color02,$000
        dc.w    color03,$000
        dc.w    color04,$000
        dc.w    color05,$000
        dc.w    color06,$000
        dc.w    color07,$000
        dc.w    color08,$000
        dc.w    color09,$000
        dc.w    color10,$000
        dc.w    color11,$000
        dc.w    color12,$000
        dc.w    color13,$000
        dc.w    color14,$000
        dc.w    color15,$000

        dc.w    color16,$000
        dc.w    color17,$000
        dc.w    color18,$000
        dc.w    color19,$000
        dc.w    color20,$000
        dc.w    color21,$000
        dc.w    color22,$000
        dc.w    color23,$000
        dc.w    color24,$000
        dc.w    color25,$000
        dc.w    color26,$000
        dc.w    color27,$000
        dc.w    color28,$000
        dc.w    color29,$000
        dc.w    color30,$000
        dc.w    color31,$000

;       dc.w    $ffdf,$fffe             
;       dc.w    $3301,$ff00             
;       dc.w    intreq,$8010
        dc.w    $ffff,$fffe             ;a wait forever is the end of the copper list

DumSpr:     dc.l    0

CopListEnd:


        Section FileBss,bss_c
;-----------------------------------------------------------------------------------------------------------------------------

AutoOff:    ds.w    1           ;turn of motor after load 0 yes 1 = no
FileSize:   ds.l    1
FileOffset: ds.l    1
DiskNo:     ds.b    1
FileNo:     ds.b    1
DriveNo:    ds.b    1
CompFlags:  ds.b    1
InDisk:     ds.w    1
SectNo:     ds.w    1
DataPtr:    ds.l    1
DataStart:  ds.l    1
BytesToLoad:    ds.l    1
BytesRead:  ds.l    1
SecondBlock:    ds.l    1
SkipBytes:  ds.w    1
CopSave:    ds.l    1
DmaSave:    ds.w    1
TrackBuff:  ds.l    1
OldCopper:  ds.l    1

        Section FileData,data_c

CurrDisk:   dc.b    $80,-1,-1,-1                ;tables of what disk is in what drive
                                ;-ve means no disk in drive !!
GotDisk:    dc.b    -1,-1,-1,-1
DirTbl:
        dc.l    Dir1
        dc.l    Dir2
        dc.l    Dir3

        Section FileCode,code_c

;--------------------------------------------------------------------------------------------------------------------------
;   Rob Northens disk acess code !

        include     \desert\source\northen\diskior.s

        rsreset
DirOffset:  rs.l    1
DirFileSize:    rs.l    1
DirFullSize:    rs.l    1                  
DirFlags:   rs.w    1
DirPad:     rs.w    1
DirSizeOf:  rs.b    0

        Section FileBss,bss_c
        
Dir1:       ds.b    DirSizeOf*32
Dir2:       ds.b    DirSizeOf*32
Dir3:       ds.b    DirSizeOf*32

SectorBuff: ds.b    512
Endofbss:   ds.b    0

        elseif  LOAD_MEDIA="FILE"
;--------------------------------------------------------------------------------------------------------------------------
;   FileFrendly load system comapaterble with current loading system
;   uses robnorhtens dosior.s

        move.w  d0,d1
        lsr.w   #6,d1
        and.w   #$fc,d1
        move.l  DirTbl(pc,d1),a0
        and.w   #$ff,d0
        asl.w   #2,d0
        move.l  (a0,d0),a0
        move.l  #0,d0
        move.l  a1,-(sp)
        bsr dosioR
        move.l  (sp)+,a1
        move.l  a1,a0
        bsr Unpack
        rts

DirTbl:     dc.l    DirTbl1,DirTbl2

DirTbl1:    dc.l    .n0
        dc.l    .n1
        dc.l    .n2
        dc.l    .n3
        dc.l    .n4
        dc.l    .n5
        dc.l    .n6
        dc.l    .n7
        dc.l    .n8
        dc.l    .n9

.n0:        dc.b    "load.abs",0            
.n1:        dc.b    "loader.abs",0
.n2:        dc.b    "world0.map",0
.n3:        dc.b    "world0.blk",0
.n4:        dc.b    "worldd.amg",0
.n6:        dc.b    "gamesnd.amg",0
.n7:        dc.b    "wldgfxd.amg",0
.n8:        dc.b    "desert.rel",0
.n9:        dc.b    "menu.rel",0
        EVEN

DirTbl2:    dc.l    .n0
        dc.l    .n1
        dc.l    .n2
        dc.l    .n3
        dc.l    .n4
        dc.l    .n5
        dc.l    .n6
        dc.l    .n7
        dc.l    .n8
        dc.l    .n9

.n0:        dc.b    "popup1.rel",0          
.n1:        dc.b    "popup2.rel",0          
.n2:        dc.b    "popup3.rel",0          
.n3:        dc.b    "popup5.rel",0          
.n4:        dc.b    "popup6.rel",0          
.n5:        dc.b    "brroom.rel",0          
.n6:        dc.b    "death.rel",0           
.n7:        dc.b    "panels.rel",0          
.n8:        dc.b    "Winner.rel",0          
.n9:        dc.b    "InstArc.dmc",0         
        EVEN



MotorOff:
InitDrives: rts

Build Dates#

At the beginning of the disks at 0x10:

Diskette Number

Code

Disk 1

EOA0 DATE: 22/3/1993

Disk 2

EOA1 DATE: 22/3/1993

Disk 3

EOA2 DATE: 8/3/1993

The demo version of the game which appeared on CU Amiga Magazine Coverdisk #57 (May 1993 issue) uses this build date code:

EOA0 DATE: 18/3/1993

It also includes the exact code fragment as the final game.