scene.org File Archive

File download

<root>­/­mirrors­/­amigascne­/­Scrollers­/­C-Groupstext­/­Cave/STC300.txt

File size:
4 480 bytes (4.38K)
File date:
2024-09-05 01:09:58
Download count:
all-time: 5

Preview

Original $00000 of $00000 - Crunched $00000



con:100/16/430/174/STONE CRACKER v3.00


-=> STONE CRACKER v3.00 - Private <=-

(c) 1991 by Mr.Spiv of Cave

Type '*q' anytime to exit
or '*h' for quick help.
Select defaults with enter.




 Are you kidding? You better play only games.

 Locate your program here.
 Def: Fix address (if you have used fixing)

 Atleast the size of your program (in kilobytes).

 Search equalities within this area.
 Def: 2 (=2048 bytes)

 After decrunching jump here.
 Def: Start address

 Def: Y=yes

 After decrunching locate SSP here.

 After decrunching locate USP here.

 N=normal decrunher and K=kill system decrunher
 which turns of Amiga's OS.
 Def: N=normal

 Define all bits of SR like condition codes,
 interrupt mask, state etc.
 Def: $2700

 Define interrupt enable bits.
 Def: $7fff

 Define audio,disk,control bits.
 Def: $7fff

 Define Dma enable bits.
 Def: $7fff

 Locate decruncher here before decrunching. No
 stacks used while decrunching. memory needed
 #244 ($f4) bytes.
 Def: $100

 Save again? If so we return to 'Save executable or
 data' question.
 Def: Y=yes

 Save crunched file as executable program or as
 data (without decruncher).
 Def: E=executable

 Confirm values you gave for decruncher.
 Def: Y=yes

 It's possible to save decruncher source code
 for Stc v3.00 algorithm.
 Def: N=no

 Don't care. Just press enter.
 Def: #126 bytes

 Normal executable programs can be fixed into
 absolute address.
 Def: No fixing

 To prevent uncrunched data overlap sourcedata.
 Should be a bit lower than Start address.
 Def: Start address

 Start memory address: $
 Buffer size (Kb): #
 File to load: 
 Efficiency (0->5)
   0=#512 bytes
   1=#1024 bytes
  >2=#2048 bytes
   3=#4096 bytes
   4=#8192 bytes
   5=#16384 bytes
 : 
 Jump address: $
 File to save: 
 Crunch more? (Y/n): 
 Supervisor stack (SSP): $
 User stack (USP): $
 Decruncher type (N/k)
   n=normal decruncher
   k=kill system decruncher
 : 
 Status register (SR): $
 Int ena ($dff09a): $
 Adk con ($dff09e): $
 Dma con ($dff096): $
 Decruncher address: $
 Save again? (Y/n): 
 Save Executable or Data? (E/d): 
 Values ok? (Y/n): 

 Save decruncher source code? (y/N): 
 Max equal lenght (bytes): #
 File seems to be relocatible!
 Fix address: $
 Low memory address: $
 Error while loading the file!

 Error while saving the file!

 Not enough memory for the buffer!
 Get a memory expansion!!

 You must be kidding!

 File too big for the buffer!

 Crunching failed or aborted!!


 Can't perform the relocation! Buffer too small!

 Can't relocate! Unknown hunk type!

 bytes

 kilobytes

 File lenght: #                   Crunched lenght: #                   Bytes won: #                    Maximum buffer size: #                       Relocation completed!


 Finish all disk activity because the
 system will be shut during crunching!
 Press <enter> to continue.
 Both mousebuttons to abort crunching!



 Mr.Spiv/CAVE 
S300



dest=		$40000

j		lea	dest,a4
		lea	source,a3
		cmp.l	#"S300",(a3)
		bne	error
		lea	$dff180,a2
		lea	16(a3),a5
		move.l	a4,a0
		add.l	8(a3),a0
		add.l	12(a3),a5
		moveq	#127,d3
		moveq	#0,d4
		moveq	#3,d5
		moveq	#7,d6
		move.b	7(a3),d4
		lea	stc14(pc),a1
		move.l	-(a5),d7
stc1		lsr.l	#1,d7
		bne.s	stc2
		move.l	-(a5),d7
		roxr.l	#1,d7
stc2		bcc.s	stc7
		moveq	#1,d2
stc3		moveq	#2,d1
		jsr	(a1)
		add.l	d0,d2
		cmp	d6,d0
		beq.s	stc3
stc4		moveq	#7,d1
stc5		lsr.l	#1,d7
		bne.s	stc6
		move.l	-(a5),d7
		move	d7,(a2)
		roxr.l	#1,d7
stc6		roxr.b	#1,d0
		dbf	d1,stc5
		move.b	d0,-(a0)
		subq.l	#1,d2
		bne.s	stc4
		bra.s	stc13
stc7		moveq	#1,d1
		jsr	(a1)
		moveq	#0,d1
		move.l	d0,d2
		move.b	4(a3,d0.w),d1
		cmp	d5,d0
		bne.s	stc11
		lsr.l	#1,d7
		bne.s	stc8
		move.l	-(a5),d7
		roxr.l	#1,d7
stc8		bcs.s	stc10
stc9		moveq	#6,d1
		jsr	(a1)
		add.l	d0,d2
		cmp	d3,d0
		beq.s	stc9
		move	d4,d1
		bra.s	stc11
stc10		moveq	#2,d1
		jsr	(a1)
		add.l	d0,d2
		cmp	d6,d0
		beq.s	stc10
		moveq	#7,d1
stc11		addq.l	#1,d2
		jsr	(a1)
stc12		move.b	(a0,d0.w),-(a0)
		subq.l	#1,d2
		bpl.s	stc12
stc13		cmp.l	a0,a4
		blo.s	stc1
error		rts
stc14		moveq	#0,d0
stc15		lsr.l	#1,d7
		bne.s	stc16
		move.l	-(a5),d7
		move	d7,(a2)
		roxr.l	#1,d7
stc16		addx.l	d0,d0
		dbf	d1,stc15
		rts

source		;incbin	data