		org	$8000

**************************************************************
******* Enable the RESET Switch at your SNES (c) FWS *********
**************************************************************

		lda	$100
		cmp	#$21		;is "!"
		bne	endresetrout
		ldx	#$00
copy:		lda	resetroutine,x
		sta	$80,x
		inx
		cpx	#$F
		bne	copy
		jmp	$80
resetroutine:	lda	#$00		; No 65C16 commands here!!!
		sta	$100		; set " "
		lda	#$ff
		sta	$E004		; Reset SuperWildCard ROM
		jmp	$8000
endresetrout:	lda	#$21
		sta	$100		; set "!"

**************************************************************
******* MAIN CODE BY PENTAGON IN X-MAS 1994 ******************
**************************************************************

		sei			; Stop interrupts
		phk			; Store current bank to stack
		plb			; Make stack programming bank
		clc			; Clear carry bit
		xce			; 16 bit mode

**************************************************************
********** Init-SNES V1.0 (c) 1994 by PENTAGON ***************
**************************************************************

		sep	#$30		; a,x,y -> 8 Bit
		lda	#$8F
		sta	$2100
		stz	$2101
		stz	$2102
		stz	$2103
		stz	$2105
		stz	$2106
		stz	$2107
		stz	$2108
		stz	$2109
		stz	$210A
		stz	$210B
		stz	$210C
		stz	$210D
		stz	$210D
		stz	$210E
		stz	$210E
		stz	$210F
		stz	$210F
		stz	$2110
		stz	$2110
		stz	$2111
		stz	$2111
		stz	$2112
		stz	$2112
		stz	$2113
		stz	$2113
		stz	$2114
		stz	$2114
		lda	#$80
		sta	$2115
		stz	$2116
		stz	$2117
		stz	$211A
		lda	#$01
		stz	$211B
		sta	$211B
		stz	$211C
		stz	$211C
		stz	$211D
		stz	$211D
		stz	$211E
		sta	$211E
		stz	$211F
		stz	$211F
		stz	$2120
		stz	$2120
		stz	$2121
		stz	$2123
		stz	$2124
		stz	$2125
		stz	$2126
		stz	$2127
		stz	$2128
		stz	$2129
		stz	$212A
		stz	$212B
		stz	$212C
		stz	$212D
		stz	$212E
		lda	#$30
		sta	$2130
		stz	$2131
		lda	#$E0
		sta	$2132
		stz	$2133
		stz	$4200
		lda	#$FF
		sta	$4201
		stz	$4202
		stz	$4203
		stz	$4204
		stz	$4205
		stz	$4206
		stz	$4207
		stz	$4208
		stz	$4209
		stz	$420A
		stz	$420B
		stz	$420C
		stz	$420D

		rep	#$10		; x,y -> 16 Bit

		stz	$2121

; Let the DMA copy the Palette

		ldx	#$2200
		stx	$4300
		ldx	#Palette
		stx	$4302
		lda	#$00
		sta	$4304
		ldx	#$04
		stx	$4305
		lda	#$01
		sta	$420B

; Init VRAM...

		lda	#$30		; Screen to $3000
		sta	$2107
		lda	#$02		; Font to $2000
		sta	$210B
		lda	#$00		; BG Mode 0
		sta	$2105
		lda	#$01		; Just 1 bitplane
		sta	$212C

		ldx	#$2000
		stx	$2116		; VRam at $2000

		ldx	#$0000
CopyFont:	lda	Font,x
		sta	$2118
		stz	$2119
		inx
		cpx	#$0200
		bne	CopyFont

		ldx	#$3000
		stx	$2116		; VRam at $3000

		ldx	#$0000
TransText:	lda	Text,x
		and	#$3F
		sta	$2118
		stz	$2119
		inx
		cpx	#$0400
		bne	TransText

		lda	#$0F
		sta	$2100
		cli			; Clear interrupt bit
Loop:		lda	$4210		; Check VBlank
		and	#$80
		beq	Loop		; ...if no jump to loop
		jmp	Loop		; ...jump to loop

Palette:	dc.b	$00,$00,$E5,$66

;			;12345678901234567890123456789012
TEXT:		dc.b	"          HELLO, HELLO          "
		dc.b	"   HERE IS PENTAGON WITH HIS    "
		dc.b	"   FIRST SNES-CODE... IT IS     "
		dc.b	"    JUST A LITTLE TEXT INTRO    "
		dc.b	"   BUT STILL NICE IT WAS DONE   "
		dc.b	"     AT 28-12-94. IT WAS        "
		dc.b	"    ASSEMBLED WITH MY OWN       "
		dc.b	"   ASSEMBLER CALLED HYPER-ASS   "
		dc.b	"     IT IS THE SLOWEST ASS      "
		dc.b	"    I HAVE EVER SEEN BUT IT     "
		dc.b	"      WORKS (NEARLY...)         "
		dc.b	"                                "
		dc.b	"   BUT NOW SOME GREETINGS TO    "
		dc.b	"     2FAST KNUCKLES SONIC       "
		dc.b	"   TEASY T.S.I BOBBY SKAR BULF  "
		dc.b	"    CONCH KREATOR KATOR         "
		dc.b	"     DOMI ANDY MAD-MAX AND      "
		dc.b	"   TO ALL THE OTHERS I HAVE     "
		dc.b	"        FORGOTTEN...            "
		dc.b	"                                "
		dc.b	"    MORAL THANKS TO FWS         "
		dc.b	"      (NICE SASM ASK=ALL)       "
		dc.b	"     NINTENDO (YOUR MANUAL IS   "
		dc.b	"           PURE SHIT            "
		dc.b	"        BUT IT WORKS...)        "
		dc.b	"                                "
		dc.b	"   P.S. AVANTGARDE RULEZ        "
		dc.b	"  (RESET BUTTON IS ACTIVE...)   "
		dc.b	"                                "

;============================================================================
;= Cyber Font-Editor V1.4  Rel. by Frantic (c) 1991-1992 Sanity Productions =
;============================================================================
Font:		dc.b	$55,$aa,$55,$aa,$55,$aa,$55,$aa	;'@'
		dc.b	$00,$3c,$66,$7e,$66,$66,$66,$00	;'A'
		dc.b	$00,$7c,$66,$7c,$66,$66,$7c,$00	;'B'
		dc.b	$00,$3c,$66,$60,$60,$66,$3c,$00	;'C'
		dc.b	$00,$78,$6c,$66,$66,$6c,$78,$00	;'D'
		dc.b	$00,$7e,$60,$78,$60,$60,$7e,$00	;'E'
		dc.b	$00,$7e,$60,$78,$60,$60,$60,$00	;'F'
		dc.b	$00,$3c,$66,$60,$6e,$66,$3c,$00	;'G'
		dc.b	$00,$66,$66,$7e,$66,$66,$66,$00	;'H'
		dc.b	$00,$3c,$18,$18,$18,$18,$3c,$00	;'I'
		dc.b	$00,$1e,$0c,$0c,$0c,$6c,$38,$00	;'J'
		dc.b	$00,$6c,$78,$70,$78,$6c,$66,$00	;'K'
		dc.b	$00,$60,$60,$60,$60,$60,$7e,$00	;'L'
		dc.b	$00,$63,$77,$7f,$6b,$63,$63,$00	;'M'
		dc.b	$00,$66,$76,$7e,$7e,$6e,$66,$00	;'N'
		dc.b	$00,$3c,$66,$66,$66,$66,$3c,$00	;'O'
		dc.b	$00,$7c,$66,$66,$7c,$60,$60,$00	;'P'
		dc.b	$00,$3c,$66,$66,$66,$3c,$0e,$00	;'Q'
		dc.b	$00,$7c,$66,$66,$7c,$6c,$66,$00	;'R'
		dc.b	$00,$3e,$60,$3c,$06,$66,$3c,$00	;'S'
		dc.b	$00,$7e,$18,$18,$18,$18,$18,$00	;'T'
		dc.b	$00,$66,$66,$66,$66,$66,$3c,$00	;'U'
		dc.b	$00,$66,$66,$66,$66,$3c,$18,$00	;'V'
		dc.b	$00,$63,$63,$6b,$7f,$77,$63,$00	;'W'
		dc.b	$00,$66,$3c,$18,$3c,$66,$66,$00	;'X'
		dc.b	$00,$66,$66,$3c,$18,$18,$18,$00	;'Y'
		dc.b	$00,$7e,$0c,$18,$30,$60,$7e,$00	;'Z'
		dc.b	$00,$3c,$30,$30,$30,$30,$3c,$00	;'['
		dc.b	$c0,$60,$30,$18,$0c,$06,$03,$00	;'|'
		dc.b	$00,$3c,$0c,$0c,$0c,$0c,$3c,$00	;']'
		dc.b	$10,$38,$6c,$c6,$00,$00,$00,$00	;'^'
		dc.b	$00,$00,$00,$00,$00,$00,$00,$fe	;'_'
		dc.b	$00,$00,$00,$00,$00,$00,$00,$00	;' '
		dc.b	$00,$18,$18,$18,$00,$00,$18,$00	;'!'
		dc.b	$00,$66,$66,$00,$00,$00,$00,$00	;'"'
		dc.b	$00,$66,$ff,$66,$ff,$66,$00,$00	;'#'
		dc.b	$00,$08,$1c,$28,$28,$1c,$08,$00	;'$'
		dc.b	$00,$64,$6c,$18,$30,$6c,$4c,$00	;'%'
		dc.b	$00,$00,$18,$18,$7e,$18,$18,$00	;'&'
		dc.b	$00,$0c,$18,$00,$00,$00,$00,$00	;'''
		dc.b	$00,$18,$30,$30,$30,$18,$0c,$00	;'('
		dc.b	$00,$18,$0c,$0c,$0c,$18,$30,$00	;')'
		dc.b	$00,$66,$3c,$ff,$3c,$66,$00,$00	;'*'
		dc.b	$00,$18,$18,$7e,$18,$18,$00,$00	;'+'
		dc.b	$00,$00,$00,$00,$00,$18,$18,$30	;','
		dc.b	$00,$00,$00,$fe,$00,$00,$00,$00	;'-'
		dc.b	$00,$00,$00,$00,$00,$18,$18,$00	;'.'
		dc.b	$03,$06,$0c,$18,$30,$60,$c0,$00	;'/'
		dc.b	$00,$3c,$66,$6e,$76,$66,$3c,$00	;'0'
		dc.b	$00,$18,$38,$18,$18,$18,$7e,$00	;'1'
		dc.b	$00,$7c,$06,$0c,$30,$60,$7e,$00	;'2'
		dc.b	$00,$7e,$06,$1c,$06,$66,$3c,$00	;'3'
		dc.b	$00,$0e,$1e,$36,$7f,$06,$06,$00	;'4'
		dc.b	$00,$7e,$60,$7c,$06,$66,$3c,$00	;'5'
		dc.b	$00,$3e,$60,$7c,$66,$66,$3c,$00	;'6'
		dc.b	$00,$7e,$06,$0c,$0c,$0c,$0c,$00	;'7'
		dc.b	$00,$3c,$66,$3c,$66,$66,$3c,$00	;'8'
		dc.b	$00,$3c,$66,$3e,$06,$66,$3c,$00	;'9'
		dc.b	$00,$00,$18,$00,$00,$18,$00,$00	;':'
		dc.b	$00,$00,$18,$00,$00,$18,$18,$30	;';'
		dc.b	$18,$18,$18,$18,$18,$18,$18,$00	;'<'
		dc.b	$00,$00,$7e,$00,$7e,$00,$00,$00	;'='
		dc.b	$18,$18,$0c,$0c,$0c,$0c,$18,$18	;'>'
		dc.b	$00,$7c,$06,$0c,$18,$00,$18,$00	;'?'

		org	$FFFC		; Reset vector
		dc.b	$00,$80		; -> $8000
