Updating firmware questions

128 views
Skip to first unread message

Rufus Shippert

unread,
Aug 11, 2025, 11:32:57 PMAug 11
to Altair-Duino
I'm an Altair-Duino noob and I want to update the firmware to include Dazzler support.  

So far, I've:
- Installed the Arduino IDE installed on my Windows system
- Downloaded the firmware from the GIT archive and verified it opens in the Arduino IDE
- Modified config.h so that USE_DAZZLER is set to 1
- Downloaded Dazzler.exe from its archive
- Followed most of the instructions for "The More Difficult Way" on the Software Install page

There are two parts of "The More Difficult Way" that I'm unsure about:

1. If you are using the DB9 serial module or VT100 emulator on serial port 2, you will need to change a precompiler directive
- How do I know if I'm using the DB9 serial module or the VT100 emulator on serial port 2?

2. If you are using the I/O bus
- Again, How do I know if I'm using the I/O bus?

My Altair-Duino is running great and I don't want to screw it up.  Thanks for your patience with this noob.








Chris Davis

unread,
Aug 12, 2025, 9:48:01 AMAug 12
to Altair-Duino
1. Since you have the Pro version, it is using A6/A7 for the DB9 serial port on the back.  You want to make sure #define USE_SERIAL_ON_A6A7 is set to 1.

2. Again, since you have the Pro version 2.0, it is using the I/O bus. Set #define USE_IO_BUS to 1.

Rufus Shippert

unread,
Aug 12, 2025, 4:10:46 PMAug 12
to Altair-Duino
Thanks for the help!  Much appreciated.

Unfortunately, when I select Sketch > Upload, I get a bunch of error text.  The same error text appears when I select Sketch > Verify/Compile.

I followed the instructions, namely:

1. In Sketch > Include Library >  Manage  Libraries, I have the following libraries installed:
- DueFlashStorage 1.0.0 (by Sebastian Nilsson)
- SD 1.1.1 (by Arduino, SparkFun)
- SdFat 2.3.0 (by Bill Greiman)

2. In Tools > Board > Boards Manager, I installed Arduino SAM Boards (32-bits ARM Cortex-m3) 1.6.12 (by Arduino)

3. I edited C:\Users\rufust\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.12\platform.txt and replaced the "-Os" with "-O3" (I only saw three instances) 

4. I set the config.h and host_due.h variables

5. The USB cable is connected to my Windows system and to the Altair-Duino (do I need to remove the Arduino Due from the Altair-Duino?)

6. Tools > Port is set to COM3 (Arduino Due (Programming Port)) which is the same port I use to connect PuTTY to the Altair-Duino

7. Tools > Board is set to Arduino SAM Boards (32-bits ARM Cortex-M3) > Arduino Due (Programming Port)

The error text I get is below.  Any ideas what I missed?


C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\cdrive.cpp: In function 'bool cdrive_mount(byte, byte)':
C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\cdrive.cpp:276:122: error: use of deleted function 'FsFile::FsFile(const FsFile&)'
           drive_mounted_disk_type[drive_num] = cdrive_get_type_id(drive_file[drive_num], host_filesys_file_size(filename));
                                                                                                                          ^
In file included from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/FsLib/FsLib.h:31:0,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/SdFat.h:32,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host_due.h:11,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host.h:15,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\cdrive.cpp:22:
C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/FsLib/FsFile.h:905:7: note: 'FsFile::FsFile(const FsFile&)' is implicitly deleted because the default definition would be ill-formed:
 class FsFile : public StreamFile<FsBaseFile, uint64_t> {
       ^
C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/FsLib/FsFile.h:905:7: error: use of deleted function 'StreamFile<FsBaseFile, long long unsigned int>::StreamFile(const StreamFile<FsBaseFile, long long unsigned int>&)'
In file included from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/ExFatFile.h:882:0,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/ExFatVolume.h:27,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/ExFatLib.h:28,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/SdFat.h:30,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host_due.h:11,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host.h:15,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\cdrive.cpp:22:
C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/../common/ArduinoFiles.h:76:7: note: 'StreamFile<FsBaseFile, long long unsigned int>::StreamFile(const StreamFile<FsBaseFile, long long unsigned int>&)' is implicitly deleted because the default definition would be ill-formed:
 class StreamFile : public stream_t, public BaseFile {
       ^
In file included from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/FsLib/FsLib.h:31:0,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/SdFat.h:32,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host_due.h:11,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host.h:15,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\cdrive.cpp:22:
C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/FsLib/FsFile.h:75:3: error: 'FsBaseFile::FsBaseFile(const FsBaseFile&)' is private
   FsBaseFile(const FsBaseFile& from);
   ^
In file included from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/ExFatFile.h:882:0,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/ExFatVolume.h:27,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/ExFatLib.h:28,
                 from C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/SdFat.h:30,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host_due.h:11,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\host.h:15,
                 from C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\cdrive.cpp:22:
C:\Users\rufust\OneDrive\Documents\Arduino\libraries\SdFat\src/ExFatLib/../common/ArduinoFiles.h:76:7: error: within this context
 class StreamFile : public stream_t, public BaseFile {
       ^
C:\Users\rufust\Desktop\Altair Stuff\Altair8800-master\Altair8800\cdrive.cpp:100:13: error:   initializing argument 1 of 'byte cdrive_get_type_id(File, uint32_t)'
 static byte cdrive_get_type_id(HOST_FILESYS_FILE_TYPE file, uint32_t image_file_size)
             ^
exit status 1

Compilation error: use of deleted function 'FsFile::FsFile(const FsFile&)'

Chris Davis

unread,
Aug 12, 2025, 7:18:53 PMAug 12
to Altair-Duino
No, you do not need to remove the Due from your kit. 

Just a guess, but you might want to try an earlier version of SDFat.  I have version 1.1.0 installed.

Rufus Shippert

unread,
Aug 12, 2025, 10:41:34 PMAug 12
to Altair-Duino
That was a really good guess!  Version 1.1.0 of SdFat did the trick; my kit has the updated firmware with the Dazzler options.

Looks like I'll need to open the kit to get to the native USB port, and I'll probably want to get a cable/mount for easier access, but I'm on my way!  Thanks!

Walt Perko

unread,
Aug 12, 2025, 11:37:33 PMAug 12
to Altair-Duino
Hi, 

Once you're comfortable with the original DAZZLER programs then you can try DZMBASIC:  

See some of the art, game and screen saver programs I've written:  http://www.brainless.org/Altair/DAZZLER/  


then get the collection of DAZZLER software I've been writing:  http://www.brainless.org/Altair/Repository/WKP-DAZZLER-Collection.zip


The command line you type on your console is DZMBASIC filename ... it's just an enhanced MBASIC interpreter.  


.

Tom Lake

unread,
Aug 14, 2025, 5:08:58 PMAug 14
to Altair-Duino
Does DZMBASIC need a Z-80 to run? Most of the Dazzler demos do but I usually run Altair BASIC and don't like having to switch back and forth between
8080 and Z-80 modes.

Walt Perko

unread,
Aug 14, 2025, 5:11:54 PMAug 14
to Altair-Duino
Hi, 

Yes, DZMBASIC requires a Z80 CPU ... all the library functions are written in Z80 assembly.  

OTOH, Why wouldn't Altair BASIC run with the Z80?   Both the 8080 and the Z80 share at least 99% compatibility.  


.

David Williams

unread,
Aug 14, 2025, 5:48:21 PMAug 14
to Altair-Duino
I've had no problems running MBASIC and Altair Disk Basic in z80 mode.

Tom Lake

unread,
Aug 14, 2025, 10:28:56 PMAug 14
to Altair-Duino
MBASIC is OK since it was written after the introduction of the Z-80. When I run Altair Disk BASIC, however, it runs but gives weird answers to any calculations.
What version of Disk Extended BASIC are you running?

Walt Perko

unread,
Aug 14, 2025, 10:34:30 PMAug 14
to Altair-Duino
Hi, 

DZMBASIC isn't Disk Extended BASIC, it's MBASIC with a dozen new reserved words to connect it to the DAZZLER boards.  Works great, easy to program for the DAZZLER ...  


.

Tom Lake

unread,
Aug 14, 2025, 10:42:01 PMAug 14
to Altair-Duino
I know DZMBASIC isn't Disk Extended BASIC. I was answering the person who said he has no problems running MBASIC and Altair Disk BASIC (Also called Disk Extended BASIC)
on a Z-80.

Rufus Shippert

unread,
Aug 14, 2025, 10:59:36 PMAug 14
to Altair-Duino
I was unaware of DZMBASIC.  Thanks for making me aware!  I still haven't gotten Dazzler working on my kit yet, but I took today off and will try again tomorrow.  Once it's working, I'll definitely check DZMBASIC out!

David Williams

unread,
Aug 15, 2025, 2:09:55 PMAug 15
to Altair-Duino
I'll admit that I never checked for math errors. I'm running the version that is included in the standard collection of disks for the Altairduino.
Reply all
Reply to author
Forward
0 new messages