Jump to content
IGNORED

Atari 2600+ Hardware


Blinky

Recommended Posts

3 hours ago, ChrisKewl said:

Will any USB-C OTG cable work? I saw this one on Amazon and I am thinking about grabbing it:
https://www.amazon.com/Adapter-Charger-Mac-Book-Samsung-Surface/dp/B09Z2KGLSK/

If it works, please let us know. In a thread about OTG I posted a pic of a similar one which failed when I tested it.

 

https://forums.atariage.com/topic/358091-otg-cable-on-atari-2600-does-not-work/?do=findComment&comment=5364289

Edited by DEANJIMMY
Link to comment
Share on other sites

3 hours ago, Thomas Jentzsch said:

One could dump twice and compare

I' think the dumper is doing that already to detect bankswitched roms. Once it finds a 'stable' rom it will dump it. If not it would not dump it.

 

The tricky part is when to decide when a dump is good or bad. The emulator has more resources to determine this  and could report back to the dumper that it was a bad dump and request a new one but I'm not sure if it would improve things. In most cases it will be likely be a bad insert / dirty cart and user interaction is required for that.

 

Link to comment
Share on other sites

On 12/11/2023 at 8:26 PM, Blinky said:

interesting. When I had my logic analyzer hooked to the tx line I noticed the dumper sends EA every 3-4 seconds when there is no cart and when there is a cart it sends EE in about the same interval as long as the cart is inserted.

 

 

I see them now... I used:

hexdump -Cv /dev/ttyS0 &

But hexdump prints out entire lines so only when it has received 16 bytes. if I only sent hex 95 one or two times it won't print anything.

When I send hex 95 16 times the dumper's response (16 times EA or EE) is output by the hexdump command.

 

So it looks like the dmenu.bin is requesting cart status from the dumper, the dumper sin't doing this automatically.

Link to comment
Share on other sites

I bought Dupont Jumper Cable Ribbon so I could put 16 cables on one connector that connects to the cartridge Dumper and 16 on the USB DB9 Ports connector that connect between the Main CPU SoC Board and the Cart/DB9 Board but they are to wide, anyone know if you can get a smaller size, I can't find any at the moment... ?

These are like the ones I got but they are too wide, probably because there for a breadboard:

41012686-1024x764.jpg

Edited by Spanner
Link to comment
Share on other sites

Here is the launch script, I thought it might help...
 

#!/bin/sh
#
# Start linux launcher...
#

# Load default env variables from profiles(e.g. /etc/profile.d/weston.sh)
#. /etc/profile

DEBUG="/userdata/xudebug.ini"

ACT="/tmp/.next"
MAPP="/oem/vendor/bin/dmenu.bin"

app_scheduler()
{
	if $MAPP > /dev/null 2>&1; then
		if [ -f "$ACT" ]; then
			if  ! sh $ACT > /dev/null 2>&1; then
	#           sleep 5
				echo "[allenapp] exe app fail ..."
			fi
			rm -f "$ACT"
		fi
	else
		sleep 10
	fi
}

printf_app_scheduler()
{
	if $MAPP ; then
		if [ -f "$ACT" ]; then
			if  ! sh $ACT ; then
	#           sleep 5
				echo "[allenapp] exe app fail ..."
			fi
			rm -f "$ACT"
		fi
	else
		sleep 10
	fi
}


check_display_device()
{
LCD_STATUS="/sys/class/drm/card0-DSI-1/status"
HDMI_STATUS="/sys/class/drm/card0-HDMI-A-1/status"

#1.check enable
UBCMD=`cat /proc/cmdline`

#2.off hotplus delect
case "$UBCMD" in
  *icodec*)
		#echo "hdmi work..."
		echo 0 > /sys/class/backlight/backlight/brightness
		echo off > $LCD_STATUS
		#force enable hdmi
		echo on > $HDMI_STATUS

		#pre flush hdmi,then plusin/out is ok
		/oem/vendor/bin/hdmi
	;;
  *)
		#echo "lcd..."
		echo off > $HDMI_STATUS
		
		if [ -e "/etc/asound.conf" ];then
			amixer cset name='Playback Path' 6  > /dev/null 2>&1
		fi
	;;
esac
}

check_retroarch_cfg()
{
RA_HEAD_DIR=/.config/retroarch
	
	if [ ! -d $RA_HEAD_DIR ];then
		mkdir -p $RA_HEAD_DIR
	fi
	if [ ! -e "$RA_HEAD_DIR/retroarch.cfg" ];then
		cp /oem/retroarch/retroarch.cfg  $RA_HEAD_DIR/retroarch.cfg
		sync
	fi
}

force_otg2host()
{
    echo host > /sys/devices/platform/20008000.syscon/20008000.syscon:usb2-phy@17c/otg_mode
}

check_userdata_fs()
{
	USERDATA_INFO=`cat /proc/mounts | grep -e  userdata`
	if [ x"$USERDATA_INFO"  == x  ]; then
		#use /etc/fstab
		#e.g: fstab is vfat,but dev/rknand0p8 is ext2,repeat format nand +++
		mount /dev/disk/by-partlabel/userdata
		
		if [ $? -ne 0 ]; then
			TYPE=`/sbin/blkid -o udev -p /dev/disk/by-partlabel/userdata`
			case "$TYPE" in
				*vfat)
					mkfs.vfat /dev/disk/by-partlabel/userdata
				;;
				*ext2)
					mkfs.ext2 /dev/disk/by-partlabel/userdata
				;;
				*ext3)
					mkfs.ext3 /dev/disk/by-partlabel/userdata
				;;
				*ext4)
					mkfs.ext4 /dev/disk/by-partlabel/userdata
				;;
			esac
				
			mount /dev/disk/by-partlabel/userdata		
		fi
	fi
}

case "$1" in
  start)
		printf "Starting launcher: \n"
		#set as follow at /etc/proflie
		#export LC_ALL='zh_CN.utf8'
		#export HOME=/userdata
		
		force_otg2host

#maybe oem para don't mout		
		if [ ! -f $MAPP ];then
			echo "--- my app don't find"
			exit 1
		fi
		
#--------------------------------------
		check_userdata_fs
		if [ ! -d "/userdata/retroarch" ];then
			mkdir -p /userdata/retroarch
			mkdir -p /userdata/retroarch/states
			mkdir -p /userdata/retroarch/saves
		fi
#--------------------------------------
		#check_retroarch_cfg
		cp /oem/retroarch/retroarch.cfg  /tmp/
		
#		check_display_device
#--------------------------------------
		
		if [ -f $DEBUG ];then
			exit 1
		fi
#--------------------------------------
		{
			touch "$ACT"
			
			while [ -f $RUNBIN ]
			do
				app_scheduler
				#printf_app_scheduler

			done
		}&
	;;
  stop)
		killall retroarch
		printf "stop finished"
        ;;
  *)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac
exit 0

 

  • Like 2
Link to comment
Share on other sites

5 hours ago, Spanner said:

Here is the launch script, I thought it might help...

I wonder why it mounts the userdata for states and saves? There is no user interface to use this data. Or do the emulators emulate some save options? How do you access these features?

Link to comment
Share on other sites

4 hours ago, karri said:

I wonder why it mounts the userdata for states and saves? There is no user interface to use this data. Or do the emulators emulate some save options? How do you access these features?

Stella would support states. But with the UI disabled and no alternatives (e.g. extra buttons), we cannot make use of this.

Link to comment
Share on other sites

12 hours ago, Spanner said:

ey are to wide, anyone know if you can get a smaller size, I can't find any at the moment... ?

the headers are 1.27mm pitch. Your best option is probably getting a pair of 2 x 8pin 1.27mm pitch male to female cables like these on Aliexpress.

 

1 hour ago, Thomas Jentzsch said:

Is that the speed the dumper is working with? And is it 9 bits/byte? So that it can dump 12,800 bytes/s?

 

10 minutes ago, Thomas Jentzsch said:

What defines the exact number? The protocol used? Do you know the exact number? If not, what's usual here?

It's the configured speed of the MCUs UART. It uses the standard 1 start bit, 8 databits, no parity and 1 stop bit. It's actual serial speed is slightly faster than 115200 but within tolerance (it may vary a bit because the dumpers MCU is clocked by an internal RC oscillator which clock speed varies slightly depending on voltage and temperature)

 

 

 

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Thomas Jentzsch said:

Thanks!

 

What defines the exact number? The protocol used? Do you know the exact number? If not, what's usual here? 

Asyncronous serial transmission usually have 10 bits. With parity 11 bits. Sometimes people want to use 2 stop bits instead of 1 which makes it 12 bits per character.

Link to comment
Share on other sites

16 hours ago, ChrisKewl said:

Do you have an Amazon link? 

https://amzn.eu/d/0cqIQKR

As I said, I have no idea if the additional ports will be of any use. Once the Upgrade is available I could try to do it via the hub instead of direct connection.

Others have to tell if there is a possibility for a hack to use controllers or usb sticks on the external port (or the internal) in the future.

Link to comment
Share on other sites

On 11/21/2023 at 2:31 PM, Thomas Jentzsch said:

How is the situation of 7800 emulators in general? Is the ProSystem frequently updated? And are there better alternatives?

Sorry, I'm just starting my holiday and catching up on a ton of threads!

 

My A7800DS emulator uses ProSystem as the base and it's been nothing short of frustrating to get the accuracy to a place where I'm happy. It took more than a year of tweaks to get things mostly right. Much of that happened when I stumbled upon the Wii port of the emulator which had some nice improvements and I spent some time asking some dumb (easy for me!) questions here on AA.  Most of the improvements I made to the base ProSystem were related to more accurate Maria Cycles accounting and Cycle Stealing (which is now universally applied - the original ProSystem only selectively applied this) along with improved cart detection and banking handling.  I also added the stable "illegal" opcodes which were not present in the version of ProSystem I started with.

If ProSystem base is to be used going forward, I'd at least seek out the improvements done from the unofficial Wii port but hone in on the cycle accounting.

In particular, this table was instrumental in getting my emulation much closer - and that last highlight is super important since almost every ProSystem-based emulator gets the 'no DMA penalty' wrong.

image.thumb.png.9757a748245f0b274b2492776be388e2.png

  • Like 5
Link to comment
Share on other sites

On 12/12/2023 at 9:51 PM, Spanner said:

its a shame Atari cases were not made with plastic cause they would have still existed, cause they are made from carboard they don't.

Perhaps there is someone who can make new cardboard cases using the old graphics.  Just add a ‘Reproduction’ mark somewhere to ward off the scammers.

 

I found new old-stock 2600 games being sold out of Venezuela a few years back, and bought quite a few.  Shrink-wrap and everything.  Some utter spoon in Customs here decided that they would check one of these brand new carts (Pole Position) by hacking the box apart with a box-cutter.  ‘Inspected by a massive pr*ck’.

Link to comment
Share on other sites

16 hours ago, boggis the cat said:

Perhaps there is someone who can make new cardboard cases using the old graphics.  Just add a ‘Reproduction’ mark somewhere to ward off the scammers.

 

I found new old-stock 2600 games being sold out of Venezuela a few years back, and bought quite a few.  Shrink-wrap and everything.  Some utter spoon in Customs here decided that they would check one of these brand new carts (Pole Position) by hacking the box apart with a box-cutter.  ‘Inspected by a massive pr*ck

There are folk on Etsy selling boxes, manuals and labels for 2600 games, so if you’re keen to get modern printed ones they’re out there.

Link to comment
Share on other sites

18 hours ago, Blinky said:

Got my rom loader working. Can load 2600 and 7800 roms over a USB serial cable. Some mods to the 2600+ are required though.

 

Project is on my GitHub

 

Here's a YouTube video of loading some 2600 and 7800 roms. Sorry for the poor quality beforehand.

 

 

You could make a games manager on the pc for loading different games and handy if you want to play a game you do not have as a card.

Edited by Spanner
Link to comment
Share on other sites

18 hours ago, Blinky said:

Got my rom loader working. Can load 2600 and 7800 roms over a USB serial cable. Some mods to the 2600+ are required though.

 

Project is on my GitHub

 

Here's a YouTube video of loading some 2600 and 7800 roms. Sorry for the poor quality beforehand.

 

 

I am looking forward to seeing how this further develops. Very nice so far.

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...