Browse Source

Merge branch 'master' of github.com:optixx/quickdev16

optixx 7 years ago
parent
commit
9479d2b1ff

BIN
files/docs/snes/Architektur des SNES - Final.doc


+ 1 - 1
files/docs/snes/SNES.DOC → files/docs/snes/SNES Documentation v1.3

@@ -968,4 +968,4 @@ BYTE  5
 	Continue this table all the way down to sprite #127 (the 128th
 	sprite).
 	
-	Don't think you're
+	Don't think you're

BIN
files/docs/snes/SNESKART.doc


+ 0 - 35
files/docs/snes/SNESROM.PIN

@@ -1,35 +0,0 @@
-Here's the pinout to a 4Mbit/*Mbit mask Rom used in SNES carts as I've
-deduced from various specs and actual testing.
-
-1	A17   ------\__/------	+5v	32	
-2	A18   |		     |	*OE	31
-3	A15			A19	30
-4	A12			A14	29
-5	A7			A13	28
-6	A6			A8	27
-7	A5			A9	26
-8	A4			A11	25
-9	A3			A16	24
-10	A2			A10	23
-11	A1			*CE	22
-12	A0			D7	21
-13	D0			D6	20
-14	D1			D5	19
-15	D2			D4	18
-16	GND  |---------------|	D3	17
-
-The design approximates std EPROM/SRAM pinouts except for the upper address
-lines (A16-A19), and OE which sits where VPP or PRGM usually is for an EPROM.
-This pinout approximates Fujitsu's tentative mask ROM pinouts (a package
-called GAMEMEDC.ZIP seems to base itself on this and is consequently wrong). 
-Nintendo uses Fujitsu chips in some carts, but from my testing and card-edge
-pinouts provided by other users, I conclude that Fujitsu must have modified
-the designs. 
-
-NOTE!: Card-edge pin #40, address line 15 (A15) is not used by any cart I've
-seen. And ROM pin #3 (see above) that I've determined to be A15 is connected
-to card-edge pin#41, labeled on many pinouts schems as A16..not A15!!!
-Would some one please verify this inconsistency.
-
-PS: How many Megabits can the Snes address?
-

+ 0 - 0
files/docs/snes/snes_cart1.txt → files/docs/snes/Snes_cart_hacking.txt


+ 1 - 1
files/docs/snes/Sneskart.txt → files/docs/snes/Sneskart_v1.6.txt

@@ -1205,7 +1205,7 @@ consoles in general.
                                   [Image]
 
 Questions, comments or complaints can be sent to DiskDude via e-mail.
-Copyright © 1995-1996 DiskDude of Damaged Cybernetics. All rights reserved.
+Copyright © 1995-1996 DiskDude of Damaged Cybernetics. All rights reserved.
 
 Last updated 1st January 1997
 

+ 0 - 343
files/docs/snes/Snesrom.txt

@@ -1,343 +0,0 @@
-
-             ______  _____        _____    _______       ___  ___
-            /   __/ /. _  \   ___/  __/   |____   \___  /.  \/   \
-            \___ .\//  |.  \ / . \__ .\    |.    _/   \//        .\
-           /.     \\   |:  .\  __/    \\   || |  .\ !  \     \/.   \
-           \______ /___|____/____\____ /   |__|   \\___/____||:     \
-             By Mind Rape                      \___/         |______/
-             v1.5 (C) Damaged Cybernetics 1994-95
-
-
-   This document main goal is show where one can find the SNES ROM
-   information.  Most of this information was collected thru hacking
-   the rom to death and help from Norm/Yoshi/chp.
-
-   License codes are taken from SU and probably incorrect.
-
-   Source? None here, if you are going to screw with the bin,
-   you probably know what you are doing (HOPEFULLY).
-
-   If you have any questions, comments,corrections, additional information,
-   you can either find me on IRC as (MindRape) or you can send me email
-   (much prefered) mind@primenet.com.  Also if you write anything
-   interesting then send it to me!
-
-   You may distribute this document freely, but you may not change
-   the information here and redistribute.  If you use this information
-   please credit me.  You steal this information and say you did it,
-   you know it's a LIE and there you are.
-
-=[SNES ROM Makeup]===========================================================
-
-ROM Title     : 21 Bytes
-
-  * Titles are all in upper case
-  * Japanese titles are in high ascii values
-    good rule of thumb if you can't read the title and
-    it's country code is Japan and your American,
-    you probably can't play it. :>
-
-Rom Makeup    : 7654 3210
-                0000-0000
-                |__| |__|
-                |    |
-                |    |___Bank Size 0001 = HiROM   (64K Banks Mode 21)
-                |                  0000 = Low Rom (32K Banks Mode 20)
-                |
-                |________ROM Speed 0111 = Fast Rom
-                                   0000 = Slow Rom
-
-                                   * Could someone give the correct
-                                   * speeds of the ROMs?  I got
-                                   * conflicting answers.
-
-
-ROM Type      :  1 Byte
-
-  Hex   ROM Type
-  ---------------------
-   00   ROM
-   01   ROM/RAM
-   02   ROM/SRAM
-   03   ROM/DSP1
-   04   ROM/DSP1/RAM
-   05   ROM/DSP1/SRAM
-   06   FX
-
-   * SRAM = Save Ram
-   * DSP1 = Nintendo's 1st generation of DSP (Math coprocessor)
-   * FX   = RISC based math coprocessor
-            Only a couple of games support the FX Chip, Star Fox
-            is the most well known one.
-
-
-ROM Size      : 1 BYTE
-
-  Hex   Size
-  --------------
-   08    2 Mbit
-   09    4 Mbit
-   0A    8 Mbit
-   0B   16 Mbit
-   0C   32 Mbit
-
-  * As of this documentation 32MBit ROMs are the largest that
-    Nintendo currently uses.  Rumors of a 40+ kart are around,
-    but cannot be verified.
-
-  * 8MBit ROMs are the most common in the entire library of
-    SNES karts
-
-  * ROMs are always multiples 2, thus 2MBit ROMs are the smallest
-    Space Invaders (c) Taito is a 2MBit ROM (Japan only)
-
-  * Easy way to calc rom size without a lookup table
-
-      1 << (ROM_SIZE - 7) MBits
-
-      ie.   8Mbit ROMs = 0Ah = 10d
-            1 << (0A-7) = 8 Mbit
-
-SRAM Size      : 1 BYTE
-
-  Hex   Size
-  --------------
-   00   No SRAM
-   01   16 Kbit
-   02   32 Kbit
-   03   64 Kbit
-
-    * 64Kbit is the largest SRAM size that Nintendo currently uses.
-    * 256Kbit is standard for most copiers.
-
-    * Easy way to calc SRAM Size without a lookup table
-
-        1 << (3+SRAM_BYTE) Kbits
-
-        ie. 16Kbit = 01
-            1 << (3+1) = 16
-
-
-COUNTRY CODE  : 1 BYTE
-
-  Hex    Country                 Video Mode
-  ------------------------------------------
-   00    Japan                   (NTSC)
-   01    USA                     (NTSC)
-   02    Europe, Oceania, Asia    (PAL)
-   03    Sweden                   (PAL)
-   04    Finland                  (PAL)
-   05    Denmark                  (PAL)
-   06    France                   (PAL)
-   07    Holland                  (PAL)
-   08    Spain                    (PAL)
-   09    Germany, Austria, Switz  (PAL)
-   10    Italy                    (PAL)
-   11    Hong Kong, China         (PAL)
-   12    Indonesia                (PAL)
-   13    Korea                    (PAL)
-
-  * Country Codes are from SU.INI, could someone verify these?
-
-LICENSE       : 1 BYTE
-     0 <Invalid License Code>
-     1 Nintendo
-     5 Zamuse
-     8 Capcom
-     9 HOT B
-    10 Jaleco
-    11 STORM (Sales Curve) (1)
-    15 Mebio Software
-    18 Gremlin Graphics
-    21 COBRA Team
-    22 Human/Field
-    24 Hudson Soft
-    26 Yanoman
-    28 Tecmo (1)
-    30 Forum
-    31 Park Place Productions / VIRGIN
-    33 Tokai Engeneering (SUNSOFT?)
-    34 POW
-    35 Loriciel / Micro World
-    38 Enix
-    40 Kemco (1)
-    41 Seta Co.,Ltd.
-    45 Visit Co.,Ltd.
-    53 HECT
-    61 Loriciel
-    64 Seika Corp.
-    65 UBI Soft
-    71 Spectrum Holobyte
-    73 Irem
-    75 Raya Systems/Sculptured Software
-    76 Renovation Pruducts
-    77 Malibu Games (T*HQ Inc.) / Black Pearl
-    79 U.S. Gold
-    80 Absolute Entertainment
-    81 Acclaim
-    82 Activision
-    83 American Sammy
-    84 GameTek
-    85 Hi Tech
-    86 LJN Toys
-    90 Mindscape
-    93 Technos Japan Corp. (Tradewest)
-    95 American Softworks Corp.
-    96 Titus
-    97 Virgin Games
-    98 Maxis
-   103 Ocean
-   105 Electronic Arts
-   107 Laser Beam
-   110 Elite
-   111 Electro Brain
-   112 Infogrames
-   113 Interplay
-   114 LucasArts
-   115 Sculptured Soft
-   117 STORM (Sales Curve) (2)
-   120 THQ Software
-   121 Accolade Inc.
-   122 Triffix Entertainment
-   124 Microprose
-   127 Kemco (2)
-   130 Namcot/Namco Ltd. (1)
-   132 Koei/Koei! (second license?)
-   134 Tokuma Shoten Intermedia
-   136 DATAM-Polystar
-   139 Bullet-Proof Software
-   140 Vic Tokai
-   143 I'Max
-   145 CHUN Soft
-   146 Video System Co., Ltd.
-   147 BEC
-   151 Kaneco
-   153 Pack in Video
-   154 Nichibutsu
-   155 TECMO (2)
-   156 Imagineer Co.
-   160 Wolf Team
-   164 Konami
-   165 K.Amusement
-   167 Takara
-   169 Technos Jap. ????
-   170 JVC
-   172 Toei Animation
-   173 Toho
-   175 Namcot/Namco Ltd. (2)
-   177 ASCII Co. Activison
-   178 BanDai America
-   180 Enix
-   182 Halken
-   186 Culture Brain
-   187 Sunsoft
-   188 Toshiba EMI/System Vision
-   189 Sony (Japan) / Imagesoft
-   191 Sammy
-   192 Taito
-   194 Kemco (3) ????
-   195 Square
-   196 NHK
-   197 Data East
-   198 Tonkin House
-   200 KOEI
-   202 Konami USA
-   205 Meldac/KAZe
-   206 PONY CANYON
-   207 Sotsu Agency
-   209 Sofel
-   210 Quest Corp.
-   211 Sigma
-   214 Naxat
-   216 Capcom Co., Ltd. (2)
-   217 Banpresto
-   219 Hiro
-   221 NCS
-   222 Human Entertainment
-   223 Ringler Studios
-   224 K.K. DCE / Jaleco
-   226 Sotsu Agency
-   228 T&ESoft
-   229 EPOCH Co.,Ltd.
-   231 Athena
-   232 Asmik
-   233 Natsume
-   234 King/A Wave
-   235 Atlus
-   236 Sony Music
-   238 Psygnosis / igs
-   243 Beam Software
-   244 Tec Magik
-   255 Hudson Soft
-
-  * License Codes are from SU.INI, could someone verify these?
-
-  * I believe the # of licenses is low.  Is it possible that
-    License and Country codes are used in conjuction to produce
-    that many more licenses?
-
-VERSION - 1 byte
-
-  * The Version is interpeted this way.
-    1.?? - (thanks to yoshi for the correction)
-
-CHECKSUM COMPLEMENT - 2 bytes the complement of the checksum :>
-
-  The bits are reversed of the CHECKSUM
-
-CHECKSUM            - 2 bytes Checksum of the bin
-
-  * Anyone know how the checksum is calculated for the ROM?
-
-NMI/VBL Vector     - 2 bytes                            - OFFSET 81FAh  (lowrom)
-                                                          OFFSET 101FAh (hirom)
-
-RESET Vector       - 2 bytes where to start our code at - OFFSET 81FCh  (lowrom)
-                                                        - OFFSET 101FAh (hirom)
-  * 8000h is common for Low Roms
-
-=[READING THE CORRECT BIN INFORMATION]==================================
-
- The bin information can be found in 2 possible places,
-
-    a) End of the 1st 32K bank (Low ROM)  (81c0h/w 512 byte header)
-    b) End of the 1st 64K bank (HiROM)    (101c0h/w 512 byte header)
-
- You could use UCON's method (author chp).
-
- The method is as followed:
-
- UCON's method is to OR the Checksum and the Complement.  If the
- resulting value is FFFFh, then we found the correct location of
- to extract rest of the data out.  HOWEVER!  This fails on several
- karts, such as Castle Wolfenstien 3D and Super Tetris 3 for example.
-
- Reason being is that not all developers put the correct complement
- or bother even to implement it.  I would suspect!  That this maybe
- a ploy to keep other developers out of the bin, for if they can't
- find the reset vector, disassembling becomes a bit difficult.
-
-=[Other Information on SNES?]================================================
-
- Famicom Development FTP Site
-   busop.cit.wayne.edu - pub/famidev
-
- Yoshi's SNES Documentation 2.3
-
-   This is considered the BEST source of SNES hardware information,
-   and the most complete!
-
-   busop.cit.wayne.edu - pub/famidev/incoming/sndoc230.lzh
-
-=[w0rd!]=====================================================================
-
-w0rd to all following console dudes
-
-GoosE_,yoshi,sir jinx,chp,SHORYUKEN,_bubsy,felon,archimede
-rugalz,SinZ,dragonz,procyon,royce,hoodlem,bri_acid,kamikitty,
-norm,ZillionZ Members,grayarea,Victor,drunkfux(h0h0h0h0),dmessiah,
-piratendo
-
-<insert your favorite group(s) greet here> (heh)
-
-Later Mind Rape

+ 0 - 0
files/docs/snes/SNES-ROM.TXT → files/docs/snes/Snesrom_v1.5.txt


BIN
files/docs/snes/board_cpld_01.png


+ 0 - 156
files/docs/snes/how2code.txt

@@ -1,156 +0,0 @@
-       BASELINE 2091 Presents The First Guide To Coding The SNES
-                    Guide and Source Code by -Pan-
-                         Released on 4/20/93
-
-
-       Welcome to the first installment of "How to code SNES"
- This first volume will show you how to make a simple text intro. It uses
-mode 0 graphics with no DMAs (Horizontal or General) and is the simplest
-type of intro you can make. We're starting small so you can easily understand
-what to do. Other future volumes will contain other graphic modes,
-Horizontal DMA (HDMA, the SNES version of an amiga copperlist), General DMA,
-Interrupts, and a brief section on Sound. Originally we were going to release
-the full Super Famicom Programmer's Manual but believe it or not, this manual
-a pile of garbage. Contrary to the popular belief that we always had the
-manual, this is NOT true. The White Knight happened to meet a very cool
-guy at the CEBIT in Germany and has gotten the manual 2 weeks ago!
-Yes! What you have seen from us before was true coding. We started out
-by hacking and working our way to the top. We didn't wait until we bought
-a manual. In fact, the manual was sent to us for FREE! This book isn't
-worth paying for!
- 
-Let's clear up a few misunderstandings about that SNES manual!
- 
-1) This book does NOT teach you assembly language!!
-   It would help if you knew a little before trying to code this machine!
-
-2) This book was not written such as other reference guides you can find in
-   a store, like Mapping the Amiga, or even Mapping the C64.
-   It tells you barely and confusingly what the registers do. Period.
-
-3) This book is about 148 pages long and that includes the Sound Section.
-   Some have said it was the size of a phone book. Unless live in
-   Mud Hole, Kentucky this is NOT the case!
- 
-
-So much for the introduction. I personally feel that experience is better
-than a reference guide. Reading a text file does not give you the feel of the
-machine. In the included source file, you will notice that almost every line
-has a description of what it is doing. This is better than telling you the
-registers and letting you fiddle around. You know what it will do, and you
-can see it in action in the assembled output (also included). I suggest
-you examine the source code right after reading this brief introduction on
-how the SNES system operates.
- 
-The SNES runs on a 65816 processor. This is similar to the 6502, but many
-new instructions are available. You will use the most popular commands
-like LDA, LDX, STA, PHA, PLA, RTS, JMP.. etc etc.   There are some new
-ones but we will get into that subject in the next volume as it is not
-very important right now.
-The 65816 is a 16 bit processor that does 24 bit addressing.
-You can load and store 16 bit numbers, as well as 8 bit. The addressing is
-is different than the 6502 in that it includes a bank. If you have coded on
-the C64 you know that the addressing on the C64 was from $0000-$FFFF.
-That is 16 bit addressing. 24 bit includes 1 extra byte. This one byte
-is the BANK number.  The SNES memory is broken down into fragments of
-32k blocks each. They are addressed from $8000-$FFFF and are stored into
-banks sequentially. If you wanted to access the first ROM byte in memory, 
-the address would be $008000. The first $00 is the bank number, the first
-bank you can access. The $8000 is the 16 bit address. All banks (unless in
-high rom 64k bank memory) start at $8000!
-Remember that you can not write ROM. If you have coded on a C64 you have
-written a routine that looked like this:
-
-lda #$00
-sta $c000
- 
-You cannot do this! $c000 is ROM and you can not write to ROM!
-To write to ram, simply write to any address between $0000-$1fff.
-If you need more memory you will find plenty at bank $7e and $7f
-These 2 banks contain memory from $0000-$ffff. These 2 banks each contain
-64k ofram totalling 128k for your own use!
-If you need to write to these directly, just use the LONG STA command
-example:
-sta $7ec000
- 
-This will write to bank $7e at address $c000!
-
-Fair enough. This was only a brief lecture on how the memory works.
-
- 
-The SNES hardware registers and how the work:
-
-You will notice when looking at the source code something very strange.
-Some registers are written to twice in a row! This because some registers
-need more than one 8 bit info, such as the scroll X registers. In these
-registers you can enter any number between $0-$07ff, but they are written
-as two 8 bit numbers, one right after another.
-example:
- 
-lda #$07
-sta $210d
-lda #$00
-sta $210d
- 
-This writes #$0007 to $210d, plane 0 scroll x register.
-
-Using 16 bit data storage will not work for this type of register!
-example:
-
-lda #$0007
-sta $210d
-
-This will not work because it will write #$07 to $210d, then a #$00 to $210e.
-
-Another strange register is the self-incrementing register such as the VRAM
-address registers $2116 and $2117.
-After writing to $2119 (or $2118 in another setting) the VRAM address in
-$2116 and $2117 will be increased. You do not have to do it yourself.
-This can be seen in the Character set (font set) transfer  routine in the 
-source code.
-
- 
-Introduction to Video RAM (VRAM)
- 
-The Super NES system has it own graphics processor. This requires its own
-ram to read/write graphics data.  This ram can only be accessed through
-certain registers such as $2118 + $2119.  To access Video Ram you MUST
-turn off the video or you must be in screen blank (horizontal or vertical).
-This is one of the downsides of the SNES.
-Video Ram allows the storage of map planes and tile graphics.
-VRAM is only 64k long and can not be used as regular ram. You can not
-program in it, it is a separate unit!
-
-In this volume we show you how to make a text screen in Mode 0. There are
-8 graphic modes numbered from Mode 0 to Mode 7.   Mode 0 is the most 
-simplistic. It allows only 4 colors per tile, but allows all four 
-planes to be used.
- 
-A normal video screen on the SNES is 32*32 tiles, which comes out to an
-even 1024 tiles. You can widen the screen but you still may only have
-1024 tiles. There are 2 parts to displaying a graphic on the screen.
-There is the tile graphic data which gives the tile its picture. Then there
-is the Map data. These are individually placed tiles placed on the screen
-to produce an image.
-
-example:
-
-                BBBBB   SSSSS  LL
-                BB  BB SS      LL
-                BBBBB   SSSS   LL
-                BB  BB     SS  LL
-                BBBBB  SSSSS   LLLLLLL
-
-Notice that all the small B's are the same. These woulds be drawn as
-Tile Graphics. They all form together to create the large B image.
-These B's together would be the Map data. The same would go for the S and L.
-
-This is enough info to understand the basics of this 2 color intro.
-This next installment on "How to code SNES" will feature more interesting
-subjects as:
- 
- - How the color works
- - 16 color graphic mode
- - the entire 65816 instruction set with op-codes
- - more info on the joypad
-

BIN
files/docs/snes/pilotwings.pdf