Thread: BS1 intro
View Single Post
Old 09 January 2013, 20:13   #2
Registered User
Join Date: Aug 2004
Posts: 2,959
The bootblock code looks like this:
	dl	('DOS'<<8)
	dl	$33164C37
	dl	880

	MOVEM.L	D0-D7/A0-A6,-(SP)
	MOVEA.L	(4).L,A6
	MOVE.L	#$10000,(IO_DATA,A1)
	MOVE.L	#$16A00,(IO_LENGTH,A1)
	MOVE.L	#$76800,(IO_OFFSET,A1)
	LEA	($10000).L,A0
	MOVE.L	#$16A00,D0
NotLoop	NOT.B	(A0)+
	DBRA	D0,NotLoop

	JMP	($10008).L

	dcb.l	$EC,0
That loads the $16A00 bytes at trackdisk offset $76800 to address $10000. Then there's a broken decoding loop where it NOTs the first $6A01 bytes, leaving the last $FFFF bytes un-decoded. But I don't think the rest of the data was encoded in the first place. Then it jumps to $10008, i.e. offset 8 in the just-loaded code.

The decoded data is attached if anyone else wants to take a look. I'm guessing you could probably turn that into an executable pretty easily using an absolute-position cruncher.

The decoded data looks to be crunched, hence the black & white display before the intro starts. I'll take a look and see if I can decrunch that data.
Attached Files
File Type: zip (83.1 KB, 87 views)
mark_k is offline  
Page generated in 0.04024 seconds with 11 queries