View Issue Details

IDProjectCategoryView StatusLast Update
05169Spaceballs_9fingersGeneralpublic2021-04-27 19:21
Reporterdarkpand Assigned ToStingRay  
PrioritynormalSeverityblockReproducibilityalways
Status assignedResolutionopen 
Project Info9 fingers (Spaceballs)
http://www.whdload.de/demos/Spaceballs_9fingers.html
Summary05169: 9Fingers hangs at startup
DescriptionHi, i installed 9fingers using the adf files from tosec, here the sha1:
567206f0e49ebd11a03ed6ce3691d01a455d5790 9 Fingers (1993-12-29)(Spaceballs)(Disk 1 of 2)[TP3#4].adf
52d914a1ccf191a453abef0712574d89c64d8f97 9 Fingers (1993-12-29)(Spaceballs)(Disk 2 of 2)[TP3#4].adf
i have an A600 with kickstart 40.63 with only a 4mb fastram expansion (the one from sukkopera).
When i start whdload, the screen goes black and it stays this way indefinitely, and F10 doesn't work, i have to reboot.
The demo works correctly when run from floppy (well, from a gotek).
I tried also with NoCache, PAL, NoAutoVec, and at last NoResInt, but to no avail.


TagsNo tags attached.
Attached Files
9finger.slave (796 bytes)
9finger.asm (4,853 bytes)   
;*---------------------------------------------------------------------------
;  :Program.	9finger.asm
;  :Contents.	Slave for "9 finger's" from Spaceballs
;  :Author.	WEPL
;  :Version.	$Id: 9finger.asm 1.3 2003/10/14 15:56:02 wepl Exp wepl $
;  :History.	13.11.96 - 24.11.96
;		28.11.96 trackloader delay changed ('60)
;		16.06.97 soundtracker playback fixed
;			 slave version 2
;		21.06.97 rts on stfix added
;		24.06.97 keyboard routine fixed
;		15.08.97 update for key managment
;		30.08.97 keyboard external
;		23.08.99 reworked for whdload v10, interlace bug fixed
;		14.10.03 loading delay changed/rewritten for NTSC display
;			 sprite bug removed
;  :Requires.	-
;  :Copyright.	Public Domain
;  :Language.	68000 Assembler
;  :Translator.	Barfly V2.9
;  :To Do.
;---------------------------------------------------------------------------*

	INCDIR	Includes:
	INCLUDE	whdload.i
	INCLUDE	whdmacros.i

	OUTPUT	"dwart:spaceballs/9 fingers/9finger.slave"
	BOPT	O+				;enable optimizing
	BOPT	OG+				;enable optimizing
	BOPT	ODd-				;disable mul optimizing
	BOPT	ODe-				;disable mul optimizing
	BOPT	w4-				;disable 64k warnings
	SUPER

	STRUCTURE globals,$100
		LONG	_resload
		WORD	_disk

;======================================================================

_base		SLAVE_HEADER			;ws_Security + ws_ID
		dc.w	10			;ws_Version
		dc.w	WHDLF_Disk|WHDLF_NoError ;ws_flags
		dc.l	$fb000			;ws_BaseMemSize
		dc.l	$400			;ws_ExecInstall
		dc.w	_start-_base		;ws_GameLoader
		dc.w	0			;ws_CurrentDir
		dc.w	0			;ws_DontCache
_keydebug	dc.b	0			;ws_keydebug
_keyexit	dc.b	$59			;ws_keyexit = F10
_expmem		dc.l	$4b000			;ws_ExpMem
		dc.w	_name-_base		;ws_name
		dc.w	_copy-_base		;ws_copy
		dc.w	_info-_base		;ws_info

;============================================================================

	IFND	.passchk
	DOSCMD	"WDate  >T:date"
.passchk
	ENDC

_name		dc.b	"9 fingers",0
_copy		dc.b	"1990 Spaceballs",0
_info		dc.b	"Installed by Wepl",10
		dc.b	"Version 1.3 "
		INCBIN	"T:date"
		dc.b	0
	EVEN

;============================================================================
_start	;	A0 = resident loader
;============================================================================

		move.l	a0,(_resload)		;save for later use
		move.l	a0,a2			;a2 = _resload
_restart2	move.w	#1,(_disk)		;actual disk number

	;enable caches
		move.l	#WCPUF_Base_WT!WCPUF_Exp_WT!WCPUF_Slave_CB!WCPUF_IC!WCPUF_DC!WCPUF_NWA!WCPUF_SB!WCPUF_BC!WCPUF_SS,d0
		move.l	#WCPUF_All,d1
		jsr	(resload_SetCPU,a2)
		
	;install keyboard quitter
		bsr	_SetupKeyboard

	;load main
		lea	$80000,a6		;a6 = exp mem

		move.l	#$1600,d0		;offset
		move.l	#$1600*16,d1		;length
		moveq	#1,d2			;disk
		move.l	a6,a0			;destination
		jsr	(resload_DiskLoad,a2)
		
		lea	(-16,a6),a0
		move.l	a6,(a0)+		;exp mem
		clr.l	(a0)+			;???
		move.w	#-1,(a0)+		;???

		jsr	(8,a6)			;decrunch

		lea	$2000,a6		;a6 = main
		lea	(-$200,a6),a7
		move.l	a7,a0
.clr		clr.l	(a0)+
		cmp.l	a0,a6
		bne	.clr

	;fix soundtracker playback
		move.l	a6,a0
		move.l	a6,a1
		add.l	#$1600*16,a1
		bsr	_dbffix

		and.w	#~INTF_PORTS,$38b6(a6)	;preserve int on

		patch	$5f8(a6),_trackload	;loader
		patch	$4f2(a6),_disk2		;disk 2 check and wait
		patch	$430(a6),_restart
		patchs	$1c2(a6),_iwait		;interlace lof wait

	;remove writing to sprite registers
		moveq	#15,d0
		lea	$2000+$db46,a0
.spr		move.l	#$1fe<<16,(a0)+
		dbf	d0,.spr
		

	;disable caches
		move.l	#WCPUF_Base_NCS!WCPUF_Exp_NCS!WCPUF_Slave_NCS!WCPUF_IC!WCPUF_DC,d0
		move.l	#WCPUF_All,d1
		jsr	(resload_SetCPU,a2)

		jmp	(a6)

;---------------

_iwait		bsr	_waitvb
		addq.l	#2,(a7)
		btst	#7,$dff004		;original
		rts

;---------------

_restart	move.w	#$7fff-INTF_PORTS,_custom+intena
		move.w	#4*50,d0		;wait n secs
.wait		bsr	_waitvb
		dbf	d0,.wait
		move.l	(_resload),a2
		bra	_restart2

;---------------

_disk2		addq.w	#1,(_disk)
		rts

;---------------
;	d0 = starttrack
;	d1 = amount tracks
;	a0 = address

_trackload	mulu	#11*512,d0		;offset
		mulu	#11*512,d1		;size
		move.w	(_disk),d2
		move.l	d1,d3			;D3 = size
		move.l	(_resload),a1
		move.l	a0,a2			;A2 = destination

		cmp.l	#200000,d1
		blo	.nodelay

		move.l	(_expmem),a0		;destination
		jsr	(resload_DiskLoad,a1)

		move.l	(_expmem),a0		;A0 = source

.loop		moveq	#10,d0
.wait		bsr	_waitvb
		dbf	d0,.wait

		move.w	#$1600/4-1,d0
.copy		move.l	(a0)+,(a2)+
		dbf	d0,.copy

		sub.l	#$1600,d3
		bhi	.loop

		rts

.nodelay	jmp	(resload_DiskLoad,a1)

;--------------------------------

_waitvb		waitvb
		rts

;--------------------------------

_exit		pea	TDREASON_OK.w
		bra	_end
_debug		pea	TDREASON_DEBUG.w
_end		move.l	(_resload),-(a7)
		add.l	#resload_Abort,(a7)
		rts

;======================================================================

	INCDIR	Sources:whdload
	INCLUDE	keyboard.s
	INCLUDE	dbffix.s

;======================================================================

	END

9finger.asm (4,853 bytes)   
9Fingers_V13.slave (932 bytes)
MachineA600
CPU68000
CPUSpeed7
ChipSetECS
GFXCardNone
ChipMem1 MB
FastMem4 MB
WorkbenchOS 3.1
KickROM40 - Kick 3.1
KickSoftNone
WHDLoad18.6
imported

Activities

StingRay

StingRay

2021-04-27 00:10

developer   note ~10113

@Wepl: please move to demos/9 Fingers.

If you don't have time to work on this issue, you can assign it to me, I'll have a look then assuming you can provide the slave source.
Wepl

Wepl

2021-04-27 00:46

manager   note ~10114

You may try the attached slave, don't remember why this one has never been released.
@StingRay: source attached, feel free to fix :)
StingRay

StingRay

2021-04-27 01:11

developer   note ~10116

Thanks for the source, I'll take care of this issue.:)
StingRay

StingRay

2021-04-27 10:54

developer   note ~10117

Last edited: 2021-04-27 10:54

Please try the attached 9Fingers_V13.slave and report if you still get the black screen with that one. Should you receive an "unsupported version" error message from WHDLoad, please attach the disk images you're using.

For reference, following changes have been done:
- version check added
- FMODE and BPLCON3 accesses disabled
- BLTCON0 settings fixed in all line drawing routines
- chip memory requirements changed to 512k, fast memory requirements changed to 900k
- year of release corrected (1990 -> 1993) :)

darkpand

darkpand

2021-04-27 15:51

reporter   note ~10120

Hi,
whdload took a couple of seconds more to load (because of the preload), went to a black screen and soon gave the "unsupported version/damaged disk" error.
I attached here the memory dump, i cannot attach the disk images (they are bigger than 150k), here they are:
https://rapidshare.io/1jsR/9fingers.zip

But they are the ones from a recent tosec, you can find the sha1 in this bug report.
9fingers_dump.lha (67,623 bytes)
StingRay

StingRay

2021-04-27 16:39

developer   note ~10121

I've compared the disk images, that's exactly the same version I've been using to update the patch. If you get a "unsupported version" message, you either have a file system problem or did not extract the disk images correctly.

Try extracting the disk images to RAM: and start the patch then. You should not get any error message and the patch should work. If that is the case, you need to check your MaxTransfer settings!
darkpand

darkpand

2021-04-27 19:21

reporter   note ~10122

oops! Sorry.
I fixed my maxtransfer on the cf card and now works flawlessly. The strange thing is that i tried installing on the ramdisk and it stuttered a little, on the cf card works perfectly.
Thanks!

Issue History

Date Modified Username Field Change
2021-04-26 21:03 darkpand New Issue
2021-04-27 00:10 StingRay Note Added: 0010113
2021-04-27 00:40 Wepl Project WHDLoad Installs Demos => Spaceballs_9fingers
2021-04-27 00:44 Wepl File Added: 9finger.slave
2021-04-27 00:44 Wepl File Added: 9finger.asm
2021-04-27 00:46 Wepl Note Added: 0010114
2021-04-27 01:11 StingRay Note Added: 0010116
2021-04-27 01:11 StingRay Assigned To => StingRay
2021-04-27 01:11 StingRay Status new => assigned
2021-04-27 10:48 StingRay File Added: 9Fingers_V13.slave
2021-04-27 10:54 StingRay Note Added: 0010117
2021-04-27 10:54 StingRay Note Edited: 0010117
2021-04-27 15:51 darkpand File Added: 9fingers_dump.lha
2021-04-27 15:51 darkpand Note Added: 0010120
2021-04-27 16:39 StingRay Note Added: 0010121
2021-04-27 19:21 darkpand Note Added: 0010122