Jump to content

Open Club  ·  76 members

StellaRT
IGNORED

Community-Built Unnamed 1970's Video Game Console-Compatible System (WIP)


Al_Nafuur

Recommended Posts

5 hours ago, marauder666 said:

But it will have to wait until tomorrow to be checked out before the pi gets connected

Same. I was so tired I wanted to wait and connect it after a sleep. 

 

Nice work on the ribbon cable, it takes much time to manage losing and finding the individual cores and dealing with "split ends". I'm using ribbon cable as well for making it to the cart connector from the pi.

Link to comment
Share on other sites

Hooray! Mine is working. It is using a pi 4B and the cart Berzerk is under test. Sound is working through the pi headphone port. The source code needs a one-liner change to support the pi 4B.

 

In emucore/CartPort.cxx, alter this line. This is the original code for the pi 3B:

#define BCM2708_PERI_BASE        0x3F000000

 

it should then become this for usage on the pi4B

 

#define BCM2708_PERI_BASE        0xFE000000

IMG_6630.jpeg

 

IMG_6631.jpeg

  • Like 4
Link to comment
Share on other sites

1 hour ago, MarcoJ said:

Tried out the Harmony Cart and it loads up fine. Tried out Doggone It!, Princess Rescue and Tower of Rubble and they work.

Can you test Aardvark Demo (F4SC) on the Harmony? I would like to know if it has the same issue with SC-RAM writes like the PlusCart and the Krokodile Cart.

Aardvark (NTSC) (2019) (Oscar Toledo G., Thomas Jentzsch, Nathan Strum).bin

 

 

Link to comment
Share on other sites

@marauder666 brought his contraption over to try with my carts. Results as follows:

 

Working
Combat
Asteroids (got segmentation fault, then worked by quitting and re-running)
Enduro
Super Breakout
Astroblast
Crystal Castles
Jungle Hunt
Ms Pac-Man
Battlezone
Pole Position
Phoenix
Indy 500
Space Invaders
Video Olympics
Maze Craze
Midnight Madness
Centipede
Air Sea Battle
Space War
Haunted House
Adventure
Circus Atari
Yars Revenge
Missile Command
MegaMania
Sea Quest
Laser Blast
Keystone Kapers
Pitfall
River Raid
Spider Fighter
Cosmic Commuter (got segmentation fault, then worked by quitting and re-running)
Chopper Command
Kaboom  (got segmentation fault, then worked by quitting and re-running)
Pressure Cooker
Q*Bert (Parker)
Amidar
Double Dunk (PAL) graphical corruption
Sprint Master (PAL) corruption on blue car
Reactor
Empire Strikes Back
Return of the Jedi: Death Star Battle
No Escape
Laser Gates
Demon Attack
Atlantis
Cosmic Ark (got segmentation fault, then worked by quitting and re-running)
Journey Escape
Turmoil
Solar Fox (got segmentation fault, then worked by quitting and re-running)
Star Castle Arcade (graphical corruption)
Medieval Mayhem
Fall Down
Juno First
Solaris
Tower of Rubble

 

Not Working
Bogey Blaster
Dark Caverns
Stargate
Robot Tank
HERO
Pitfall II
Star Master
Solar Storm
Commando Raid
Crash Dive
Sea Hawk
Marauder
Tunnel Runner
Berzerk VE
Draconian
Space Rocks
The End (title screen worked, crashed on game start)
Wizard of Wor Arcade
Galagon

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Thomas Jentzsch said:

Looks familiar, IIRC @Al_Nafuur has posted a similar video.

Yes, all multicarts (PlusCart, Krokodile, Harmony) show exactly the same issue with SC-RAM writes.

It looks like the lowest 3 bits on a write are always set. What puzzles me is that the menu on the PlusCart and the Harmony are obviously working correctly, but the PlusCart is relying on hotspots writes for the entries selected, and all seems fine here. Also the PlusROMs I have tested so far seem to send (and write) the correct values..

 

 

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Al_Nafuur said:

Yes, all multicarts (PlusCart, Krokodile, Harmony) show exactly the same issue with SC-RAM writes.

It looks like the lowest 3 bits on a write are always set. What puzzles me is that the menu on the PlusCart and the Harmony are obviously working correctly, but the PlusCart is relying on hotspots writes for the entries selected, and all seems fine here. Also the PlusROMs I have tested so far seem to send (and write) the correct values..

🤔 I think the difference between the firmware hotspots writes and the SC-RAM writes is that the writes in the games are most likely indexed writes..

 

Link to comment
Share on other sites

1 hour ago, Al_Nafuur said:

Yes, all multicarts (PlusCart, Krokodile, Harmony) show exactly the same issue with SC-RAM writes.

It looks like the lowest 3 bits on a write are always set. 

The number 3 makes me wonder if that is somehow related to the reduced address bus.

Link to comment
Share on other sites

4 minutes ago, MarcoJ said:

Ah that makes sense with the 3 bits then, they are overwritten onto the data bits in the GPIO. Sounds like the Address variable needs to be bitmasked.

And they are only messing things up when one of these 3 bits is set (-> when ROM mirrors are used) this explains also why some hotspots worked.

 

I tested Aardvark on the PlusCart and it worked.

 

Fix has been pushed to the repo.

  • Like 1
Link to comment
Share on other sites

12 hours ago, Al_Nafuur said:

And they are only messing things up when one of these 3 bits is set (-> when ROM mirrors are used) this explains also why some hotspots worked.

 

I tested Aardvark on the PlusCart and it worked.

 

Fix has been pushed to the repo.

Can you explain why having any of the upper 3 address bits set caused issues?
Who was relying on them specifically?
Where were they being manifest?
 

Link to comment
Share on other sites

On 9/24/2023 at 11:28 AM, MarcoJ said:

congrats! There is a known issue with root access to pulsaudio on the pi3B. Have you tried the headphone jack? There is a workaround to build Stella with alsa instead, @DirtyHairy might be able to chime in.

No need to rebuild anything, SDL2 can use ALSA (and even should use it) directly if PA is not available. You can force it by doing "export SDL_AUDIODRIVER=alsa" before running Stella.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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