Blinky Posted November 19, 2023 Share Posted November 19, 2023 From Specifications from the Atari website we know that the 2600+ Features a Rockchip 3128 SOC microprocessor with 256MB DDR3 RAM and 256MB eMMC fixed internal storage. But that isn't really satisfying enough. We could already have a peek inside the 2600 tear down in this Unboxing & Teardown video and @Ben from Plaion showed a picture of his framed Atari2600+ parts on his wall. Today I could hold back my curiosity and opened up my 2600+ to have a closer look inside. TaDa! The black PCB is the mainboard and is what the 2600+ is all about. It has the Rockchip 3128 SOC and next to it the 256MB RAM from Hynix (Part# H5TQ2G63GFR-RDC a 2Gbit or 128Mx16 DDR3 SDRAM @ 1.5V) and next to that the 256MB eMMC from Kioxia (Part# TC58NVG1S3HTA00 SLC 2Gbit or 128Mx16 SLC NAND Flash) Other interesting things are that there is a Micro USB connector and a recovery button on the board. I cheched these out and the Micro USB connector has the same functionality as the USB-C connector and the game reset switch on the 2600+. It can power the mainboard and when pressing the recovery button while connecting the micro USB cable to a PC it puts the board into firmware recovery mode. There are also two pin headers that connect the mainboard to the I/O board (the big green PCB inside the 2600+) The switch inputs (1P_AB, 2P_AB, 16:9/4:3, B/W, Game Select and Game Reset) are connected to the pin header directly meaning these are read directly by the main processor. The Joystick and cart slot (5V logic) are not available on these headers. These are handled by the two MCUs (Micro controllers) on the I/O board and communicate with the main board using the RX and TX serial pins also on the header. There's also an unmounted 4 pin header at the bottom of the mainboard. There are no markings and I'm not sure what it is for but my best guess would be that this is a serial header for debugging. There's also something more interesting on the board. At the bottom of the main board there is a footprint for a micro SD card slot and in the top right corner is a label called 'CARD_TEST' that hints there is some SD card functionality implemented in the design. Whether it works or not remains to be seen. It makes me wonder though if there where plans to add a SD card slot to the 2600+ or if it's there for a future project like a portable 2600+ as the main board is very compact and doesn't consume much power (about 100mA @ 5V). and a portable I/O board can be very small without cart slot and some controller buttons Bottom side showing the Micro SD card footprint: Programming headers for the two MCUs on the I/O board: 7 3 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/ Share on other sites More sharing options...
+karri Posted November 19, 2023 Share Posted November 19, 2023 So U1 and U2 have to be programmed separatly? Or can the Rockwell tool program the MCU's over this jtag while you flash the firmware? Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351797 Share on other sites More sharing options...
THX-1138 Posted November 19, 2023 Share Posted November 19, 2023 Just to add, if you connect the 2600+ via the USB-C to a PC and power it on while holding down Game Reset, puts it into Mask ROM mode. Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351800 Share on other sites More sharing options...
Blinky Posted November 19, 2023 Author Share Posted November 19, 2023 10 minutes ago, karri said: can the Rockwell tool program the MCU's over this jtag while you flash the firmware I can't tell for sure yet. but I think there is a mechanism to redirect USB to both MCU's (There's a 2nd pair of USB signals on the header and there's a CH444G analog switch chip near USB-C slot) So the main CPU can select one of both MCU's and do a firmware update over USB. 17 minutes ago, THX-1138 said: puts it into Mask ROM mode. Yeah. that's the recovery mode I mentioned. BTW the naming 'Mask ROM mode ' is kind of odd as a masked ROM can not be altered (it is used during chip production) Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351813 Share on other sites More sharing options...
+karri Posted November 19, 2023 Share Posted November 19, 2023 Perhaps it means the device bootstraps from internal mask rom instead of reading in the bootloader from external memory. Kind of a recovery method when the boot media is corrupted. 2 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351814 Share on other sites More sharing options...
Blinky Posted November 19, 2023 Author Share Posted November 19, 2023 Ah I didn't look at it that way. That makes sense. Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351820 Share on other sites More sharing options...
+bent_pin Posted November 19, 2023 Share Posted November 19, 2023 Great post! Thanks @Blinky Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351835 Share on other sites More sharing options...
Blinky Posted November 19, 2023 Author Share Posted November 19, 2023 Just discovered something else: If you put the TV type switch in B/W positon hold down Game Reset while powering on, the 2600+ does not enter recovery mode but get's detected as a Game controller. Unfortunately it doesn't seem to have active buttons. So it ends there. Just useful to know in case someone is wondering why the 2600+ can't be put in recovery mode (and the TV type switch in in B/W position). 1 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351863 Share on other sites More sharing options...
+Gemintronic Posted November 19, 2023 Share Posted November 19, 2023 Hopefully someday we'll figure out how to get it to accept ARM Linux carts of some sort for new games. Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351866 Share on other sites More sharing options...
Dionoid Posted November 19, 2023 Share Posted November 19, 2023 Did anyone succeed in connecting a keyboard to the micro-USB port on the motherboard? Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351892 Share on other sites More sharing options...
Blinky Posted November 19, 2023 Author Share Posted November 19, 2023 (edited) On 11/19/2023 at 9:02 PM, Dionoid said: Did anyone succeed in connecting a keyboard to the micro-USB port on the motherboard? That doesn't work. It has the same function as the external USB-C port. Confirmed! The 4 pin header on the mainboard is a serial debug port: Hooked a FTDI cable (Serial to USB cable) to it at 115200 baud and got this: DDR Version 2.12 20191113_uart1_dbg In ID:0x0 1A1A1A1A 3 DDR3 282C1A1A 3 35351A1A 3 Bus Width=16 Col=10 Bank=8 Row=14 CS=1 Die Bus-Width=16 Size=256MB mach:8 OUT U-Boot 2017.09 (Jul 26 2023 - 10:50:50 +0800) Model: Rockchip RK3128 Evaluation board DRAM: 253 MiB Sysmem: init Relocation Offset: 00000000, fdt: 6be1b098 Using default environment dwmmc@1021c000: 0 MMC Device 1 not found no mmc device at slot 1 Card did not respond to voltage select! mmc_init: -95, time 9 Unknown command 'mtd_blk' - try 'help' Unknown command 'mtd_blk' - try 'help' Unknown command 'mtd_blk' - try 'help' Device 0: ...nandc_flash_init enter... No.1 FLASH ID:98 da 90 15 76 16 SFTL version: 5.0.58 20220814 Vendor: 0x0308 Rev: V1.00 Prod: rkflash-NandFlash Type: Hard Disk Capacity: 218.5 MB = 0.2 GB (447488 x 512) ... is now current device Bootdev: rknand 0 PartType: EFI boot mode: None Found DTB in boot part DTB: rk-kernel.dtb HASH(s): OK Android header version 0 vdd_arm init 1100000 uV vdd_logic init 1100000 uV Can't get crtc id, default set to id = 0 Model: Rockchip RK3128 atari2600 board Rockchip UBOOT DRM driver version: v1.0.1 failed to get edid mode:1280x720 CLK: (uboot. arm: enter 600000 KHz, init 600000 KHz, kernel 0N/A) apll 600000 KHz dpll 600000 KHz cpll 668000 KHz gpll 594000 KHz armclk 600000 KHz aclk_cpu 148500 KHz hclk_cpu 74250 KHz pclk_cpu 74250 KHz aclk_peri 148500 KHz hclk_peri 74250 KHz pclk_peri 74250 KHz Net: Net Initialization Skipped No ethernet found. Hit key to stop autoboot('CTRL+C'): 0 ANDROID: reboot reason: "(none)" TEEC: Waring: Could not find security partition Not AVB images, AVB skip Kernel image @ 0x6be7d6c0 [ 0x000000 - 0x6617b8 ] Booting ZIMAGE kernel at 0x62008000(Uncompress to 0x60000000) with fdt at 0x6830 0000... Fdt Ramdisk skip relocation ## Booting Android Image at 0x62007800 ... Kernel load addr 0x62008000 size 6534 KiB ## Flattened Device Tree blob at 68300000 Booting using the fdt blob at 0x68300000 XIP Kernel Image from 0x62008000 to 0x62008000 ... OK 'reserved-memory' ramoops@62e00000: addr=62e00000 size=f0000 Using Device Tree in place at 68300000, end 6830de97 Adding bank: 0x60000000 - 0x61800000 (size: 0x01800000) Adding bank: 0x61b00000 - 0x70000000 (size: 0x0e500000) Total: 1778.306 ms Starting kernel ... [ 0.104319] /cpus/cpu@f00 missing clock-frequency property [ 0.110313] /cpus/cpu@f01 missing clock-frequency property [ 0.116361] /cpus/cpu@f02 missing clock-frequency property [ 0.122321] /cpus/cpu@f03 missing clock-frequency property [ 0.260014] genirq: Setting trigger mode 8 for irq 181 failed (gic_set_type+0 x0/0x60) [ 0.333311] vcc_io: regulator get failed, ret=-517 [ 0.521628] rk-vcodec vpu_combo: failed on clk_get clk_cabac [ 0.531328] rk-vcodec vpu_combo: could not find power_model node [ 0.557055] rockchip-vop 1010e000.vop: missing rockchip,grf property [ 0.564421] i2c i2c-4: of_i2c: modalias failure on /hdmi@20034000/ports [ 1.192934] rockchip-pinctrl pinctrl: pin_config_set op failed for pin 11 [ 1.199802] gpio-keys-polled gpio-keys-polled: Error applying setting, revers e things back [ 1.221334] cpu cpu0: Failed to get pvtm [ 1.228010] cpu cpu0: failed to read out thermal zone (-22) [ 1.234567] cpu cpu0: failed to find power_model node [ 1.270446] rockchip-dmc dmc: unable to get devfreq-event device : dfi [ 1.279750] rknandc_base v1.1 2017-01-11 [ 1.284769] rkflash_dev_init enter [ 1.398911] rkflash_dev_init device register as blk dev, ret= 0 [ 1.405083] rksfc_base v1.1 2016-01-08 [ 1.430286] rockchip-dmc dmc: Failed to get leakage [ 1.435430] rockchip-dmc dmc: Failed to get pvtm [ 1.440862] rockchip-dmc dmc: failed to get vop bandwidth to dmc rate [ 1.447410] rockchip-dmc dmc: failed to get vop pn to msch rl [ 1.453725] rockchip-dmc dmc: could not find power_model node [ 1.468520] asoc-simple-card sound: ASoC: no source widget found for HPOL [ 1.475402] asoc-simple-card sound: ASoC: Failed to add route HPOL -> direct -> Headphone Jack [ 1.484088] asoc-simple-card sound: ASoC: no source widget found for HPOR [ 1.490875] asoc-simple-card sound: ASoC: Failed to add route HPOR -> direct -> Headphone Jack [ 1.519383] mali-utgard 10091000.gpu: Failed to get leakage [ 1.525152] mali-utgard 10091000.gpu: Failed to get pvtm [ 1.633682] devfreq 10091000.gpu: Couldn't update frequency transition inform ation. NAME=Buildroot VERSION=2018.02-rc3 ID=buildroot VERSION_ID=2018.02-rc3 PRETTY_NAME="Buildroot 2018.02-rc3" Starting logging: OK Populating /dev using udev: [ 2.484678] udevd[142]: specified group 'kvm' unk nown done Will now mount all partitions in /etc/fstab Note: Create /.skip_fsck to skip fsck - The check might take a while if didn't shutdown properly! Handling rootfs: /dev/rkflash0p6 / ext2 rw,noauto 1 Wrong fs type(ext2) for /dev/rkflash0p6 Handling misc: /dev/rkflash0p3 /misc emmc defaults 0 Unsupported file system emmc for /dev/rkflash0p3 Handling oem: /dev/rkflash0p7 /oem ext2 defaults 2 Mounting /dev/rkflash0p7(ext2) on /oem [ 3.791017] EXT4-fs (rkflash0p7): couldn't mount as ext3 due to feature incom patibilities Handling userdata: /dev/rkflash0p8 /userdata vfat defaults 2 You may need to enable BR2_PACKAGE_DOSFSTOOLS_FATLABE Log saved to /tmp/mountall.log Starting network: OK Starting launcher: Starting input-event-daemon: input-event-daemon: Start parsing /etc/input-event- daemon.conf... input-event-daemon: Adding device: /dev/input/event0... input-event-daemon: Adding device: /dev/input/event1... input-event-daemon: Adding device: /dev/input/event2... input-event-daemon: Start listening on 3 devices... done rk312x login: Edited January 4 by Blinky updated image with correct pinout 4 1 1 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351904 Share on other sites More sharing options...
Spanner Posted November 19, 2023 Share Posted November 19, 2023 Rockchip RK3128: Quad-core Cortex-A7 up to 1.2GHz Mali-400MP2 GPU RK3128 - Rockchip Wiki NAND: 256mb: TOSHIBA TC58NVG1S3HT A00 NAND IC like THEC64 Mini Download Datasheet RAM: 256mb: H5TQ2G63GFR Hynix Semiconductor DRAM Chip DDR3 SDRAM 2Gbit 128Mx16 1.5V 96-Pin FBGA Download Datasheet 3 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351914 Share on other sites More sharing options...
Spanner Posted November 19, 2023 Share Posted November 19, 2023 (edited) ID of Nand chip.. Quote FLASH ID:98 da 90 15 76 16 The kernal is a Android kernal like THEC64, size 6534 KiB so about 6mb, well THEA500 Kernel is 12mb. Liniux is Buldroot.. Quote ID=buildroot VERSION_ID=2018.02-rc3 PRETTY_NAME="Buildroot 2018.02-rc3" Nand Size Quote Capacity: 218.5 MB = 0.2 GB (447488 x 512) Looks like oem/ is the rootfs and its ext2.. Quote Mounting /dev/rkflash0p7(ext2) on /oem Edited November 19, 2023 by Spanner 1 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351923 Share on other sites More sharing options...
Blinky Posted November 19, 2023 Author Share Posted November 19, 2023 (edited) From what I've encountered during my search I already thought it may be something android based. If we just knew the login credentials... I foundf this interesting too: MMC Device 1 not found no mmc device at slot 1 Card did not respond to voltage select! This could probably be used as a simple test to see if the SD card is working once a connnector / sd-slot is soldered to the contacts. Edited November 19, 2023 by Blinky 1 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351927 Share on other sites More sharing options...
Spanner Posted November 19, 2023 Share Posted November 19, 2023 (edited) If say you want to run Retroarch on this, I managed to get RA 1.7.0 working on THEC64 Mini but because of its 256mb ram it would only load one game at a time so to load another one you would have to reset it and reload Retroach again so turn it off and on or restart it cause it would run out of ram, that properly why this is good a run a game from carts, load one then have to turn it off to load another one. It could only run RA 1.7.0, I did try RA 1.9.6 but it would run out of ram before running the game so Retroarch was to big in its ram so its core used to much ram. Edited November 19, 2023 by Spanner Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5351951 Share on other sites More sharing options...
rip Posted November 20, 2023 Share Posted November 20, 2023 I had a fiddle with this console last night for about an hour, details here: Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5352093 Share on other sites More sharing options...
Jstick Posted November 20, 2023 Share Posted November 20, 2023 12 hours ago, Blinky said: There are also two pin headers that connect the mainboard to the I/O board (the big green PCB inside the 2600+) The switch inputs (1P_AB, 2P_AB, 16:9/4:3, B/W, Game Select and Game Reset) are connected to the pin header directly meaning these are read directly by the main processor. The Joystick and cart slot (5V logic) are not available on these headers. These are handled by the two MCUs (Micro controllers) on the I/O board and communicate with the main board using the RX and TX serial pins also on the header. Are you sure joystick isn't present on the headers? I see D-/D+ and D-1/D+1 labelled on the left header, which could potentially be directional signals for each of the joystick ports. Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5352169 Share on other sites More sharing options...
Blinky Posted November 20, 2023 Author Share Posted November 20, 2023 12 hours ago, Jstick said: Are you sure joystick isn't present on the headers? Yes. There are not enough pins on the headers. The most labeled signals connect to two pins of the the same header. the D+ and D- are USB (differential) signals. One pair is for the main CPU the other most likely for the I/O board MCU's. BTW the serial header on the I/O board's Rx and Tx signals connect to Rx and Tx signals of the mainboard. 1 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5352528 Share on other sites More sharing options...
Thomas Jentzsch Posted November 20, 2023 Share Posted November 20, 2023 A question from an uninformed: Where are the MCUs located in the pictures and what are the specs of the MCUs? Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5352548 Share on other sites More sharing options...
Blinky Posted November 20, 2023 Author Share Posted November 20, 2023 They are located at the I/O board. You can see them in (part of) Ben's picture here: Don't know the specs yet. Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5352579 Share on other sites More sharing options...
jaek_3 Posted November 21, 2023 Share Posted November 21, 2023 Is it possible it might eventually be hacked like the NES mini? Maybe with a better emulator? Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5352814 Share on other sites More sharing options...
Blinky Posted November 21, 2023 Author Share Posted November 21, 2023 It sure will be. 9 hours ago, jaek_3 said: Maybe with a better emulator Stella is the best there is. 4 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5352994 Share on other sites More sharing options...
Thomas Jentzsch Posted November 21, 2023 Share Posted November 21, 2023 11 hours ago, jaek_3 said: Is it possible it might eventually be hacked like the NES mini? Maybe with a better emulator? What is wrong with Stella? Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5353056 Share on other sites More sharing options...
jaek_3 Posted November 21, 2023 Share Posted November 21, 2023 (edited) 2 hours ago, Thomas Jentzsch said: What is wrong with Stella? 3 hours ago, Blinky said: Stella is the best there is. Sorry, I wasn't trying to diss Stella (didn't realize it was using it, actually) 😅. What I meant to ask was whether the compatibility of the machine itself can/will eventually be improved via user hacks. Edited November 21, 2023 by jaek_3 1 Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5353136 Share on other sites More sharing options...
Thomas Jentzsch Posted November 21, 2023 Share Posted November 21, 2023 9 minutes ago, jaek_3 said: What I meant to ask was whether the compatibility of the machine itself can/will eventually be improved via user hacks. As of now Plaion is working on it. Quote Link to comment https://forums.atariage.com/topic/357064-atari-2600-hardware/#findComment-5353142 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.