Jump to content
IGNORED

Atari 2600+ Hardware


Blinky

Recommended Posts

13 hours ago, tradyblix said:

Also I had some sound corruption in Jungle Hunt, and that was a Stella game, so stella isn't scott free yet either.

Can explain that a bit more detailed, please?

 

E.g. where and how did it happen? Can you reproduce it? Did you hot swap or boot before? PAL or NTSC? ...

Edited by Thomas Jentzsch
Link to comment
Share on other sites

6 hours ago, Thomas Jentzsch said:

Can explain that a bit more detailed, please?

 

E.g. where and how did it happen? Can you reproduce it? Did you hot swap or boot before? PAL or NTSC? ...

I can try to play a bit more later on after work to see if I can pin point it or reproduce it and will update you.

 

It sounds "staticky" or "garbled" as if a sound effect is incorrect when played, and I noticed it on the first stage (swinging vines) a couple times, maybe 2-3 times total. I am not sure what's it's triggered by. It's intermittent tho, I didn't notice it until a few runs in and it def sounds "wrong" and not like a 2600 effect. it was brief, about 1 second or so each time. 

 

At the beginning of each stage there is a tiny brief sound of static, but this was different to that, it happened during the playthrough. I am piping sound through HDMI ARC to a soundbar, so... not sure if that plays a factor. 

 

Yeah it happened on my first playthrough of the system and I remember thinking, that doesn't sound right at the time, because i was surprised by it. So, not hotwapping before, it was first time I played a game. I am using NTSC games, and bought the system and all games in US.

 

Since then, no other games have exhibited any sound issues that I've played. 

Edited by tradyblix
more info
  • Thanks 1
Link to comment
Share on other sites

In conclusion the hardware of the machine is very disappointing. So perhaps it is possible to add a raspberry pi zero 1 or 2 and use only the i/o board? So you could use a standard linux distribution and an actual port of stella or mame to emulate 2600 or 7800, further you can upgrade the board with the next release of raspberry pi...

Link to comment
Share on other sites

31 minutes ago, atarimonster said:

In conclusion the hardware of the machine is very disappointing. So perhaps it is possible to add a raspberry pi zero 1 or 2 and use only the i/o board? So you could use a standard linux distribution and an actual port of stella or mame to emulate 2600 or 7800, further you can upgrade the board with the next release of raspberry pi...

Something like that is already in progress:

 

Link to comment
Share on other sites

46 minutes ago, atarimonster said:

In conclusion the hardware of the machine is very disappointing. So perhaps it is possible to add a raspberry pi zero 1 or 2 and use only the i/o board? So you could use a standard linux distribution and an actual port of stella or mame to emulate 2600 or 7800, further you can upgrade the board with the next release of raspberry pi...

I have to disagree. The Rockchip has graphics acceleration hardware that is far superior to any Raspberry Pi. Pi is pretty fast when used with Vulcan. But Rockchip has built in microcoded DMA's and the kind of graphics engines that fit the 7800 emulation.

 

Another problem is that perhaps the cost of writing optimized code for the 2600+ is too expensive and time consuming.

  • Like 2
Link to comment
Share on other sites

On 11/19/2023 at 3:33 PM, Spanner said:
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

With these specs I am surprised Atari and others aren't making Atari 2600+ ONLY games.  The processor and ram is overkill to that of an original 2600 and 7800.  I also want to know how Atari will address upgrading both emulators in this unit since the 2600+ does not connect to the internet.  

Link to comment
Share on other sites

7 hours ago, splendidnut said:

the hardware of the machine is very disappointing

I totally disagree. IMO the hardware is well designed and is very hackable. You can take the main board out and use it as a rockchip dev board and the I/O board is designed in such a way that it is easy to update the emulator and the the dumper firmware.

 

If you really want you could replace the mainboard with a Raspberri Pi (or even a mini PC) and interface with the I/O board but I think it would be more interesting to make a custom I/O board to interface with the main board for making a portable 2600+ or loading ROM images from some storage device (if there is no native support built in already).

 

 

  • Like 5
Link to comment
Share on other sites

I did some sniffing on the I/O board serial header. the Rx pin (data received from Main board by I/O board) doesn't seem to be active at all.

TX (data send from I/O board to main board) just sends the rom dump. No joysctick controller data as I previously thought.

 

Joysticks are probably read as a USB controller. That makes also  sense to have two MCU's on the I/O board: one for the dumper and the other as USB controller.

 

rom dumper transmits data at 115200 baud.

 

If no cart is inserted it transmits a single byte 0xEA about every 4 seconds (that's probably the time spent detecting carts)

When a cart is detected (and reconized) it transmits a 5 byte command:

 

0xAA 0x55 command ID
0x26 command type: ROM dump

msb  of dump size? (0x00)

lsb dump size of rom dump in Kbytes as BCD value(0x04 for 4K .. 0x16 for 16K)

 

This is followed by the rom dump

 

after completion of the rom dump, another 5 byte command is send:

 

0x55 0xAA Command ID
0x99 ?? (value varies)
Cart type_size (0x04  for 4K .. 0x16 for 16K)
Cart type_bankswitch (0x00  for none, 0xF6 for F6)

 

By connecting the GND and Tx pins to an FTDI cable you can use the 2600+ as a ROM dumper :)

 

 

Edited by Blinky
  • Like 8
Link to comment
Share on other sites

1 hour ago, DEANJIMMY said:

Sounds good, what about the software to dump what's coming via USB on your PC?

What software? You just re-direct the socket to a file.

 

It is also interesting to see if the dumps match the cart. Does it start dumping right when it detects the cart while the cart is being inserted? Does it do several dumps in a row until the dumps are "stable". Can it handle banksets? How much can it dump from a SN cart and so on...

 

Quality dumps are essential for the 2600+ to work. I kind of like the idea that a cart has to match a md5 hash. Then we know that the cart does not get corrupted while playing.

 

One thing that comes to mind... If the gamer is actively using the joystick then the dumper should not be allowed to scan the cart. We don't want to break the gaming session while playing. By disconnecting the TX you could probably remove the cart and still continue playing.

 

And for a developer like me... I can just stream my builds directly to the 2600+ without having to flash a physical cart. Just like the developers mode on Dragonfly.

  • Like 1
Link to comment
Share on other sites

13 hours ago, Jstick said:

Would those USB joystick signals be available on D+/- or D1+/- then?

Yes they must be on D+/- as D1+/- is connected to the micro USB connector (and rockchip) of the main board.

10 hours ago, Saint (Swiety) said:

maybe single code - $EA - NOP opcode for 6502 emulation ??

I'm sure they chose this intentionally to inform the emulator there is no cart and there is nothing to do.

8 hours ago, DEANJIMMY said:

what about the software to dump what's coming via USB on your PC?

Software would be pretty simple.I'll write a Python dumper script later that will listens to the com port and saves each received dump automatically.

8 hours ago, karri said:

Does it start dumping right when it detects the cart while the cart is being inserted?

Don't know what the dumper exactly does as the source code is not available. But it only sends a single dump and then nothing until the cart is pulled so all the cart analyzing is done internally by the MCU.

 

8 hours ago, karri said:

If the gamer is actively using the joystick then the dumper should not be allowed to scan the cart

One MCU is dedicated to reading the controller ports (U2 on the I/O board) and sending the states over USB. The other MCU (U1) is dedicated to analize and dump the cart. Once it has dumped the cart it has nothing else to do so it scans the cart slot to see if the cart gets pulled / changed (dip switch carts)

8 hours ago, karri said:

I can just stream my builds directly to the 2600+

You'll probably need to make a small mod to disconnect the Tx pin on the I/O board from the MCU connecting to the main board. So there is no collision when you feed your test rom (Not sure what the best method would be. still need to look into this)

 

5 hours ago, splendidnut said:

Please be more careful when referencing / quoting other people's posts

My bad. I didn't realize the original poster wasn't copied in the quote.

Link to comment
Share on other sites

14 minutes ago, Blinky said:

You'll probably need to make a small mod to disconnect the Tx pin on the I/O board from the MCU

I might just cut the Tx pin and solder a 3-pin connector to the back of the case. GND, TxToCPU, TxFromMCU. Then I can have a jumper for normal mode and a 3-pin connector to the FTDI cable when I want to work with the 2600+.

  • Like 1
Link to comment
Share on other sites

Today I took the I/O board out for a closer look.

 

full view:

ioboard-all-2.thumb.jpg.889dc279189b2d05ec90246db8272f43.jpg

Left side:

ioboard-left.thumb.jpg.d2f7dc0a7b2cacf469ea4540cae074eb.jpg

Center:

ioboard-center.thumb.jpg.ef88bff8a1af86aaf2d857d5e65e75d8.jpg

Right side:

ioboard-right.thumb.jpg.abf323c378e1084dc4dc078fdc096ac4.jpg

Chips:

U1: MCU to detect and dump the cart ROM

U2: MCU to convert controller ports to USB

U6: CH444G quad analog switches chip. Used to connect the USB-C connector to one of the two MCUs or the mainboards rock chip.

U7: CH442E dual analog switches chip. connects MCU U2 to the D+/- pins of the mainboard header going to the rockchip or connects the MCU to  U6.

 

Some interesting lables:

USB_S: USB switch connected to the B/W switch. B/W mode selects one of the MCUs. Color Mode selects the rockchip.

BOOT_KEY (on header) connected to the RESET switch. When reset is pulled down and power is switched on the Rockchip enters  update mode.

CAR_TEST (CARD_TEST on main board) goes to dumper MCU U1. Probably a request from the main baord to the dumper MCU to test the cart (again)
1PA_1PB,  2PA_2PB are opposite of the A and B difficulty labels on the case.  Must have been confusing determining which is which.

 

other interesting things:

 

J8 is the dumper MCU's UART that is used to send roms ro the emulator. There's 1 1K resistor added between GND and 5V. There was probably an issue with the 5V and this resistor was added as a fix.


The Controller port MCU also has a small UART header available. probably used for debugging.

 

Both MCUs U1 and U2 have their chip markings removed. One has a bar mark to distinguish the one from the other. Maybe @Ben from Plaion can tell us what mode MCU is used?

 

 

 

 

 

  • Like 1
Link to comment
Share on other sites

59 minutes ago, Blinky said:

Today I took the I/O board out for a closer look.

 

full view:

ioboard-all-2.thumb.jpg.889dc279189b2d05ec90246db8272f43.jpg

Left side:

ioboard-left.thumb.jpg.d2f7dc0a7b2cacf469ea4540cae074eb.jpg

Center:

ioboard-center.thumb.jpg.ef88bff8a1af86aaf2d857d5e65e75d8.jpg

Right side:

ioboard-right.thumb.jpg.abf323c378e1084dc4dc078fdc096ac4.jpg

Chips:

U1: MCU to detect and dump the cart ROM

U2: MCU to convert controller ports to USB

U6: CH444G quad analog switches chip. Used to connect the USB-C connector to one of the two MCUs or the mainboards rock chip.

U7: CH442E dual analog switches chip. connects MCU U2 to the D+/- pins of the mainboard header going to the rockchip or connects the MCU to  U6.

 

Some interesting lables:

USB_S: USB switch connected to the B/W switch. B/W mode selects one of the MCUs. Color Mode selects the rockchip.

BOOT_KEY (on header) connected to the RESET switch. When reset is pulled down and power is switched on the Rockchip enters  update mode.

CAR_TEST (CARD_TEST on main board) goes to dumper MCU U1. Probably a request from the main baord to the dumper MCU to test the cart (again)
1PA_1PB,  2PA_2PB are opposite of the A and B difficulty labels on the case.  Must have been confusing determining which is which.

 

other interesting things:

 

J8 is the dumper MCU's UART that is used to send roms ro the emulator. There's 1 1K resistor added between GND and 5V. There was probably an issue with the 5V and this resistor was added as a fix.


The Controller port MCU also has a small UART header available. probably used for debugging.

 

Both MCUs U1 and U2 have their chip markings removed. One has a bar mark to distinguish the one from the other. Maybe @Ben from Plaion can tell us what mode MCU is used?

 

 

 

 

 

I'll ask, factory are on a break next week so week after.

  • Like 3
Link to comment
Share on other sites

7 hours ago, splendidnut said:

The hardware in the 2600+ is fine.  It gets the job done.  With the software, they could have done a way better job with the 7800 emulation.

We are looking at the options for updating the 7800 emulation at the moment, when I have something concrete, Atari Age will be the first place  any news is shared.

Edited by Ben from Plaion
  • Like 6
  • Thanks 5
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...