Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Benchmark for Gameboy GB: Difference between revisions

From GameBrew
(Created page with "{{Infobox GB Homebrews |title=Benchmark for Gameboy |image=fnumgb.png |description=A small program to test performance. |author=Leaf |lastupdated=2005/10/15 |type=Test Roms |version=2005 |format=DMG |license=Mixed |download=https://dlhb.gamebrew.org/gbhomebrews/fnumgb.7z |website=http://mydocuments.g2.xrea.com/index.html |source=http://mydocuments.g2.xrea.com/index.html |donation= }} {{#seo: |title= (Other Apps) - GameBrew |title_mode=append |image=fnumgb.png |image_alt=...")
 
No edit summary
Line 20: Line 20:
|image_alt=Benchmark for Gameboy
|image_alt=Benchmark for Gameboy
}}
}}
On 2ch's old PCs forum, there is a thread titled "Searching for Amicable Numbers Benchmark Thread".
On 2ch's old PCs forum, there's a thread titled "Searching for Amicable Numbers Benchmark Thread", where participants run a short BASIC program to search for the "Amicable Numbers". The goal is to compete for performance as the results can vary significantly depending on each machine's hardware configuration and the performance of the built-in BASIC interpreter.


Participants run a short BASIC program to search for the "Amicable Numbers". The goal is to compete for performance as the results can vary significantly depending on each machine's hardware configuration and the performance of the built-in BASIC interpreter.
However, due to the language issue, executing the program directly on the Game Boy was not possible. In order to participate, the program was ported to machine language for the Game Boy. Variables were kept fixed at 16-bit, and only a general 16-bit/16-bit division routine was used.
 
However, due to the language issue, executing the program directly on the Game Boy was not possible. In order to participate, the program was ported to machine language for the Game Boy.
 
During the porting process, efforts were made to closely follow the flow of the original program. Variables were kept fixed at 16-bit, and only a general 16-bit/16-bit division routine was used. With further tuning, it's possible to achieve even better performance, and there seems to be plenty of room for experimentation - perhaps even rebuilding the program from scratch could yield faster results.


==User guide==
==User guide==

Revision as of 10:14, 9 September 2023

Benchmark for Gameboy
Fnumgb.png
General
AuthorLeaf
TypeTest Roms
Version2005
LicenseMixed
SystemDMG
Last Updated2005/10/15
Links
Download
Website
Source

On 2ch's old PCs forum, there's a thread titled "Searching for Amicable Numbers Benchmark Thread", where participants run a short BASIC program to search for the "Amicable Numbers". The goal is to compete for performance as the results can vary significantly depending on each machine's hardware configuration and the performance of the built-in BASIC interpreter.

However, due to the language issue, executing the program directly on the Game Boy was not possible. In order to participate, the program was ported to machine language for the Game Boy. Variables were kept fixed at 16-bit, and only a general 16-bit/16-bit division routine was used.

User guide

When you launch the ROM, the screen remains black, but it becomes responsive to input. Press B will trigger a sound, indicating the start of the calculation. The sound will play each time a result is obtained. The time measurement is done manually.

The results listed below were obtained by running the program on the actual device, recording the sound with recording software, and manually measuring the time. It should be fairly accurate.

Results:

  • Manufacturer - Nintendo.
  • Model name - Game Boy.
  • CPU - Z80 custom.
  • Clock - 4MHz.
  • memory - 32KB ROM.
  • Language - Machine language (assembler).
  • Program changes - Corrected "FOR J=2 TO 1000" on line 110 to equivalent to "FOR J=2 TO 10000".

Score:

  • 220,284 - 4 seconds 6.
  • 1184,1210 - 2 minutes 14 seconds 8.

External links

Advertising: