2024-04-19 16:28 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002085Kefrens_DesertDream[WHDLoad Installs Demos] slavepublic2018-06-21 14:23
ReporterRetroplay 
Assigned ToStingRayProject InfoDesert Dream (Kefrens)
http://www.whdload.de/demos/Kefrens_DesertDream.html
 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
Summary0002085: Desert Dream (Kefrens) timing problems
DescriptionDesert Dream (Kefrens): The Spaceship and pyramid part is too fast.
When the ship fires the melon at the pyramid and when the pyramid fires missiles after the ship the timing is not 100%.
The missiles goes through the ship before it explodes.
Additional Informationhttp://www.whdload.de/demos/Kefrens_DesertDream.html

TagsNo tags attached.
MachineA1200
CPU68EC020
CPUSpeed14
ChipSetAGA
GFXCardNone
ChipMem2 MB
FastMem4 MB
WorkbenchOS 3.1
KickROM39 - Kick 3.0
KickSoftNone
WHDLoad16.9
imported
Attached Files
  • ? file icon DesertDream_orig.S (3,652 bytes) 2011-10-27 00:05 -
    ;*---------------------------------------------------------------------------
    ;  :Program.	DesertDream.s
    ;  :Contents.	Slave for "Desert Dream", 1993 Kefrens
    ;  :Author.	BlackWine
    ;  :History.	15.12.97 - Initial Realese
    ;  :Requires.	-
    ;  :Copyright.	Public Domain
    ;  :Language.	68000 Assembler
    ;  :Translator.	AsmOne R398
    ;  :To Do.
    ;---------------------------------------------------------------------------*
    
    	INCDIR	Include:
    	INCLUDE	whdload.i
    
    
    	AUTO	WO Appz:Scene/DesertDream/DesertDream.slave\
    ;	OPT	O+ OG+			;enable optimizing
    
    ;======================================================================
    
    .base		SLAVE_HEADER			;ws_Security + ws_ID
    		dc.w	6			;ws_Version
    		dc.w	WHDLF_Disk|WHDLF_NoError|WHDLF_EmulTrap
    						;ws_flags
    		dc.l	$100000			;ws_BaseMemSize
    		dc.l	0			;ws_ExecInstall
    		dc.w	_Start-.base		;ws_GameLoader
    		dc.w	0			;ws_CurrentDir
    		dc.w	0			;ws_DontCache
    _keydebug	dc.b	$58			;ws_keydebug = F9
    _keyexit	dc.b	$59			;ws_keyexit = F10
    
    ;======================================================================
    
    		dc.b	"$VER: "
    		dc.b	"Desert Dream WHDLoad slave by BlackWine - v1.1 15.07.98"
    		dc.b	0
    
    		even
    
    ;======================================================================
    _Start	;	A0 = resident loader
    ;======================================================================
    
    		lea	(_resload,pc),a1
    		move.l	a0,(a1)			;save for later use
    
    		btst	#6,$bfe001
    		beq.w	_hiddenpart
    
    _realdemo	moveq	#0,d0			;offset
    		moveq	#$16,d1		;size
    		lsl.l	#8,d1
    		moveq	#1,d2			;disk
    		lea	$7c800,a0
    		move.l	a0,a3
    		move.l	_resload(pc),a2
    		jsr	resload_DiskLoad(a2)
    
    		move.w	#$602a,$54(a3)		;skip OS part (chipmem size check)
    		move.w	#$6042,$f8(a3)		;skip ext drive check
    		move.b	#$60,$158(a3)		;skip caar/cacr modify
    		lea	_trackloader(pc),a0
    		move.l	a0,$c6(a3)
    
    		moveq	#8,d0
    		swap	d0
    		move.l	d0,$104.w		;loc mem - $80000
    		neg.l	d0
    		move.l	d0,$100.w		;ext mem - $80000
    
    		lea	Tags(pc),a0
    		jsr	resload_Control(a2)
    
    		move.w	_attn(pc),$108.w	;attn flags
    
    		jmp	$42(a3)
    
    ;-------------------------------
    
    Tags		dc.l	WHDLTAG_ATTNFLAGS_GET
    		dc.w	0
    _attn		dc.w	0
    Null		dc.l	0
    
    ;--------------------------------
    
    _hiddenpart	moveq	#0,d0			;offset
    		moveq	#$4,d1
    		lsl.w	#8,d1			;size
    		moveq	#2,d2			;disk
    		lea	$1000.w,a0
    		move.l	_resload(pc),a2
    		jsr	resload_DiskLoad(a2)
    
    		lea	_disknum(pc),a0		;now we use disk 2 :)
    		move.w	#2,(a0)
    
    		patch	$1176.w,_load(pc)
    		jmp	$100c.w
    
    _disknum	dc.w	1
    
    ;--------------------------------
    
    _trackloader
    		bsr.b	_load
    		rte
    
    _load		movem.l	d0-d4/a1/a3,-(a7)
    
    		mulu.w	#$200,d0
    		mulu.w	#$200,d1
    		move.l	a0,d3
    		move.l	d0,d4
    		add.l	d1,d3
    
    		moveq	#0,d2			;disk
    		move.w	_disknum(pc),d2		;disk
    
    		move.l	(_resload,pc),a3
    		jsr	(resload_DiskLoad,a3)
    		
    		cmp.l	#$b4200,d4
    		bne.w	_trynext
    
    		move.w	#$e540,$2669e		;illegal access removal
    		move.l	#$47f30014,$266a0	;a3:=a3+d0+$14 instead of a3:=a3+d0 
    
    _trynext	cmp.l	#$a1800,d4
    		bne.b	_exitloader
    
    		patch	$605cc,_load(pc)
    		move.b	#$60,$60558		;skip disk inserted check (interrupt's subr)
    		move.w	#$4e75,$604c8		;skip disk inserted check
    
    		lea	_disknum(pc),a0		;now we use disk 2...
    		move.w	#2,(a0)
    
    _exitloader	move.l	d3,a0
    
    		movem.l	(a7)+,d0-d4/a1/a3
    		rts
    
    ;--------------------------------
    
    _resload	dc.l	0			;address of resident loader
    
    ;--------------------------------
    
    _exit		pea	[TDREASON_OK].w
    		bra	_end
    _debug		pea	[TDREASON_DEBUG].w
    _end		move.l	_resload(pc),-(a7)
    		add.l	#resload_Abort,(a7)
    		rts
    
    ;======================================================================
    
    	INCDIR	Sources:whdload/
    ;	INCLUDE	keyboard.s
    ;	INCLUDE	stfix.s
    
    ;======================================================================
    
    	END
    
    ? file icon DesertDream_orig.S (3,652 bytes) 2011-10-27 00:05 +

-Relationships
+Relationships

-Notes

note ~0001186

StingRay (developer)

I know about all the timing problems, I'll try do a new slave when I have some time.

note ~0002498

Blackwine (developer)

Original slave source code posted.

note ~0005950

StingRay (developer)

Patch redone and all timing problems fixed.

note ~0006262

Retroplay (reporter)

Works 100% now, thanks Sting.
+Notes

-Issue History
Date Modified Username Field Change
2009-06-09 18:56 Retroplay New Issue
2009-06-09 18:56 Retroplay Machine => A1200
2009-06-09 18:56 Retroplay CPU => 68EC020
2009-06-09 18:56 Retroplay CPUSpeed => 14
2009-06-09 18:56 Retroplay ChipSet => AGA
2009-06-09 18:56 Retroplay GFXCard => None
2009-06-09 18:56 Retroplay ChipMem => 2 MB
2009-06-09 18:56 Retroplay FastMem => 4 MB
2009-06-09 18:56 Retroplay Workbench => OS 3.1
2009-06-09 18:56 Retroplay KickROM => 39 - Kick 3.0
2009-06-09 18:56 Retroplay KickSoft => None
2009-06-09 18:56 Retroplay WHDLoad => 16.9
2009-06-10 23:21 StingRay Status new => assigned
2009-06-10 23:21 StingRay Assigned To => StingRay
2009-06-10 23:23 StingRay Note Added: 0001186
2009-06-10 23:23 StingRay Status assigned => confirmed
2009-06-12 23:13 Wepl Project WHDLoad Installs Demos => Kefrens_DesertDream
2011-10-27 00:05 Blackwine File Added: DesertDream_orig.S
2011-10-27 00:07 Blackwine Note Added: 0002498
2017-12-20 20:53 StingRay Status confirmed => resolved
2017-12-20 20:53 StingRay Resolution open => fixed
2017-12-20 20:53 StingRay Note Added: 0005950
2018-06-21 14:23 Retroplay Status resolved => closed
2018-06-21 14:23 Retroplay Note Added: 0006262
+Issue History