Jump to content
IGNORED

RetroN 77


jeremiahjt

Recommended Posts

My guess about the cart reader:

I don’t know how the cart slot reads the data from the cart and passes it to Stella, but the “reading data process” must not have the list of “bank-switch types” that Stella uses to play everything.

Tricks had to be developed to bank-switch for games using more than 4K and each company developed their own ways to do this.

 

Simplifying banking: 2600 wasn’t designed with a data pin out, so developers had to trick a backwards input to cause a 4K switch. The dump/reader, like Stella, may need to know the bank-switching type, or it will fail to read all the ROM data.

Fun related fact: The added RAM was 256 bytes but only 128 bytes can be used. Why? Because it can read the RAM but not write to the RAM. The trick developed to make it work needs the first half of RAM mirrored to the second half.

 

For instance, it plays Pitfall II on a file - but the cart fails, right?

Stella looks up the “bank-switching type” using the data of the game, sees Pitfall II bank-switching is the DPC helper chip with RAM so Stella adds DPC emulation for the helper chip.

The cart reader must dump and give Stella an incomplete file that fails to run. Stella may determine it is Pitfall II, but needs all the ROM game data because Stella cannot run code that isn’t there.

 

Pitfall II is 10K to 12K so that is less than 16K.

It has been said that physical carts of 16K or less can work — which covers most original releases except games from companies using exotic bank-switching and added RAM. Games with Atari’s added RAM like Dig Dug work from cart, so it understands all Atari methods up to 16K with added RAM.

Edited by iesposta
  • Like 2
Link to comment
Share on other sites

Updates will still have to come from Hyperkin I assume. The Stella emulator is open sourced and can be upgraded, but I imagine the cart dumper is not? So the only way to improve compatibility with physical carts is to update the dumper with improved heuristics. 2600 is more difficult than a straightforward console like snes or genesis, but the mapper assortment is by and large simpler than the nes.

 

Lookup tables based on hashes only benefit known commercial games that show up in databases. Take for instance Tengen Ms Pacman. The header info in the database shows incorrect mirroring, resulting in broken gameplay when Ms Pacman was loaded. However the cartridge pcb has jumpers attached to the pin connector which dictate the mirroring type. Had the Retron5 console simply detected the mirroring for this cart (and other simple mappers that are hard wired) by reading the jumpers instead of dumping only the prg and chr, and attaching what it presumed was the correct header info, this specific game cart would not be bugged out when inserted.

 

 

So while lookup tables are useful in edge cases (for instance Pitfall II is about as popular a game for Atari as Castlevania III NES, which failed on most noac consoles), heuristics can go a long way. As for eventually getting dpc+ homebrews to load off carts, it would be important to know the game has this mode enabled by detecting the arm driver from certain banks.

 

Then there is the issue of "reserved" banks of arm code inaccessible by the cart bus. Sadly any game that employs "reserved" arm banks is probably undumpable through the Retron77 in cartridge form. Again, it may be possible for a hacker to inject trojan code into the arm cpu to read these inaccessible banks and stream it across the cart bus, but doing so would require simulating realtime bus access which I doubt the Retron77 can do.

 

I would love to be proven wrong though. I wonder if the entirety of game rom can be accessed for the more advanced cdw titles? Obviously Stella would need to catch up, and it is unknown if the embedded Retron77 cpu can handle Stella v5.x. It is entirely plausible it could cause stuttering or slowdown in Melody supported games if that were the case.

  • Like 1
Link to comment
Share on other sites

How do I get the retron to read my memory card? I copied all the files from the retron memory card to my computer then from my computer to my memory card but the retron wont recognize my card.

 

 

The SD card from Hyperkin contains the bootloader in the first few sectors, *before* the partition starts. So, if you want to use another memory card, your have to write the image from hyperkin.com/r77 to the card (using Windows disk imager if you are on windows) and then grow the FAT32 partition to fill the whole card.

Edited by DirtyHairy
  • Like 2
Link to comment
Share on other sites

The SD card from Hyperkin contains the bootloader in the first few sectors, *before* the partition starts. So, if you want to use another memory card, your have to write the image from hyperkin.com/r77 to the card (using Windows disk imager if you are on windows) and then grow the FAT32 partition to fill the whole card.

Why are bootloaders on hidden partitions even necessary? Just throw an R77bios.bin or something in the root directory. That's how the flashcarts and Analogue FPGA consoles update themselves...

 

Good news is I'll probably never need anything bigger than 128Mb to store ROMs. This is an Atari console, after all... :lolblue:

 

I wonder though, if the Retron77 is SDHC/SDXD compatible?

  • Like 1
Link to comment
Share on other sites

I'm fairly sure it's more of an industry standard and cheaper for the developer - whereas stuff from flashcarts and analogue have a tiny, custom, permanent, bit of code that looks for files. "Bootloader" type images like R77 are similar to making a bootable USB stick for loading new OS'es on a PC. You need a special program to flash the image to the stick.

 

---

 

Can you imagine the original 1977 VCS being bogged down with all these exceptions and caveats?

Edited by Keatah
  • Like 1
Link to comment
Share on other sites

Why are bootloaders on hidden partitions even necessary? Just throw an R77bios.bin or something in the root directory. That's how the flashcarts and Analogue FPGA consoles update themselves...

 

Because the CPU boots directly from SD and does not know anything about file systems. The specifics are documented here: http://linux-sunxi.org/Bootable_SD_card and here: http://linux-sunxi.org/Boot_Process

Edited by DirtyHairy
  • Like 2
Link to comment
Share on other sites

 

 

The SD card from Hyperkin contains the bootloader in the first few sectors, *before* the partition starts. So, if you want to use another memory card, your have to write the image from hyperkin.com/r77 to the card (using Windows disk imager if you are on windows) and then grow the FAT32 partition to fill the whole card.

 

It worked thanks

Link to comment
Share on other sites

THE RETRON 77 HAS ARRIVED IN MY HANDS! :-)

 

Join us LIVE TONIGHT (Monday) on the ZeroPage Homebrew Video Gaming Twitch livestream at 8PM PT/11PM ET for the UNBOXING and PLAYTHROUGH of all the HOMEBREW games contained within the Retron 77! We'll also be checking out the brand new game Quantum Tunnel!

 

LIVE: Monday July 9th, 2018 @ 8PM PT/11PM ET (TONIGHT!)

Twitch Stream: https://www.twitch.tv/zeropagehomebrew/

 

Homebrew Games on the Retron 77:

Muncher by Rick Skrbina (aka Wickeycolumbus)

Baby by Robert Holmes (aka Robsome)

Nexion 3D by Brock Keaghey (aka TheMajorHavoc)

Astronomer by Alex Pietrow (aka Coolcrab)

 

See you all then!!

 

Thanks for the review! :)

 

You guys lost some time each time a star left the screen because you have to 'wait until the next night'. So you get a time penalty. That's when the line becomes red.

And the number at the bottom of the main screen is your high score. (you got 3 at the end)

 

And yes the score is your time counting down, and you get extra time when you fill a bar fully.

  • Like 1
Link to comment
Share on other sites

 

This 7800 controller weighs 5 pounds, Happ Competition (balltop mod) and is made of 3/4" mdf. I joked that she was "bulletproof" after I constructed her. Probably not, but feel free to slap her around. She'll take whatever abuse you dish out...

16441775328_662fcdf380_h.jpg

 

Thats impressive. I'd imagine that would survive just about anything :0

 

You could keep a beer and some pretzels in that as well and make it a kit!

Edited by RugglesTx
  • Like 1
Link to comment
Share on other sites

Any difficulties getting it loaded? Some possible pointers for those getting their hands on these? (Mine arrives tomorrow)

 

We need to decide who is going to do any of this work, how it will be distributed, etc. I personally don't want to take responsibility for releasing something that can potentially brick a paid-for product. Particularly when many of its users won't have as much of a technical background as many users here.

 

Updating to Stella 3.9.3 is relatively easy; I could just release the uImage that can be directly updated on the SD card. Anything further will require help from the parent company.

  • Like 7
Link to comment
Share on other sites

My guess about the cart reader:

I don’t know how the cart slot reads the data from the cart and passes it to Stella, but the “reading data process” must not have the list of “bank-switch types” that Stella uses to play everything.

[ snipped ]

 

This is essentially correct. The reader software is actually quite simple (some may say too simple). The real work is being done in the reader hardware itself, and someone would need to see its software to determine if the compatibility can be improved.

  • Like 3
Link to comment
Share on other sites

You're very welcome Coolcrab, very unique and fun game! I have definitely never played a 2600 game like it! It's too bad Hyperkin didn't have any instructions for the homebrew games included in the system so I did my best at looking up the instructions online at the last minute. Thanks for the explanation of the scoring and tactics!

 

Here's the Twitch LIVE show that happened last night archived on our YouTube channel for those of you who missed our unboxing and built-in homebrew playthrough:

 

 

 

Thanks for the review! icon_smile.gif

 

You guys lost some time each time a star left the screen because you have to 'wait until the next night'. So you get a time penalty. That's when the line becomes red.

And the number at the bottom of the main screen is your high score. (you got 3 at the end)

 

And yes the score is your time counting down, and you get extra time when you fill a bar fully.

 

  • Like 1
Link to comment
Share on other sites

 

We need to decide who is going to do any of this work, how it will be distributed, etc. I personally don't want to take responsibility for releasing something that can potentially brick a paid-for product. Particularly when many of its users won't have as much of a technical background as many users here.

 

Updating to Stella 3.9.3 is relatively easy; I could just release the uImage that can be directly updated on the SD card. Anything further will require help from the parent company.

I would love for you to release whatever updated build you have. Obviously it would be a "use at your own risk" thing. But if the entire Retron77 OS is contained on the SD bootloader, the chances of permanently bricking the device is slim to none.

 

And yes, we need more info on the cart dumper, and if the drivers for it can be updated to increase compatibility. I take it Hyperkin chose not to reveal the source code or documentation for this specific part of the device. After all, the dumper isn't covered by Stella's GPL license.

Link to comment
Share on other sites

Hyperkin has obeyed the GPL wrt Stella and released all changes (although in the end the changes were very minimal anyway). AFAIK, they haven't released the dumper code or related stuff under GPL, and they are not legally required to do so. Unless someone can see that part (or Hyperkin works on it), nothing further can be done to improve it.

  • Like 3
Link to comment
Share on other sites

Hyperkin has obeyed the GPL wrt Stella and released all changes (although in the end the changes were very minimal anyway). AFAIK, they haven't released the dumper code or related stuff under GPL, and they are not legally required to do so. Unless someone can see that part (or Hyperkin works on it), nothing further can be done to improve it.

 

 

As an addendum: the actual dumper code runs on a microcontroller; the "dumper" contained in Hyperkins source drop merely communicates with the MCU via UART and receives the dumped ROM. So, even if Hyperkin releases the source (which they are not required to do; they did more already than what would have been required to comply with the GPL) for the dumper firmware, it is unclear if and how the MCU can be reprogrammed from software.

  • Like 2
Link to comment
Share on other sites

Hyperkin has obeyed the GPL wrt Stella and released all changes (although in the end the changes were very minimal anyway). AFAIK, they haven't released the dumper code or related stuff under GPL, and they are not legally required to do so. Unless someone can see that part (or Hyperkin works on it), nothing further can be done to improve it.

 

To me the whole point of this thing is to play your real carts (yes it's emulation and it's all smoke and mirrors) and as I've probably already mentioned in this thread - if I have to put half my collection on it as rom files on an SD card I don't see the point of the existence of this thing that differentiates it from a flashback. So I hope Hyperkin is watching this thread, and others like it, and taking notes and are actually working on fixing this dumper code. If it can't play some of the most popular and common carts it's a no go for me and I'll wait for a flashback 9. I can't imagine they didn't already know so many carts wouldn't work.

Edited by AtariLeaf
Link to comment
Share on other sites

 

We need to decide who is going to do any of this work, how it will be distributed, etc. I personally don't want to take responsibility for releasing something that can potentially brick a paid-for product. Particularly when many of its users won't have as much of a technical background as many users here.

 

Updating to Stella 3.9.3 is relatively easy; I could just release the uImage that can be directly updated on the SD card. Anything further will require help from the parent company.

I would also love to see an image of the update you created posted also. It would be relatively easy to place it on a different micro sd for testing purposes leaving the original card safe and sound.

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