home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Console / SNESHYPERASSEMBBLER.DMS / in.adf / SNASM / FIRST.S < prev    next >
Encoding:
Text File  |  1994-12-28  |  7.1 KB  |  284 lines

  1.         org    $8000
  2.  
  3. **************************************************************
  4. ******* Enable the RESET Switch at your SNES (c) FWS *********
  5. **************************************************************
  6.  
  7.         lda    $100
  8.         cmp    #$21        ;is "!"
  9.         bne    endresetrout
  10.         ldx    #$00
  11. copy:        lda    resetroutine,x
  12.         sta    $80,x
  13.         inx
  14.         cpx    #$F
  15.         bne    copy
  16.         jmp    $80
  17. resetroutine:    lda    #$00        ; No 65C16 commands here!!!
  18.         sta    $100        ; set " "
  19.         lda    #$ff
  20.         sta    $E004        ; Reset SuperWildCard ROM
  21.         jmp    $8000
  22. endresetrout:    lda    #$21
  23.         sta    $100        ; set "!"
  24.  
  25. **************************************************************
  26. ******* MAIN CODE BY PENTAGON IN X-MAS 1994 ******************
  27. **************************************************************
  28.  
  29.         sei            ; Stop interrupts
  30.         phk            ; Store current bank to stack
  31.         plb            ; Make stack programming bank
  32.         clc            ; Clear carry bit
  33.         xce            ; 16 bit mode
  34.  
  35. **************************************************************
  36. ********** Init-SNES V1.0 (c) 1994 by PENTAGON ***************
  37. **************************************************************
  38.  
  39.         sep    #$30        ; a,x,y -> 8 Bit
  40.         lda    #$8F
  41.         sta    $2100
  42.         stz    $2101
  43.         stz    $2102
  44.         stz    $2103
  45.         stz    $2105
  46.         stz    $2106
  47.         stz    $2107
  48.         stz    $2108
  49.         stz    $2109
  50.         stz    $210A
  51.         stz    $210B
  52.         stz    $210C
  53.         stz    $210D
  54.         stz    $210D
  55.         stz    $210E
  56.         stz    $210E
  57.         stz    $210F
  58.         stz    $210F
  59.         stz    $2110
  60.         stz    $2110
  61.         stz    $2111
  62.         stz    $2111
  63.         stz    $2112
  64.         stz    $2112
  65.         stz    $2113
  66.         stz    $2113
  67.         stz    $2114
  68.         stz    $2114
  69.         lda    #$80
  70.         sta    $2115
  71.         stz    $2116
  72.         stz    $2117
  73.         stz    $211A
  74.         lda    #$01
  75.         stz    $211B
  76.         sta    $211B
  77.         stz    $211C
  78.         stz    $211C
  79.         stz    $211D
  80.         stz    $211D
  81.         stz    $211E
  82.         sta    $211E
  83.         stz    $211F
  84.         stz    $211F
  85.         stz    $2120
  86.         stz    $2120
  87.         stz    $2121
  88.         stz    $2123
  89.         stz    $2124
  90.         stz    $2125
  91.         stz    $2126
  92.         stz    $2127
  93.         stz    $2128
  94.         stz    $2129
  95.         stz    $212A
  96.         stz    $212B
  97.         stz    $212C
  98.         stz    $212D
  99.         stz    $212E
  100.         lda    #$30
  101.         sta    $2130
  102.         stz    $2131
  103.         lda    #$E0
  104.         sta    $2132
  105.         stz    $2133
  106.         stz    $4200
  107.         lda    #$FF
  108.         sta    $4201
  109.         stz    $4202
  110.         stz    $4203
  111.         stz    $4204
  112.         stz    $4205
  113.         stz    $4206
  114.         stz    $4207
  115.         stz    $4208
  116.         stz    $4209
  117.         stz    $420A
  118.         stz    $420B
  119.         stz    $420C
  120.         stz    $420D
  121.  
  122.         rep    #$10        ; x,y -> 16 Bit
  123.  
  124.         stz    $2121
  125.  
  126. ; Let the DMA copy the Palette
  127.  
  128.         ldx    #$2200
  129.         stx    $4300
  130.         ldx    #Palette
  131.         stx    $4302
  132.         lda    #$00
  133.         sta    $4304
  134.         ldx    #$04
  135.         stx    $4305
  136.         lda    #$01
  137.         sta    $420B
  138.  
  139. ; Init VRAM...
  140.  
  141.         lda    #$30        ; Screen to $3000
  142.         sta    $2107
  143.         lda    #$02        ; Font to $2000
  144.         sta    $210B
  145.         lda    #$00        ; BG Mode 0
  146.         sta    $2105
  147.         lda    #$01        ; Just 1 bitplane
  148.         sta    $212C
  149.  
  150.         ldx    #$2000
  151.         stx    $2116        ; VRam at $2000
  152.  
  153.         ldx    #$0000
  154. CopyFont:    lda    Font,x
  155.         sta    $2118
  156.         stz    $2119
  157.         inx
  158.         cpx    #$0200
  159.         bne    CopyFont
  160.  
  161.         ldx    #$3000
  162.         stx    $2116        ; VRam at $3000
  163.  
  164.         ldx    #$0000
  165. TransText:    lda    Text,x
  166.         and    #$3F
  167.         sta    $2118
  168.         stz    $2119
  169.         inx
  170.         cpx    #$0400
  171.         bne    TransText
  172.  
  173.         lda    #$0F
  174.         sta    $2100
  175.         cli            ; Clear interrupt bit
  176. Loop:        lda    $4210        ; Check VBlank
  177.         and    #$80
  178.         beq    Loop        ; ...if no jump to loop
  179.         jmp    Loop        ; ...jump to loop
  180.  
  181. Palette:    dc.b    $00,$00,$E5,$66
  182.  
  183. ;            ;12345678901234567890123456789012
  184. TEXT:        dc.b    "          HELLO, HELLO          "
  185.         dc.b    "   HERE IS PENTAGON WITH HIS    "
  186.         dc.b    "   FIRST SNES-CODE... IT IS     "
  187.         dc.b    "    JUST A LITTLE TEXT INTRO    "
  188.         dc.b    "   BUT STILL NICE IT WAS DONE   "
  189.         dc.b    "     AT 28-12-94. IT WAS        "
  190.         dc.b    "    ASSEMBLED WITH MY OWN       "
  191.         dc.b    "   ASSEMBLER CALLED HYPER-ASS   "
  192.         dc.b    "     IT IS THE SLOWEST ASS      "
  193.         dc.b    "    I HAVE EVER SEEN BUT IT     "
  194.         dc.b    "      WORKS (NEARLY...)         "
  195.         dc.b    "                                "
  196.         dc.b    "   BUT NOW SOME GREETINGS TO    "
  197.         dc.b    "     2FAST KNUCKLES SONIC       "
  198.         dc.b    "   TEASY T.S.I BOBBY SKAR BULF  "
  199.         dc.b    "    CONCH KREATOR KATOR         "
  200.         dc.b    "     DOMI ANDY MAD-MAX AND      "
  201.         dc.b    "   TO ALL THE OTHERS I HAVE     "
  202.         dc.b    "        FORGOTTEN...            "
  203.         dc.b    "                                "
  204.         dc.b    "    MORAL THANKS TO FWS         "
  205.         dc.b    "      (NICE SASM ASK=ALL)       "
  206.         dc.b    "     NINTENDO (YOUR MANUAL IS   "
  207.         dc.b    "           PURE SHIT            "
  208.         dc.b    "        BUT IT WORKS...)        "
  209.         dc.b    "                                "
  210.         dc.b    "   P.S. AVANTGARDE RULEZ        "
  211.         dc.b    "  (RESET BUTTON IS ACTIVE...)   "
  212.         dc.b    "                                "
  213.  
  214. ;============================================================================
  215. ;= Cyber Font-Editor V1.4  Rel. by Frantic (c) 1991-1992 Sanity Productions =
  216. ;============================================================================
  217. Font:        dc.b    $55,$aa,$55,$aa,$55,$aa,$55,$aa    ;'@'
  218.         dc.b    $00,$3c,$66,$7e,$66,$66,$66,$00    ;'A'
  219.         dc.b    $00,$7c,$66,$7c,$66,$66,$7c,$00    ;'B'
  220.         dc.b    $00,$3c,$66,$60,$60,$66,$3c,$00    ;'C'
  221.         dc.b    $00,$78,$6c,$66,$66,$6c,$78,$00    ;'D'
  222.         dc.b    $00,$7e,$60,$78,$60,$60,$7e,$00    ;'E'
  223.         dc.b    $00,$7e,$60,$78,$60,$60,$60,$00    ;'F'
  224.         dc.b    $00,$3c,$66,$60,$6e,$66,$3c,$00    ;'G'
  225.         dc.b    $00,$66,$66,$7e,$66,$66,$66,$00    ;'H'
  226.         dc.b    $00,$3c,$18,$18,$18,$18,$3c,$00    ;'I'
  227.         dc.b    $00,$1e,$0c,$0c,$0c,$6c,$38,$00    ;'J'
  228.         dc.b    $00,$6c,$78,$70,$78,$6c,$66,$00    ;'K'
  229.         dc.b    $00,$60,$60,$60,$60,$60,$7e,$00    ;'L'
  230.         dc.b    $00,$63,$77,$7f,$6b,$63,$63,$00    ;'M'
  231.         dc.b    $00,$66,$76,$7e,$7e,$6e,$66,$00    ;'N'
  232.         dc.b    $00,$3c,$66,$66,$66,$66,$3c,$00    ;'O'
  233.         dc.b    $00,$7c,$66,$66,$7c,$60,$60,$00    ;'P'
  234.         dc.b    $00,$3c,$66,$66,$66,$3c,$0e,$00    ;'Q'
  235.         dc.b    $00,$7c,$66,$66,$7c,$6c,$66,$00    ;'R'
  236.         dc.b    $00,$3e,$60,$3c,$06,$66,$3c,$00    ;'S'
  237.         dc.b    $00,$7e,$18,$18,$18,$18,$18,$00    ;'T'
  238.         dc.b    $00,$66,$66,$66,$66,$66,$3c,$00    ;'U'
  239.         dc.b    $00,$66,$66,$66,$66,$3c,$18,$00    ;'V'
  240.         dc.b    $00,$63,$63,$6b,$7f,$77,$63,$00    ;'W'
  241.         dc.b    $00,$66,$3c,$18,$3c,$66,$66,$00    ;'X'
  242.         dc.b    $00,$66,$66,$3c,$18,$18,$18,$00    ;'Y'
  243.         dc.b    $00,$7e,$0c,$18,$30,$60,$7e,$00    ;'Z'
  244.         dc.b    $00,$3c,$30,$30,$30,$30,$3c,$00    ;'['
  245.         dc.b    $c0,$60,$30,$18,$0c,$06,$03,$00    ;'|'
  246.         dc.b    $00,$3c,$0c,$0c,$0c,$0c,$3c,$00    ;']'
  247.         dc.b    $10,$38,$6c,$c6,$00,$00,$00,$00    ;'^'
  248.         dc.b    $00,$00,$00,$00,$00,$00,$00,$fe    ;'_'
  249.         dc.b    $00,$00,$00,$00,$00,$00,$00,$00    ;' '
  250.         dc.b    $00,$18,$18,$18,$00,$00,$18,$00    ;'!'
  251.         dc.b    $00,$66,$66,$00,$00,$00,$00,$00    ;'"'
  252.         dc.b    $00,$66,$ff,$66,$ff,$66,$00,$00    ;'#'
  253.         dc.b    $00,$08,$1c,$28,$28,$1c,$08,$00    ;'$'
  254.         dc.b    $00,$64,$6c,$18,$30,$6c,$4c,$00    ;'%'
  255.         dc.b    $00,$00,$18,$18,$7e,$18,$18,$00    ;'&'
  256.         dc.b    $00,$0c,$18,$00,$00,$00,$00,$00    ;'''
  257.         dc.b    $00,$18,$30,$30,$30,$18,$0c,$00    ;'('
  258.         dc.b    $00,$18,$0c,$0c,$0c,$18,$30,$00    ;')'
  259.         dc.b    $00,$66,$3c,$ff,$3c,$66,$00,$00    ;'*'
  260.         dc.b    $00,$18,$18,$7e,$18,$18,$00,$00    ;'+'
  261.         dc.b    $00,$00,$00,$00,$00,$18,$18,$30    ;','
  262.         dc.b    $00,$00,$00,$fe,$00,$00,$00,$00    ;'-'
  263.         dc.b    $00,$00,$00,$00,$00,$18,$18,$00    ;'.'
  264.         dc.b    $03,$06,$0c,$18,$30,$60,$c0,$00    ;'/'
  265.         dc.b    $00,$3c,$66,$6e,$76,$66,$3c,$00    ;'0'
  266.         dc.b    $00,$18,$38,$18,$18,$18,$7e,$00    ;'1'
  267.         dc.b    $00,$7c,$06,$0c,$30,$60,$7e,$00    ;'2'
  268.         dc.b    $00,$7e,$06,$1c,$06,$66,$3c,$00    ;'3'
  269.         dc.b    $00,$0e,$1e,$36,$7f,$06,$06,$00    ;'4'
  270.         dc.b    $00,$7e,$60,$7c,$06,$66,$3c,$00    ;'5'
  271.         dc.b    $00,$3e,$60,$7c,$66,$66,$3c,$00    ;'6'
  272.         dc.b    $00,$7e,$06,$0c,$0c,$0c,$0c,$00    ;'7'
  273.         dc.b    $00,$3c,$66,$3c,$66,$66,$3c,$00    ;'8'
  274.         dc.b    $00,$3c,$66,$3e,$06,$66,$3c,$00    ;'9'
  275.         dc.b    $00,$00,$18,$00,$00,$18,$00,$00    ;':'
  276.         dc.b    $00,$00,$18,$00,$00,$18,$18,$30    ;';'
  277.         dc.b    $18,$18,$18,$18,$18,$18,$18,$00    ;'<'
  278.         dc.b    $00,$00,$7e,$00,$7e,$00,$00,$00    ;'='
  279.         dc.b    $18,$18,$0c,$0c,$0c,$0c,$18,$18    ;'>'
  280.         dc.b    $00,$7c,$06,$0c,$18,$00,$18,$00    ;'?'
  281.  
  282.         org    $FFFC        ; Reset vector
  283.         dc.b    $00,$80        ; -> $8000
  284.