32MB RAM expansion: Difference between revisions

From dreamcast.wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
By replacing the Dreamcast's two 8MB SDRAM chips with larger SDRAM chips, modifying the pin arrangement, and [[BIOS modification|modifying the BIOS]], it is possible to install 32MB of RAM in the Dreamcast. Existing games and applications will very likely not be able to address the RAM, but applications built with a patched version of [[KallistiOS]] are able to address all 32MB. The Dreamcast port of [[NetBSD]] can also be built to take advantage of the additional RAM.
<div style="float:right;">__TOC__</div>
By replacing the Dreamcast's two 8MB SDRAM chips with larger SDRAM chips, modifying the pin arrangement, and [[BIOS modification|modifying the BIOS]], it is possible to install 32MB of system RAM in the Dreamcast.  


At the moment, the only known software able to take advantage of the 32MB RAM expansion is the [https://github.com/tsowell/scummvm-dreamcast/blob/dcalt-backend/backends/platform/dcalt/README.md Alternate ScummVM backend for Dreamcast] by tsowell. This version of [[ScummVM]] also offers an extensive array of other expansion hardware features, such as compatibility for loading/saving data with [[Serial SD card adapter|SD cards]] and [[IDE hard drive modification|hard drives]], the ability to output MIDI over [[MIDI adapter|serial]] or [[MIDI expansion|the expansion slot]] for external synthesizers, and the ability to output various VGA modes for CRT monitors.  
==Installation==
It is necessary to replace the stock read-only boot ROM with a writeable flash ROM. Without a BIOS mod, the system will not boot with RAM in a 32MB configuration.  


{| class="wikitable" style="float:right; margin-left: 10px;"
The mod has only been tested so far using <code>IS42S32800J-6TL</code> replacement chips.
|+32MB-patched BIOS image testing
* [https://www.mouser.com/ProductDetail/ISSI/IS42S32800J-6TL Mouser]
|-
* [https://www.digikey.com/en/products/detail/issi-integrated-silicon-solution-inc/IS42S32800J-6TL/5319845 DigiKey]
|1.004 vanilla
[https://blog.ldtlb.com/2020/06/21/dreamcast-32mb-ram-upgrade.html tsowell's blog] contains instructions on completing the RAM upgrade.
|UNTESTED, PROBABLY WORKS
|-
|1.01c vanilla
|UNTESTED, PROBABLY WORKS
|-
|1.01d vanilla
|WORKS
|-
|1.01d w/ region free patch ("link83")
|WORKS
|-
|1.01d w/ region free patch alt intro ("link83")
|WORKS
|-
|1.01d Treamcast
|UNTESTED
|-
|1.022 ("no mil-CD BIOS")
|NOT INCLUDED ON DISC, UNTESTED
|-
|jc 1.300 regular intro
|WORKS
|-
|jc 1.300 alt intro
|UNTESTED, SHOULD WORK
|-
|jc 1.310 regular intro
|WORKS
|-
|jc 1.310 alt intro
|WORKS
|-
|jc 1.320 regular intro
|WORKS
|-
|jc 1.310 alt intro
|WORKS
|-
|dreamboot 1.0.0
|WORKS
|-
|dreamboot 1.0.0 No GD-ROM
|UNTESTED, SHOULD WORK
|-
|dreamboot 1.0.1
|WORKS
|-
|dreamboot 1.0.1 No GD-ROM
|UNTESTED, SHOULD WORK
|-
|dreamboot 1.0.2
|WORKS
|-
|dreamboot 1.0.2 No GD-ROM
|UNTESTED, SHOULD WORK
|-
|dreamboot 1.1.0
|WORKS
|-
|dreamboot 1.1.0 No GD-ROM
|UNTESTED, SHOULD WORK
|-
|dreamshell boot loader regular intro
|WORKS
|-
|dreamshell boot loader regular intro No GDROM
|UNTESTED, SHOULD WORK
|-
|dreamshell boot loader alt intro
|WORKS
|-
|dreamshell boot loader alt intro No GD-ROM
|WORKS
|-
|dreamshell sd_loader_with.bios
|WORKS
|}


===BIOS Flasher===
A DreamShell image with 32MB-patched BIOS images is available. This image contains a variety of nearly 50 BIOS images including the stock BIOS, japanese-cake BIOS, DreamBoot BIOS, and DreamShell BIOS, in a variety of flavors for each. This image also contains an updated bflash.klf module to support flashing MX29L3211 32 megabit chips to accommodate multi-BIOS mods.


A DreamShell image with 32MB patched BIOS images is available. This image contains a variety of nearly 50 BIOS images including the stock BIOS, japanese-cake BIOS, DreamBoot BIOS, and DreamShell BIOS, in a variety of flavors for each. This image also contains an updated bflash.klf module to support flashing the MX29L3211 32 megabit chips to accommodate triple-BIOS mods!
* We are not responsible for damage to Dreamcast units due to the use of this disc. Know what you are doing before you use this disc! You may render your system unbootable!
** Download DreamShell 32MB BIOS Flasher Image (link needs updating)


* *'''WARNING'''* While most of the BIOS images on the disc have been tested, not all have. See the testing chart to the right. "WORKS" means that the Dreamcast boots up while using this BIOS and boots DreamShell and/or Crazy Taxi. There is a high likelihood that some games will exhibit bugs. So far, bugs have been noticed in Sonic Adventure and Phantasy Star Online v2. More testing to come.
==Applications==
** Seriously! We are not responsible for damage to Dreamcast units due to the use of this disc. Know what you are doing before you use this disc!
===lxdream Dreamcast Emulator===
*** Download [https://mega.nz/file/rltniDbC#_TEfFduymRzpl3hdEJjvWuH7RHVIOoNZlKFUujOsfxo DreamShell 32MB BIOS Flasher Image]
A [https://gitlab.com/cepawiel/lxdream-nitro/-/tree/big_ram fork of lxdream-nitro] by [[cepawiel]] exists which can be built to support 32MB expansion.
git clone -b big_ram https://gitlab.com/cepawiel/lxdream-nitro.git
cd lxdream-nitro
meson setup builddir -DMOD_32MB_RAM=true
meson compile -C builddir
./builddir/lxdream-nitro -h


* A memory testing utility is available as well. [[:File:Memtest.tar.gz]]
===KallistiOS===
A [https://github.com/darcagn/KallistiOS/tree/amx3-32mb fork of KallistiOS] exists which supports 32MB expansion, with an aim to be merged into the main repository soon. To build it, build both the toolchain and KallistiOS [[Getting Started with Dreamcast development|using the instructions here]], but clone the git repository using this command instead:
git clone -b amx3-32mb https://github.com/darcagn/KallistiOS.git kos
If you already have an existing toolchain built, you must rebuild it to support 32MB expansion.


See [https://tsowell.github.io/2020/06/21/dreamcast-32mb-ram-upgrade.html tsowell's blog] for more information on the modification for now.
===NetBSD Support===
 
==NetBSD Support==
NetBSD can be easily modified to support the 32MB expansion by modifying the <code>sys/arch/dreamcast/conf/std.dreamcast</code> file and rebuilding.
NetBSD can be easily modified to support the 32MB expansion by modifying the <code>sys/arch/dreamcast/conf/std.dreamcast</code> file and rebuilding.
Replace
Replace
Line 103: Line 37:
  options IOM_RAM_SIZE=0x02000000        # 32MB
  options IOM_RAM_SIZE=0x02000000        # 32MB
and rebuild the kernel.
and rebuild the kernel.
===ScummVM===
tsowell has written a [https://github.com/tsowell/scummvm-dreamcast fork of ScummVM] with extra functionality which is able to play larger games on consoles with 32MB expansion. This version of [[ScummVM]] also offers an extensive array of other expansion hardware features, such as compatibility for loading/saving data with [[Serial SD card adapter|SD cards]] and [[IDE hard drive modification|hard drives]], the ability to output MIDI over [[MIDI adapter|serial]] or [[MIDI expansion|the expansion slot]] for external synthesizers, and the ability to output various VGA modes for CRT monitors.
===memtest===
A memory testing utility supporting 16MB and 32MB Dreamcasts has been written by tsowell. [[:File:Memtest.tar.gz]]
===Game mods===
A few game mods by [[yzb]] exist to increase performance:
* The King of Fighters '98
* King of Fighters XI (Atomiswave conversion)
* Knights of Valour The Seven Spirits (Atomiswave conversion)
* Super Street Fighter II X
==Incompatibility issues==
Existing games and applications predating this RAM expansion modification will not be able to take advantage of the additional memory. Adoption of the mod is not yet widespread, so additional testing is needed. At this time, the major incompatibility issue is Sofdec video playback in commercial games. These games will fail to play FMV, often hanging or crashing as a result. More research is needed to determine if this issue can be fixed in patches. Games that don't use Sofdec video appear to work without problem, even including other types of video like the 4XM video used in [[Headhunter]].

Revision as of 18:41, 21 December 2022

By replacing the Dreamcast's two 8MB SDRAM chips with larger SDRAM chips, modifying the pin arrangement, and modifying the BIOS, it is possible to install 32MB of system RAM in the Dreamcast.

Installation

It is necessary to replace the stock read-only boot ROM with a writeable flash ROM. Without a BIOS mod, the system will not boot with RAM in a 32MB configuration.

The mod has only been tested so far using IS42S32800J-6TL replacement chips.

tsowell's blog contains instructions on completing the RAM upgrade.

BIOS Flasher

A DreamShell image with 32MB-patched BIOS images is available. This image contains a variety of nearly 50 BIOS images including the stock BIOS, japanese-cake BIOS, DreamBoot BIOS, and DreamShell BIOS, in a variety of flavors for each. This image also contains an updated bflash.klf module to support flashing MX29L3211 32 megabit chips to accommodate multi-BIOS mods.

  • We are not responsible for damage to Dreamcast units due to the use of this disc. Know what you are doing before you use this disc! You may render your system unbootable!
    • Download DreamShell 32MB BIOS Flasher Image (link needs updating)

Applications

lxdream Dreamcast Emulator

A fork of lxdream-nitro by cepawiel exists which can be built to support 32MB expansion.

git clone -b big_ram https://gitlab.com/cepawiel/lxdream-nitro.git
cd lxdream-nitro
meson setup builddir -DMOD_32MB_RAM=true
meson compile -C builddir
./builddir/lxdream-nitro -h

KallistiOS

A fork of KallistiOS exists which supports 32MB expansion, with an aim to be merged into the main repository soon. To build it, build both the toolchain and KallistiOS using the instructions here, but clone the git repository using this command instead:

git clone -b amx3-32mb https://github.com/darcagn/KallistiOS.git kos

If you already have an existing toolchain built, you must rebuild it to support 32MB expansion.

NetBSD Support

NetBSD can be easily modified to support the 32MB expansion by modifying the sys/arch/dreamcast/conf/std.dreamcast file and rebuilding. Replace

options 	IOM_RAM_SIZE=0x01000000         # 16MB

with

options 	IOM_RAM_SIZE=0x02000000         # 32MB

and rebuild the kernel.

ScummVM

tsowell has written a fork of ScummVM with extra functionality which is able to play larger games on consoles with 32MB expansion. This version of ScummVM also offers an extensive array of other expansion hardware features, such as compatibility for loading/saving data with SD cards and hard drives, the ability to output MIDI over serial or the expansion slot for external synthesizers, and the ability to output various VGA modes for CRT monitors.

memtest

A memory testing utility supporting 16MB and 32MB Dreamcasts has been written by tsowell. File:Memtest.tar.gz

Game mods

A few game mods by yzb exist to increase performance:

  • The King of Fighters '98
  • King of Fighters XI (Atomiswave conversion)
  • Knights of Valour The Seven Spirits (Atomiswave conversion)
  • Super Street Fighter II X

Incompatibility issues

Existing games and applications predating this RAM expansion modification will not be able to take advantage of the additional memory. Adoption of the mod is not yet widespread, so additional testing is needed. At this time, the major incompatibility issue is Sofdec video playback in commercial games. These games will fail to play FMV, often hanging or crashing as a result. More research is needed to determine if this issue can be fixed in patches. Games that don't use Sofdec video appear to work without problem, even including other types of video like the 4XM video used in Headhunter.