8000 GitHub - git2358/silih
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

git2358/silih

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swap It Like It's Hot (Silihcam)

A custom Game Boy Camera/Pocket Camera ROM for CGB/GBA/GBASP that runs by cartswapping.

It can be used to manuall 880D y modify registers that the original camera software could not, without needing to use a flash cart custom-built for the Game Boy Camera. If you have one of these custom carts, you'll probably want to use Photo! for more features and a better user experience.

Currently, it is missing several important features.

Current Features

  • Modify the camera registers and contrast setting
  • Take a picture
  • Remote control over the link cable

Planned Features

  • Gallery to view and delete pictures
  • Autoexposure
  • Assisted mode similar to Photo!

Maybe-not-planned Features

  • DMG support. This includes the original Game Boy / Pocket / Light / Super Game Boy 1 and 2. The DMG does not have enough RAM to store the entire payload, and we use CGB-exclusive features like DMA transfers and rotation. Though conceivably possible (and definitely possible for the SGB!), no support for these platforms is planned.

Quickstart

Download the appropriate release from our releases page, flash it onto a flash cart, and run it on your Game Boy Color/Advance/Game Boy Advance SP. When you see the screen that says "Press A to play," carefully remove the flash cart, insert your Game Boy Camera cart, and press any button. If for some reason you want to run it in an emulator, only some emulators support both the Game Boy Camera AND yanking Game Paks while the game is running. BGB or Sameboy are recommended.

Controls

  • A: Take a photo. Once the viewfinder has stopped changing, pressing B again will save the picture, and pressing A will discard it.
  • Select+Up: Switch to stock software stored on the ROM, allowing you to access the gallery, take a photo with the stock software's autoexposure, or print (printing is currently untested, but should work). You can return to Silihcam by holding SELECT+DOWN.

Option values

The camera registers are best described in the readme for Photo!, in AntonioND's Game Boy Camera Technical Information document, and in the sensor datasheet.

  • M: Selects the edge enhancement mode (0: None, 1: Horizontal, 2: Vertical, or 3: 2D) using camera registers N and VH.
  • C: Exposure Time (in steps of 16μS). Determines how long the sensor collects light before being read out.
  • O: Output reference voltage. This is essentially the same as V, but changes the output voltage bias by smaller steps. In practice, increasing this value leads to all pixels looking 'brighter' to the MAC-GBD chip.
  • G: Gain. Higher values need less light but produce a noiser image. Lower values need more light but produce a cleaner image.
  • E: Edge Enhancement ratio. The higher it is, the more filtering will be done to make edges stand out in the image.
  • V: Output node bias voltage (Vref), in steps of 0.5V. The original software always sets this to 3 (1.5V). In practice, increasing this value leads to all pixels looking 'brighter' to the MAC-GBD chip. Changing this may set the voltage the sensor outputs outside of the range of the MAC-GBD's analog-to-digital converter.
  • Contrast: Determines what values are used in the dither table and how close together the values are to each other.
  • Dither Table: The ROM has 3 tables of base values used for dithering: 0 for low light conditions, 1 for high light conditions, and 2 unused.

Remote Controller

Silihcam can be controlled remotely by another Game Boy over the link cable port. This is useful for taking stabilized shots.
When the Silihcam cart is run on a device that is not CGB-compatible, pressing a button will instead launch the remote controller. It can also be launched on a CGB-compatible device by pressing a button in the launcher without cartswapping.

Building on Linux / macOS

  1. Install RGBDS 0.6.1 and GNU Make (most systems already have this installed)
  2. Download or git clone this repository
  3. Navigate to the root folder (the one that has a file called Makefile in it)
  4. Run "make". The generated .gbc file can be found in the bin folder, along with a .sym file for debugging.
    To recompile, run "make clean" before running make.

Acknowledgements

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 99.2%
  • Makefile 0.8%
0