Skip to content

C4ptFuture/cdtv-os235patch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CDTV OS 2.35 patch

This repository contains a patch that can convert an official Commodore CDTV 2.30 Extended ROM image into a 2.35 ROM image. For copyright reasons you need to supply the 2.30 ROM image yourself.

This repository contains no Commodore/Amiga intellectual property.

CDTV OS 2.35

Table of Contents

1. What is CDTV OS 2.35?

CDTV OS 2.35 is an unofficial update to the Commodore CDTV Operating System ROM. It is the first major update to the ROM since 1992. The 2.35 update does the following things:

  • It restores all functionality to the CDTV player that was lost in the 2.0, 2.7 and 2.30 updates.
  • It adds compatibility with 68030 accelerators and 32-bit-Fast RAM
  • It adds some quality of life features and fixes some bugs.

CDTV OS 2.35 is available for the CD1000 (CDTV player), A570 and A690 CD-ROM drives in traditional ROM format. It is also available as a special image that can be loaded onto a CDTV memory card (models CD1401, CD1405), although this is currently an experimental implementation.

For a more detailed rundown of all the changes see the CDTV OS 2.35 information page on CDTV Land. For more technical details please consult the CDTV OS 2.35 FAQ.

2. Important Notes

  • If you plan to use the TF536 accelerator board with your CDTV player or A570/A690, please make sure you update your TF536 to the latest TF536 firmware for CDTV. See the CDTV OS 2.35 FAQ for more information.

  • If you plan to use your A570 with a 68030 accelerator board, make sure you remove or disable the A570's internal 2MB memory expansion if you have one. Tests have shown that a 68030 with Z3 Fast RAM in conjunction with the A570's internal 2MB Fast RAM results in an unstable system, with apparently random crashes/gurus.

3. How to apply the patch

3.1. Using Docker image

Requirements:

  • Intel based macOS or Linux operating system
  • Make
  • Docker
  • The official CDTV 2.30 Extended ROM image (md5 sum: d98112f18792ee3714df16a6eb421b89)

Steps:

  • Place the official 2.30 ROM in the root of this project directory
  • Rename it to 230.rom
  • Run the following command
make cdtvos235rom

You can also run the docker command directly if you prefer:

docker run --rm -v $(pwd):/data captainfuture/cdtvos235patch:1.0.3 /appl/run.sh

If the patch was succesful, you will end up with several new files in the current directory:

Filename Description
CDTV Extended-ROM v2.35 (2021)(CDTV Land)(CDTV).rom This is the CD1000 (CDTV player) 2.35 ROM image you can use in emulators
CDTV_v2_35_U34_Even.bin This is the CD1000 (CDTV player) split "even" binary of the 2.35 ROM image that you can use to burn to an 27c100 EPROM
CDTV_v2_35_U35_Odd.bin This is the CD1000 (CDTV player) split "odd" binary of the 2.35 ROM image that you can use to burn to an 27c100 EPROM
CDTV Extended-ROM v2.35 (2022)(CDTV Land)(A570).rom This is the A570 CD-ROM drive 2.35 ROM image you can use in emulators
A570_v2_35.bin This is the A570 CD-ROM drive 2.35 byteswapped ROM image you can use to burn to a 27c400 EPROM
CDTV Extended-ROM v2.35 (2022)(CDTV Land)(A690).rom This is the A690 CD-ROM drive 2.35 ROM image you can use in emulators
A690_v2_35.bin This is the A690 CD-ROM drive 2.35 byteswapped ROM image you can use to burn to a 27c400 EPROM
CDTV Extended-ROM v2.35 (2023)(CDTV Land)(CD1401-CD1405).rom This is the 2.35 ROM image you can install on CDTV memory cards (CD1401 or CD1405)
CDTVOS235-memcard-installer.adf This is a bootable floppy image that installs the 2.35 ROM image on a CDTV memory card
CDTVOS235-memcard-installer.iso This is a bootable CD-ROM image that installs the 2.35 ROM image on a CDTV memory card

bla

3.2. Building the Docker image yourself

The Dockerfile is included in this repo, so instead of pulling the Docker image you can build it yourself if you'd prefer so.

3.3. Using bspatch directly

The patch has been created using bsdiff. If you have bsdiff/bspatch on your UNIX/Linux/macOS system you can also apply the patch manually without the overhead of Docker and make.

Once you have bspatch you only need the 235-release-<device name>-patch.bin patch file from the src/docker directory. You can then apply the patch as follows:

bspatch 230.rom "CDTV Extended-ROM v2.35 (2021)(CDTV Land)(CDTV).rom" 235-release-cd1000-patch.bin
bspatch 230.rom "CDTV Extended-ROM v2.35 (2022)(CDTV Land)(A570).rom" 235-release-a570-patch.bin
bspatch 230.rom "CDTV Extended-ROM v2.35 (2022)(CDTV Land)(A690).rom" 235-release-a690-patch.bin

This should generate the 2.35 ROM images for CD1000, A570 and A690 respectively.

The CD1401/CD1405 image can be generated by patching the newly generated CD1000 2.35 with the cd1401 patch .bin file and then truncating it to 64K: truncate -s 65536 "${CDTV235ROM_MEMCARD}"

4. Version History

  • 1.0.0: First release
  • 1.0.1: Add support for splitting ROM image in even and odd
  • 1.0.2: Add creation of 2.35/A570 and 2.35/A690 ROM images
  • 1.0.3: Add creation of 2.35/CD1401/CD1405 ROM images (for CDTV memory cards)

5. Tools used to create CDTV OS 2.35

CDTV OS 2.35 workplace

  • My brain
  • MacBook Pro
  • A networked A500 to copy ROM images from network to floppy disk
  • CDTV Developer "Flash Memory" Board
  • Several CDTV (CD-1000) players
  • Viper 530 accelerator board
  • TF536 accelerator board
  • Visual Studio Code
  • Ghidra 9.1.2 (to reverse engineer resident modules)
  • Some regex-fu to make the Ghidra ASM exports actually build
  • vasm
  • ROMSplit and amitools
  • Commodore Amiga Native ROM Build Tools (DoBuild)
  • WinUAE (running in Parallels Desktop VM)
  • Coffee
  • Alcohol

More info in the CDTV OS 2.35 FAQ.

About

Patch a v2.30 CDTV OS ROM image to create a v2.35 image

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published