User Tools

Site Tools


notes:flashcart:ds_linker_writer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
notes:flashcart:ds_linker_writer [2024/11/02 19:54] asienotes:flashcart:ds_linker_writer [2024/11/11 21:30] (current) asie
Line 2: Line 2:
  
 The DS Linker Writer (also known as the N-Card, ExpressCard, DS Fire Link, etc.) is a Slot-2 GBA cartridge with an USB controller; in combination with a software USB stack running on the DS itself, it allows the console to act as an USB device. The DS Linker Writer (also known as the N-Card, ExpressCard, DS Fire Link, etc.) is a Slot-2 GBA cartridge with an USB controller; in combination with a software USB stack running on the DS itself, it allows the console to act as an USB device.
 +
 +Two variants exist:
 +
 +  * the "D12", featuring USB 1.1 support, based on a PDIUSBD12 chip.
 +    * This chip was only used in early batches of the card.
 +    * Due to a regression bug, this variant only works with older releases of uDisk. It also doesn't support homebrew built with the open source Keil stack.
 +  * the "D14", featuring USB 2.0 support, based on an ISP1581 (or equivalent) chip.
 +    * The most common variant.
 +
 +To identify the variant in your possesion, you can use nrio-usb-disk (linked below), which displays the detected chip ID:
 +
 +  * ''1012'' - "D12" board (PDIUSBD12-based)
 +  * ''1581'' - "D14" board (ISP1581-based)
 +  * other values - unknown chip
 +    * The TinyUSB stack used by nrio-usb-disk can support ''1582'' and ''1583'' boards (ISP1582/83-based), if any such turn out to exist.
 +  * ''0000'', ''FFFF'' - unknown board (or no board!)
 +
 +Alternatively, you can compare the PCB with photos available below.
  
 ===== Software ===== ===== Software =====
  
-  * [[https://github.com/asiekierka/nrio-usb-disk|nrio-usb-disk]] - USB mass storage driver, supports any DLDi flashcard+  * [[https://github.com/asiekierka/nitrotracker|NitrousTracker]] - music tracker, supports USB MIDI in versions 0.4.11+ 
 +  * [[https://github.com/asiekierka/nrio-usb-disk|nrio-usb-disk]] - USB mass storage driver, compatible with any Slot-1 DLDI flashcart
   * DSMouse - mouse emulator   * DSMouse - mouse emulator
   * DSPad - gamepad emulator   * DSPad - gamepad emulator
Line 13: Line 32:
 ===== Implementations ===== ===== Implementations =====
  
-  * [[https://github.com/asiekierka/nrio-usb-examples/|TinyUSB port]] - MIT licensed, requires a recent version of BlocksDSexamples provided +  * [[https://github.com/asiekierka/nrio-usb-examples/|TinyUSB port]] - MIT licensed 
-  * Keil USB stack provided by the N-Card/DS Linker team, requires an ancient version of devkitARM/libnds, examples provided+    * Requires a recent version of BlocksDS; comes with examples
 +    * Full support for "D14" and "D12" boards. 
 +  * Keil USB stack port by the N-Card/DS Linker team 
 +    * Contains examples intended for an ancient version of devkitARM/libnds
 +    * Full support for "D14" boards. 
 +    * No support for "D12" boards.
  
 ===== Photos ===== ===== Photos =====
Line 20: Line 44:
 ==== Cartridges ==== ==== Cartridges ====
  
-These cartridges are compatible with the N-Card/DS Linker Writer. Note that the casing color differs between batches.+Note that the casing color may differ between batches. 
 + 
 +=== D12 === 
 + 
 +{{gallery>:notes:flashcart:ds_linker_writer:types_d12}} 
 + 
 +=== D14 ===
  
 {{gallery>:notes:flashcart:ds_linker_writer:types}} {{gallery>:notes:flashcart:ds_linker_writer:types}}
Line 26: Line 56:
 (Source: ApacheThunder, Disturbo) (Source: ApacheThunder, Disturbo)
  
-==== PCB (N-Card, D14) ====+Notes:
  
-{{gallery>:notes:flashcart:ds_linker_writer:pcb_disturbo}}+  * The MK5 GIGA with a purple PCB and exposed pins is the only one on this list not to feature a mini-USB connector; rather, a non-USB-standard connector is used.
  
-(Source: Disturbo)+==== PCBs ====
  
-==== PCB (DS Fire LinkD12) ====+=== DS Fire Link (D12) ===
  
 {{gallery>:notes:flashcart:ds_linker_writer:pcb_d12}} {{gallery>:notes:flashcart:ds_linker_writer:pcb_d12}}
 +
 +=== DS Fire Link (D14) ===
 +
 +{{gallery>:notes:flashcart:ds_linker_writer:pcb_sylverrez}}
 +
 +(Source: SylverReZ)
 +
 +=== ExpressCard Writer (D14) ===
 +
 +{{gallery>:notes:flashcart:ds_linker_writer:pcb_sylverrez_2}}
 +
 +(Source: SylverReZ)
 +
 +=== N-Card (D14) ===
 +
 +{{gallery>:notes:flashcart:ds_linker_writer:pcb_disturbo}}
 +
 +(Source: Disturbo)
  
 ===== Wiring ===== ===== Wiring =====
  
-==== ISP1581 variant ====+==== D14 (ISP1581====
  
 The DS Linker Writer uses an ISP1581 (or clone, depending on batch) USB controller and a 12 MHz crystal. The DS Linker Writer uses an ISP1581 (or clone, depending on batch) USB controller and a 12 MHz crystal.
  
-TODO: Mark power pin connections.+In theory, it should be possible to replace the chip with an ISP1582 or ISP1583 in newer designs while maintaining compatibility. 
 + 
 +TODO: Mark power pin connections?
  
 <code> <code>
Line 105: Line 155:
 </code> </code>
  
-==== PDIUSBD12 variant ====+==== D12 (PDIUSBD12variant ====
  
-A much rarer, alternate design uses a PDIUSBD12 chip instead.+A much rarer, alternate design uses a PDIUSBD12 chip instead, configured with a separate address/data bus. 
 + 
 +In theory, it should be possible to replace the chip with an FT120, a modern replacement chip, while maintaining compatibility. However, minor differences exist, and this has not been tested on actual hardware. 
 + 
 +TODO: Mark power pin connections? 
 + 
 +<code> 
 +                        /\ 
 +                       / 
 +                      /    \ 
 +                      :  28 \ A0 <- GBA A16? 
 +                    _./   27 \ VOUT(3.3) 
 +                   /       26 \ D+ <> USB D+ 
 +                  /  o      25 \ D- <> USB D- 
 + GBA AD0 <> DATA0 \ 1        24 \ VDD 
 +  GBA AD1 <> DATA1 \ 2    P   23 \ XTAL2 -> 12 MHz oscillator 
 +   GBA AD2 <> DATA2 \ 3    D   22 \ XTAL1 <- 12 MHz oscillator 
 +    GBA AD3 <> DATA3 \ 4    I   21 \ GL_N -> LED 
 +           GND -- GND \ 5    U   20 \ /RESET <- GBA AD8? 
 +      GBA AD4 <> DATA4 \ 6    S   19 \ /EOT 
 +       GBA AD5 <> DATA5 \ 7    B   18 \ /DMACK  
 +        GBA AD6 <> DATA6 \ 8    D   17 \ DMREQ 
 +         GBA AD7 <> DATA7 \ 9    1   16 \ /WR <- GBA /WR 
 +                GND -- ALE \ 10     15 \ /RD <- GBA /RD 
 +             GBA /CS -> /CS \ 11         / 
 +                     SUSPEND \ 12       / 
 +                       CLKOUT \ 13     / 
 +             GBA /IREQ <- /INT \ 14   / 
 +                                \    / 
 +                                 
 +                                  \/ 
 +</code>
  
 ===== Links ===== ===== Links =====
  
 * [[https://media.digikey.com/pdf/Data%20Sheets/NXP%20PDFs/ISP1581.pdf|ISP1581 datasheet (Rev 06)]] * [[https://media.digikey.com/pdf/Data%20Sheets/NXP%20PDFs/ISP1581.pdf|ISP1581 datasheet (Rev 06)]]
notes/flashcart/ds_linker_writer.1730577240.txt.gz · Last modified: 2024/11/02 19:54 by asie