I have this question that has been bugging me. Is there a ROM routine that prints the ADAM logo on the screen when you start an ADAM program or is it drawn on the screen by a routine in the boot block of each ADAM program?
The routine is is not fully coded in the boot block, because it would be too big. Instead, it has even more code in an overlay file, called LOGOS in the directory, but in the evil way of Coleco boot blocks, it does not use file I/O to get the overlay by name, but rather relies upon it sitting in defined blocks on the disk/tape. The overlay loads 3 1024-byte blocks to a defined address, then the loader calls an address in the overlay. Overall, the boot code sets up the VDP and copies color and pattern information to VRAM, which makes the image appear on the screen.
I was looking at the SmartFiler boot block disassembly here http://www.theadamre...misc/sfboot.asm and the routine starting at $C85C seems to display the initial boot screen. Is it using the data at $C900 to draw the ADAM logo? Maybe a newbie question but I'd like to know.
Hey, it was me that did the disassembly 17 years ago :-) BTW I fixed your broken URL.
In the particular example, the data at I$C9FA is the pattern data for the ADAM bitmap logo. I just gave it as hex data to save space. I do have a disassembly utility that interprets pattern info and shows the bitmap for each byte. Many Coleco programs use the same kind of boot block, with the same ADAM logo in it. My SmartBASIC 1.x interpreter uses a modified version of this code.
Is there some kind of template that one would use to create their own boot screen?
The disassembly could be used to make a template. You would just have to figure out your own bitmap and colors and where to put that data into VRAM. The ASCII text at BOOT_TEXT is just to get something on the screen fast, for you to look at, while the rest of SmartFiler loads. IIRC it's about 24K, so that would take awhile from the tape drive.
Hope this helps!
*Dr. D.* (Dr. Richard F. Drushel)
Edited by Dr. D., Tue Nov 14, 2017 4:03 PM.