CIDER BootROM
A resident module that automatically adds BonusRAM to your CIDER-equipped system at boot time.
What is BootROM?
BootROM is a resident module (library) that automatically detects and adds your CIDER board's BonusRAM to the system memory pool during the boot process. Unlike the standalone addram tool, BootROM runs automatically every time you boot your system without requiring any user intervention.
Key Features
- Automatic operation: Runs during system startup without user intervention
- Smart detection: Only activates if CIDER board and BonusRAM are present
- Memory merging: Attempts to merge BonusRAM with existing Fast RAM for optimal layout
- Safe fallback: Creates separate memory block if merging isn't possible
- Boot bypass: Hold left mouse button during boot to skip activation
- Legacy support: Fixes memory priorities on Kickstart 1.x systems
How It Works
BootROM integrates into the Amiga's boot process as a resident module:
- Detection: Scans for CIDER board during system startup
- Testing: Safely tests available BonusRAM using non-destructive methods
- Integration: Adds memory to system pool, preferring to merge with existing Fast RAM
- Optimization: On older Kickstart versions, adjusts memory priorities for better performance
Memory Layout
- Address Range: $A00000 to $BEFFFF (up to ~2MB)
- Type: Fast RAM (32-bit, no wait states)
- Integration: Merged with existing Fast RAM when possible
- Compatibility: Works with all Amiga software that supports Fast RAM
Installation Methods
Method 1: Extended ROM Integration (Recommended)
For permanent installation, integrate BootROM into your Extended ROM using tools like Remus or Romtool. The custom Extended ROM can then be easily programmed into your CIDER's flash memory using the cflash tool.
Benefits:
- Automatic activation on every boot
- No startup-sequence modification needed
- Works even with minimal system configurations
- Fastest activation (runs early in boot process)
- Easy installation to flash memory with cflash
Method 2: LoadModule Command
For temporary or testing purposes, you can load BootROM manually:
loadmodule bootrom
Use cases:
- Testing before permanent installation
- Temporary setups
- Systems where you don't want to modify Extended ROM
Method 3: Startup-Sequence Integration
Add to your startup-sequence for automatic loading:
; Load CIDER BootROM support
C:loadmodule DEVS:bootrom
User Control
Bypassing BootROM
To prevent BootROM from activating (useful for troubleshooting):
- During boot: Hold the left mouse button while the system starts
- Keep holding until the boot process completes
- Result: BootROM will detect the button press and skip activation
This is useful when:
- Troubleshooting memory issues
- Testing system without BonusRAM
- Comparing performance with/without additional memory
Verifying Operation
Check if BootROM successfully added memory:
avail
Look for:
- Increased Fast RAM amount
- Memory blocks labeled "GottaGoFast!"
- Total available memory increase
Technical Details
Resident Module Integration
- Priority: Runs during cold start initialization
- Type: NT_LIBRARY resident module
- Activation: Automatic during system boot
- Dependencies: Requires expansion.library
Memory Testing Method
BootROM uses safe, non-destructive memory testing:
- Tests at offset +$B00 from each 64KB boundary
- Avoids potential conflicts with system hardware
- Uses address-based test patterns
- Restores original values after testing
Memory Integration Strategy
- Preferred: Merge with existing Fast RAM block for contiguous memory
- Fallback: Create separate BonusRAM memory block
- Optimization: Adjusts memory priorities on Kickstart 1.x systems
Kickstart 1.x Enhancements
On older Kickstart versions, BootROM provides additional optimizations:
- Sets Ranger RAM priority to -5 for better allocation order
- Ensures proper memory type flags are set
- Improves overall memory management behavior
Troubleshooting
BootROM Not Running
- Check installation: Verify BootROM is properly integrated into Extended ROM
- Check board: Ensure CIDER board is properly installed and detected
- Mouse button: Make sure you're not accidentally holding left mouse button during boot
Memory Not Added
- No BonusRAM: Board may not have RAM installed or RAM may be faulty
- Already active: Memory may already be added by other means (addram tool, etc.)
- Board detection: CIDER board may not be detected properly
Verification
Use these commands to check system status:
; Check available memory
avail
; Check for CIDER board (if you have appropriate tools)
showconfig
; Check memory layout
showmem
Comparison with ADDRAM Tool
| Feature | BootROM | ADDRAM Tool |
|---|---|---|
| Activation | Automatic | Manual |
| Boot timing | Early (resident) | Later (startup-sequence) |
| User control | Mouse button bypass | Command line options |
| Installation | Extended ROM | Startup-sequence |
| Flexibility | Fixed behavior | Configurable options |
| Best for | Set-and-forget | Testing and customization |
When to Use Each
Use BootROM when:
- You want automatic, hands-off operation
- You have a stable system configuration
- You want the earliest possible memory activation
- You prefer ROM-based solutions
Use ADDRAM tool when:
- You want control over memory configuration
- You need verbose output for troubleshooting
- You want to test different settings
- You prefer startup-sequence based solutions
Integration Examples
Extended ROM Integration Workflow
# 1. Obtain bootrom module from CIDER-Software.lha
# Download from: https://github.com/LIV2/CIDER-Software/releases/latest
# 2. Backup your current Extended ROM
cp extended.rom extended.rom.backup
# 3. Add bootrom to Extended ROM using Remus/Romtool
<use your preferred ROM tool to add bootrom to extended.rom>
# 4. Flash updated Extended ROM to your CIDER
cflash -x extended.rom
Testing Before Permanent Installation
# 1. Test with loadmodule first
loadmodule bootrom
# 2. Verify memory was added
avail
# 3. If satisfied, integrate into Extended ROM using your preferred ROM tool
Final Tips
- Backup first: Always backup your Extended ROM before modification
- Test thoroughly: Use loadmodule to test before permanent integration
- Mouse bypass: Remember the left mouse button bypass for troubleshooting
- Check compatibility: Verify with your specific system configuration
- Monitor memory: Use
availto confirm proper operation
License
BootROM is licensed under the GPL-2.0 only license