APOD 2021 April 29 "Apollo 17: The Crescent Earth" © NASA; restoration: Toby Ord |
by Bill Kendrick, 2020-2023
|
APOD 2020 July 29 "The Giants of Summer" © Jean-Luc Dauvergne |
"Discover the cosmos!" from the comfort of your #FujiNet-equipped Atari 8-bit microcomputer!
View decades' worth of NASA's Astronomy Picture of the Day (APOD) in glorious high resolution monochrome, or even fantastic(ally flickery) 4,096 colors.
This project is comprised of two parts:
I'm an armchair astronomy / astrophysics fan. A number of years ago, I wrote a small Linux shell script to fetch the NASA APOD image and use it as a desktop background. More recently, I see that the KDE Plasma desktop now supports various "photo-of-the-day" backgrounds, including APOD. I thought it would be cool to create something like this for the Atari.
Many decades ago, when I first got online (modem) with my Atari, and the web was new (Mozilla and Netscape Navigator days), I thought it would be neat to have a grahical web browser for the Atari — or at least something that could display graphics, if not inline on a page — and thought I could utilize the Unix webserver at my college for this. It never happened... until today (swapping the easier-to-use and faster FujiNet for a modem or an Atari 850 connected to an Ethernet-to-serial device, like a Lantronix "UDS").
This "toy" project could be used as a basis for something more complex. Together with services like 68k.news ("Basic HTML Google News for vintage computers") and frogfind.com (search results from DuckDuckGo, with pages processed through "Mozilla Readability" and further stripped down), real web browsing could be possible on a network-connected Atari (be it FujiNet, a real modem, a pseudo-modem setup, a DragonCart, or maybe even an an 8-bit Hub).
Finally, it's just been a fun project to work on, allowing me to expand my knowledge and experience with both cross-compiling C code on the Atari and 6502 assembly language. I'm still new at this, though, so don't expect anything brilliant in here.
From the main menu, you can simply choose one of a number of viewing modes, and the current Picture-of-the-Day will be downloaded and displayed.
[H]
- "Hi-res mono"
(320x192 black & white; "GRAPHICS 8
" mode)
[M]
- "Med-res 4 color"
(160x192 4-color "GRAPHICS 15
"
aka "GRAPHICS 7+
" mode)
[C]
- "Med-res 64 color"
(160x192 64 colors via 4 shades of red, green, and blue; "ColorView15" mode)
[G]
- "Lo-res 16 shade"
(80x192 16 greyscale "GRAPHICS 9
" mode)
[F]
- "Lo-res 4K color"
(80x192 4,096 colors via 16 shades of red, green, and blue; "ColorView9" mode)
[A]
- "Lo-res 256 color"
(80x192 256 colors via 16 hues + 16 luminences; "Any Point Any Color (APAC)" mode)
Note:
Press [Esc]
to return to the main menu
while viewing an image.
From the main menu, you can also choose the source of the image. By default, an Astronomy Picture of the Day (APOD) image will be fetched via the FujiNet APOD web app. Other options either fetch static sample images from that web app, or render a test pattern:
[0]
- "Get APOD" (fetch an APOD image; the default)[1]
—[5]
- "Get Samples" (fetch a static sample image)[9]
- "Color Bars" (no download; locally renders a test pattern)You can choose which day's APOD image to load. Your Atari will attempt to fetch the current date from your FujiNet device, allowing you to easily navigate to the previous days. Keyboard controls related to date-picking are:
[<]
- Previous day[Shift]+[<]
- Previous month[Control]+[<]
- Previous year[>]
- Next day[Shift]+[>]
- Next month[Control]+[>]
- Next year[=]
- Fetch the latest APOD (not from a date-archived web page; the default)[Control]+[T]
- Manually (re)fetch the current date from your FujiNetConsult the Astronomy Picture of the Day Archive to see what images are available. The FujiNet APOD viewer can support dates all the way back to 2000 January 1!
Some viewing modes offer options to tweak the display, which can help make some images easier to see, or bring out more details or colors.
In these modes, the screen flickers between diffent images. The combination of your CRT screen's phosphors still remaining lit, and your own eyes' persistence of vision, allows you to (hopefully) be able to perceive many more colors than are actually appearing on the screen.
The "Med-Res 64 color" (ColorView15) and "Lo-res 4K color" (ColorView9) modes are comprised of three image components: Red, Green, and Blue. You can adjust which one of the Atari's 16 hues are used for each component, by pressing one of these keys:
[R]
- Change "Red" component to the next hue[Shift]
+[R]
- Change "Red" component to the previous hue[G]
- Change "Green" component to the next hue[Shift]
+[G]
- Change "Green" component to the previous hue[B]
- Change "Blue" component to the next hue[Shift]
+[B]
- Change "Blue" component to the previous hue[X]
- Reset Red, Green, and Blue componets to their default huesThe "Lo-Res 256 color" mode is comprised of two image components: 16 shades of grey, and 16 hues (all one shade). You can adjust the shade, or "luminence", of the hues component between 8 different levels by pressing one of these key combinations:
[L]
- Next lighter luminence[Shift]
+[L]
- Next darker luminenceNote: The values for the ColorView modes' Red, Green, and Blue hues, and the APAC mode's luminence, are displayed on the main menu (in decimal).
Here are some typical names given to Atari hues. Note: It's not particularly standardized. Both monitors and the Ataris themselves typically have controls to adjust hues. (Plus, as they say, NTSC stands for "Never The Same Color"!) Along with adjusting the hues within the APOD Viewer, you may want to adjust your monitor's and/or Atari's settings.
The luminence values go from 0 (darkest) to 14 (brightest), in steps of 2. The default is 2, which seems to work well.
When it first launches, the APOD Viewer will attempt to load color settings from an "app key" store on your FujiNet's SD card, if it exists.
If you find the built-in defaults are not suitable,
you can save your choices to the "app key" by pressing
the "[S]
" key on the main menu.
(A usable microSD card must be inserted in your FujiNet!)
apod-2023-12-29.zip
apod-2023-12-29-src.tar.gz
Makefile
, etc.)
fujinet-apps/apod/
Git repository
servers/apod/
Git repository
The "atari-apps.irata.online
" TNFS server (which
you can access from the "CONFIG
" tool that your
FujiNet device boots into) usually contains a recent stable
copy of the program, under the "Networking/
"
folder. Look for "apod.xex
".
You might also enjoy my International Space Station (ISS) Tracker for Atari 8-bits that uses FujiNet!
Client and PHP code by Bill Kendrick <bill@newbreedsoftware.com>, New Breed Software.
Major assistance with initial ColorView mode and memory
management from "apc" on the FujiNet Discord chat server.
"Any Point, Any Color" (APAC) mode and RGB modes
(from "COLRVIEW
" image viewer on the Atari)
by Jeff Potter. Re-implemented in this project.
"nsio
" module from Thomas Cherryhomes
(major FujiNet big-wig).
Thanks to everyone else who's been encouraging me, and who have helped me along the way (since the 1990s!)