Overview
Loading screens are full-screen images displayed while your game loads. DevCPC automatically converts PNG images to SCN (screen) format and adds them to your DSK image.Quick Start
1. Create Your PNG
Create a PNG image with the correct resolution for your chosen mode:- Mode 0: 160x200 pixels, 16 colors
- Mode 1: 320x200 pixels, 4 colors
- Mode 2: 640x200 pixels, 2 colors
2. Configure devcpc.conf
3. Place PNG Files
4. Build Project
- Finds all PNG files in
assets/screen/ - Converts each to SCN format
- Saves to
obj/directory - Adds to DSK automatically
- Creates
.infofiles with palette data
Screen Modes
Mode 0: 160x200, 16 Colors
Best for: Colorful graphics, logos, detailed images- Resolution: 160x200 pixels exactly
- Maximum colors: 16 from CPC palette
- Each pixel = 2 bytes in video memory
Mode 1: 320x200, 4 Colors
Best for: Sharp text, clean graphics, retro aesthetic- Resolution: 320x200 pixels exactly
- Maximum colors: 4 from CPC palette
- Higher resolution, fewer colors
Mode 2: 640x200, 2 Colors
Best for: Text adventures, high-res graphics, monochrome art- Resolution: 640x200 pixels exactly
- Maximum colors: 2 from CPC palette
- Highest resolution
CPC Color Palette
Use these RGB values in your image editor:Creating PNG in GIMP
Step 1: New Image
- File → New
- Width: 160 (Mode 0) or 320 (Mode 1) or 640 (Mode 2)
- Height: 200
- Advanced Options → Fill with: Transparency or Background color
Step 2: Set Up Palette
- Windows → Dockable Dialogs → Palettes
- Create “CPC Palette” with colors from table above
- Image → Mode → Indexed
- Use custom palette with max colors for your mode
Step 3: Create Artwork
- Use pencil tool for pixel-perfect control
- Zoom in (400% or more) for detail work
- Use only palette colors
- Check color count: Image → Mode → Indexed → Colormap
Step 4: Export
- File → Export As
- Choose PNG format
- Export → Accept defaults
Build Output
When you rundevcpc build, you’ll see:
Generated Files
Palette Info File (.scn.info)
Each screen generates an.info file:
Loading Screens in BASIC
Simple Loading Screen
With Border
Animated Loading Message
Multiple Screens
Loading Screens from Assembly
Direct Load
With Palette Setup
Fast Decrunch (Compressed Screens)
For larger projects, compress screens:Loading Screens from Tape (CDT)
Configuration
Order Matters
Loading from Tape
Advanced Techniques
Fade In Effect
Scanline Effect
Screen Transition
Memory Considerations
Screen Memory Layout
Loading Multiple Screens
If you have many screens, consider:- Compression: Use Exomizer or similar
- Streaming: Load screens on-demand
- Partial Updates: Only update changed areas
Troubleshooting
Screen Not Displaying
Problem: Black screen after LOAD Solutions:- Ensure MODE is set before LOAD
- Check load address is &C000
- Verify PNG dimensions match mode
- Set palette with INK commands
Wrong Colors
Problem: Colors don’t match PNG Solutions:- Copy palette from .scn.info file
- Set INK colors AFTER MODE command
- Use exact CPC RGB values in PNG
PNG Conversion Fails
Problem: “Color not in CPC palette” Solutions:- Use only CPC palette colors
- Install Pillow:
pip3 install Pillow - Reduce colors in image editor
- Use indexed color mode
File Too Large
Problem: DSK is full Solutions:- Remove unused screens
- Use compression
- Create multiple DSK images
- Use CDT (tape) for more space
Best Practices
1. Optimize File Count
2. Name Files Clearly
3. Test on Real Hardware
- Colors may look different on CRT
- Test brightness levels
- Check border colors
- Verify timing
4. Provide Feedback
Complete Example
Project Structure
devcpc.conf
loader.bas
Build and Test
Related
- BASIC Program Example - Complete BASIC project
- 8BP Game Example - Game with loading screens
- Sprite Animation - Creating sprites
- Multi-File Projects - Organizing assets