sidecartridge / atarist-sidecart-raspberry-pico

AtariST cartridge emulator based on Raspberry Pi Pico and RP2040
GNU General Public License v3.0
57 stars 5 forks source link

Enhanced Search Functionality in the Floppy Images Download Section #93

Open diegoparrilla opened 8 months ago

diegoparrilla commented 8 months ago

Description:

The current mechanism for managing and accessing the floppy images database within the constraints of devices with limited memory, such as the RP2040 featuring only 256KB of RAM, presents a unique challenge. Given that the comprehensive database of floppy images exceeds 1MB, it's unfeasible to store and directly query the entire database on the RP2040 due to its memory limitations.

To navigate this constraint, a sharding strategy was employed, organizing the database alphabetically by the initial letter of each application's name. This method divides the database as follows:

This approach necessitates that users initially filter by the first letter of the application's name, subsequently scrolling through the list to locate the desired game or application.

Proposed Enhancement for Application Search:

To streamline the search process and enhance user experience, we propose the introduction of a more dynamic search functionality on the download page. This new feature would include the following improvements:

  1. Search Input Field: Introduce a text input field on the download page, allowing users to type in the name of the application they're searching for.

  2. Search Execution Process:

    • Upon entering the application name and pressing enter, the system will first retrieve the entire shard corresponding to the application's initial letter.
    • The Atari ST firmware, which has a larger memory capacity than the RP2040, will then conduct a matching process to identify the application within the shard.
  3. Partial Name Searches:

    • If a user enters only a portion of the application's name, the system will display all potential matches, enhancing the flexibility of the search process.
  4. Handling Unfound Applications:

    • Should the search fail to locate the application, the system will notify the user that the application was not found. It will suggest attempting the search again using only the initial letters of the application's name for better results.

This proposed enhancement aims to leverage the Atari ST's superior memory resources for the search process, thereby circumventing the RP2040's memory limitations and significantly improving the user experience in locating and downloading floppy images.