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 23:36] 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 15: Line 34:
   * [[https://github.com/asiekierka/nrio-usb-examples/|TinyUSB port]] - MIT licensed   * [[https://github.com/asiekierka/nrio-usb-examples/|TinyUSB port]] - MIT licensed
     * Requires a recent version of BlocksDS; comes with examples.     * Requires a recent version of BlocksDS; comes with examples.
-    * D14 cartridges supported; D12 cartridge support is being worked on.+    * Full support for "D14" and "D12" boards.
   * Keil USB stack port by the N-Card/DS Linker team   * Keil USB stack port by the N-Card/DS Linker team
-    * The public source code release is of an older version which supports D14 cartridges only. It includes examples intended for an ancient version of devkitARM/libnds.+    * Contains examples intended for an ancient version of devkitARM/libnds
 +    * Full support for "D14" boards. 
 +    * No support for "D12" boards.
  
 ===== Photos ===== ===== Photos =====
Line 23: 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 29: 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 =====
Line 45: Line 90:
 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 110: Line 157:
 ==== D12 (PDIUSBD12) variant ==== ==== D12 (PDIUSBD12) variant ====
  
-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.
  
-* Configured with 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> <code>
Line 126: Line 175:
    GBA AD2 <> DATA2 \ 3    D   22 \ XTAL1 <- 12 MHz oscillator    GBA AD2 <> DATA2 \ 3    D   22 \ XTAL1 <- 12 MHz oscillator
     GBA AD3 <> DATA3 \ 4    I   21 \ GL_N -> LED     GBA AD3 <> DATA3 \ 4    I   21 \ GL_N -> LED
-            GND -- GND \ 5    U   20 \ /RESET <- GBA AD8? +           GND -- GND \ 5    U   20 \ /RESET <- GBA AD8? 
-      GBA AD4 <> DATA4 \ 6    S   19 \ /EOT <- GBA AD8? +      GBA AD4 <> DATA4 \ 6    S   19 \ /EOT 
-       GBA AD5 <> DATA5 \ 7    B   18 \ /DMACK <- GBA AD8?+       GBA AD5 <> DATA5 \ 7    B   18 \ /DMACK 
         GBA AD6 <> DATA6 \ 8    D   17 \ DMREQ         GBA AD6 <> DATA6 \ 8    D   17 \ DMREQ
-         GBA AD7 <> DATA7 \ 9    1   16 \ /WR <- GBA /WR? +         GBA AD7 <> DATA7 \ 9    1   16 \ /WR <- GBA /WR 
-                GND -- ALE \ 10     15 \ /RD <- GBA /RD? +                GND -- ALE \ 10     15 \ /RD <- GBA /RD 
-            GBA /CS-> /CS \ 11         /+             GBA /CS -> /CS \ 11         /
                      SUSPEND \ 12       /                      SUSPEND \ 12       /
-                 ?? ?? CLKOUT \ 13     / +                       CLKOUT \ 13     / 
-                    ?? ?? /INT \ 14   /+             GBA /IREQ <- /INT \ 14   /
                                 \    /                                 \    /
                                   /                                   /
                                   \/                                   \/
 </code> </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.1730590573.txt.gz · Last modified: 2024/11/02 23:36 by asie