Jump to content
IGNORED

7800 Menu Design Questions


ZackAttack

Recommended Posts

I've been working on adding the ability to boot the Uno and Plus carts as a 7800 cart and I'd appreciate some feedback on potential implementations of the menu system.

 

Some background info:

  1. When the system is powered on the cart will detect if it is in a 2600 or 7800.
  2. When cart is in a 7800 it will pass the BIOS checks and take over execution as a 7800 cart.
  3. Before the TIA can be accessed the console must be locked into either 2600 or 7800 mode.
  4. In 7800 mode everything but audio can be accomplished without locking the console into 7800 mode.
  5. Once locked into a mode, a power cycle of the console is the only way to unlock.

TLDR; Everything but audio can be done in the menu, but once a ROM is loaded the cart will be limited to 2600 or 7800 until the next power cycle.

 

There are a few options to consider.

  1. Prompt the player with a choice of modes when powered on and immediately lock it to either 2600 or 7800 only.
  2. Add a user setting to determine locking behavior.
  3. Always start as 7800 unlocked, and lock to whichever console is chosen first. If the selected ROM supports both modes, default to the 7800 mode.

 

Once locked to a mode, we need to restrict the menu somehow.

  1. Hide any files that can't be run until a power cycle unlocks again.
  2. Show all files but have some GUI indicator that they are locked out and prevent selection.

 

The menu system in 7800 mode uses 8x12 glyphs. The screen resolution for text is 320x192 (PAL is taller). For now, the 2600 fonts will be used scaled to double the width. The 7800 has enough RAM to hold a full page of text. This allows the text to remain on screen while loading from SD/WIFI.

Link to comment
Share on other sites

On 1/6/2023 at 3:57 AM, ZackAttack said:

I've been working on adding the ability to boot the Uno and Plus carts as a 7800 cart and I'd appreciate some feedback on potential implementations of the menu system.

 

Some background info:

  1. When the system is powered on the cart will detect if it is in a 2600 or 7800.
  2. When cart is in a 7800 it will pass the BIOS checks and take over execution as a 7800 cart.
  3. Before the TIA can be accessed the console must be locked into either 2600 or 7800 mode.
  4. In 7800 mode everything but audio can be accomplished without locking the console into 7800 mode.
  5. Once locked into a mode, a power cycle of the console is the only way to unlock.

TLDR; Everything but audio can be done in the menu, but once a ROM is loaded the cart will be limited to 2600 or 7800 until the next power cycle.

Would be nice to have a click sound when changing a entry, but no sound is fine for me too.

 

On 1/6/2023 at 3:57 AM, ZackAttack said:

There are a few options to consider.

  1. Prompt the player with a choice of modes when powered on and immediately lock it to either 2600 or 7800 only.
  2. Add a user setting to determine locking behavior.
  3. Always start as 7800 unlocked, and lock to whichever console is chosen first. If the selected ROM supports both modes, default to the 7800 mode.

I would prefer 3.

 

On 1/6/2023 at 3:57 AM, ZackAttack said:

Once locked to a mode, we need to restrict the menu somehow.

  1. Hide any files that can't be run until a power cycle unlocks again.
  2. Show all files but have some GUI indicator that they are locked out and prevent selection.

I think 1. would be better and easier to implement with the PlusStore API (by adding the mode/console to the "Client-Conf" http header).

 

I am not sure how we will implement either of these with the "Offline"-flash and SD-card files and folders.

 

On 1/6/2023 at 3:57 AM, ZackAttack said:

The menu system in 7800 mode uses 8x12 glyphs. The screen resolution for text is 320x192 (PAL is taller). For now, the 2600 fonts will be used scaled to double the width. The 7800 has enough RAM to hold a full page of text. This allows the text to remain on screen while loading from SD/WIFI.

Maybe we can add a loading animation to the 7800 text screen?

For larger files a loading animation is helpful for the user, so he sees that the system is active.

 

Link to comment
Share on other sites

8 hours ago, Al_Nafuur said:

I think 1. would be better and easier to implement with the PlusStore API (by adding the mode/console to the "Client-Conf" http header).

 

I am not sure how we will implement either of these with the "Offline"-flash and SD-card files and folders.

Theres only a few file types that support 7800 mode, so I was thinking of basing it on file extension to avoid the overhead of parsing file headers for each file. a78, e78, and eds would be for Atari 7800, elf 7800, and elf dual system file types respectively. a78 and e78 are 7800 only, eds is both, and everything else would be treated as 2600 only. I was also learning towards option 1 (Hide any files that can't be run until a power cycle unlocks again.), but my only concern is that it could be confusing to have the contents of the folder change after you exit the first rom. Maybe we do 1, but also show notice the first time you return to menu that the system is now locked in whichever mode and that some files will be hidden until you power cycle.

 

8 hours ago, Al_Nafuur said:

Maybe we can add a loading animation to the 7800 text screen?

For larger files a loading animation is helpful for the user, so he sees that the system is active.

I was going to add a loading progress percentage for the 7800 mode, we can update the percentage for every n bytes that are downloaded. We could do the same for 2600 eventually once we sort out DMA and IRQs.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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