14

Browsing around the FS-UAE source code I discovered a 65(S)C02 emulation core, which appears to not be referenced anywhere outside of some CDTV-CR related source file.

Apparently, a CDTV is essentially an Amiga 500 in a slightly different housing. Now, from what I can see, the -CR in CDTV-CR means cost-reduced. (I don't believe the cost-reduction involved swapping the 68000 for a 65C02, that would be quite a silly thing). And the 65C02 is not mentioned anywhere if you google CDTV-CR processor or anything like that.

So what is this emulation core doing in FS-UAE? Or, if it's emulating actual hardware, where is the 65C02?

3
  • 2
    The non-CR motherboard already has a 4-bit microcontroller on it, the Sanyo LC6554H below the 68000.I suppose they might have upgraded that to a 6502 variant to help cover other logic as well, or something like that, but that microcontroller has a lot of I/O pins (57) and I can't think of anything comparable in the 6502 lines.
    – cjs
    Sep 5, 2019 at 8:47
  • 1
    It's the keyboard controller. It's found inside the keyboard on Amigas with separate keyboards, or on the keyboard PCB if the keyboard is built-in.
    – Brian H
    Sep 5, 2019 at 14:12
  • For the record: the CDTV-CR was indeed a cost reduction project for the CDTV, with 68000 and the ECS chipset at its core. Some prototypes were made and they surfaced on the Internet in these last years, but the product was never advanced to release. Much of the development for it went into the CD32 (which hardware-wise is a mixture of an A1200 + the stuff originally developed for the CDTV-CR).
    – user180940
    Sep 6, 2019 at 12:14

1 Answer 1

15

Does the Commodore CDTV-CR contain a 65C02 for some reason?

Yes, but it's a rather plain (NMOS) 6500 core.

Or, if it's emulating actual hardware, where is the 65C02?

Hiden in a CSG 6500/1 microcontrollers (*1)

All Amigas used variations thereof. They are basically a 6503 CPU (*2) plus a 6531 RRIOC(*3) with RAM halved to 64 Byte (*4) joint in a single chip. Base type number is (usually) 6570/71.

The Amiga 500 contained the same 6500/1 as the Amiga 3000, here called 6570-36 (part number 328191-02), while the Amiga 1000 had a 6570-33 (*5).

For the CDTV a version named "Remote Control Input Converter" was made to handle things like joystick input. It got no chip type stamped on, but a part number (252609-02).

The CD-1221 Keyboard itself did contain another 6500/1, this time stamped as 6571R6PD, part number 315107-01, doing the matrix scan much like with any other Amiga keyboard.

So you see, there may be even more than just one 6500 with a CDTV.

See this fine page for more details of 6500/1 usage within Commodore products as well as pinout and usage for the CDTV.


*1 - As the name hints, they are not really a MOS/CSG design at all, but Rockwell's first 6500 microcontroller.

*2 - Internal address bus is just 12 bit (PC is still 16).

*3 - The 6531 RRIOC (ROM-RAM-I/O-COUNTER) is a less known type of the 653x family. Mostly like a 6530, but as well available in a quite unusual 52 pin DIP offering additional Ports C (8 bit output) and D (4 bit input only), as well as battery backup for the RAM. It offered 128 Byte RAM and 2 KiB ROM

*4 - Or a 6503 CPU plus a 6532 RIOT with RAM halved to 64 Bytes plus a 6540 ROM and modified ports. Or a 6503 CPU plus 6530 RRIOT with ROM doubled to 2 KiB and Pick your choice. In any case it's a selection of chip components used before arranged to form the 6570.

*5 - The postfix seams to denote a ROM version/revision, much like it was always done by MOS/CSG when it came devices containing ROM, like with the 6530 RRIOT or 6540 ROM.

3
  • Incidentally, the distinction between the NMOS 6502 and 65C02 cores is irrelevant for emulation, provided the software uses only documented NMOS opcodes and avoids the various NMOS bugs. This would usually be the case for microcontroller firmware.
    – Chromatix
    Sep 5, 2019 at 20:13
  • @Chromatix You're right for most parts, wouldn't it be for tiny incompatibilities. Incompatibilities that may be less relevant on 'normal' software but could break tight coded controllers. Keep in mind, bugs can be features. So using a C02 emulation can be less desirable. Then again, I think it's pure theoretical, as, AFAIK, the ROM content of these controllers are still unknown, so it may not be emulated at all or with the real code.
    – Raffzahn
    Sep 5, 2019 at 20:39
  • @Wilson Well, they listen to certain commands, so yes it can do stuff as requested - that is, unless your question is if 6502 code can be downloaded and executed, then it's no. They are ROM programmed and have only a very tiny amount of RAM - less than an Atari 2600 :))
    – Raffzahn
    Dec 17, 2019 at 10:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .