Altair 8800b kit status

364 views
Skip to first unread message

Brian Decker

unread,
Jun 10, 2022, 10:07:40 PM6/10/22
to Altair-Duino
Are these available as a kit?

Chris Davis

unread,
Jun 10, 2022, 10:50:28 PM6/10/22
to Altair-Duino
I'll have a limited quantity available soon.  Sign up at the site for a notification.

Brian Decker

unread,
Jun 11, 2022, 9:09:27 AM6/11/22
to Altair-Duino
Signed up - do they come with the flat paddle switches as pictured?

Chris Davis

unread,
Jun 11, 2022, 10:22:08 AM6/11/22
to Altair-Duino
Yes, it comes with flat toggle switches.

Augusto Baffa

unread,
Jun 11, 2022, 11:07:32 AM6/11/22
to Chris Davis, Altair-Duino
And it's beautiful!! :)




--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/altair-duino/205b4f49-59fe-4498-b4e4-006d172b5836n%40googlegroups.com.

Tom Lake

unread,
Jun 11, 2022, 2:11:59 PM6/11/22
to Altair-Duino
Can we prepay so as to ensure getting one?

On Friday, June 10, 2022 at 10:50:28 PM UTC-4 famousd...@gmail.com wrote:

Rodney Hester

unread,
Jun 11, 2022, 10:43:02 PM6/11/22
to Altair-Duino
Is it fair to assume that the (revised) functions of AUX1/AUX2 switches on the b model are not represented by the simulator?

Chris Davis

unread,
Jun 11, 2022, 11:04:50 PM6/11/22
to Altair-Duino
It's just a cosmetic change (https://adwaterandstir.com/product/altair-8800-emulator-kit/).

But the code is open source and available on Github, so feel free to make the modifications! :)

Brian Decker

unread,
Jun 12, 2022, 7:48:07 AM6/12/22
to Altair-Duino
I'm with Tom - especially as a kit producer myself - I'll happily prepay if it helps to defer the cost Chris.

Chris Davis

unread,
Jun 12, 2022, 11:58:03 AM6/12/22
to Altair-Duino
I just don't really have a good method to track pre-payments.  There are a few standard kits with the 8800b front panel available on the site right now.

Tom Wilson

unread,
Jun 12, 2022, 1:44:51 PM6/12/22
to Chris Davis, Altair-Duino
Sweet! I’m going to put the B panel in my production Pro case and move the OG panel in the standard kit. I may wall mount the 8800 and my PiDP-11 next to each other 

--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.
--

Brian Decker

unread,
Jun 12, 2022, 8:04:32 PM6/12/22
to Altair-Duino
I'm holding out for a pro....then again I'm also holding out for a Pro in Black and Orange :)  I'll pay the moment I get the notice Chris.

Thomas Runge

unread,
Jun 13, 2022, 1:25:56 AM6/13/22
to Altair-Duino
But the power switch works as printed on the front panel?

Even if not, it should be fairly easy to get resolved...

Thomas Runge

unread,
Jun 13, 2022, 1:38:08 AM6/13/22
to Altair-Duino
Read, who's able to do so... :-(

Just read the Altair-Duino 8800b addendum to the build instructions and found my question answered...

Tom Lake

unread,
Jun 13, 2022, 5:36:22 AM6/13/22
to Altair-Duino
TL;DR! :) 

Tom Lake

unread,
Jun 13, 2022, 5:42:42 AM6/13/22
to Altair-Duino
If anyone makes the 8800b software changes for the AUX switches, please post them (or a link to them) here! Also, we should decide on a replacement for the 
AUX functions we have now so everyone knows what the new switch sequences for the current AUX functions are.

I'm not too good at C programming or I'd do it myself.


On Saturday, June 11, 2022 at 11:04:50 PM UTC-4 famousd...@gmail.com wrote:

Chris Davis

unread,
Jun 13, 2022, 7:46:01 AM6/13/22
to Altair-Duino
Is there an 8800b emulator online?  It would be great to see how the AUX switches worked on the 8800b.  Or I guess maybe a detailed explanation would help make the software changes.

Tom Lake

unread,
Jun 13, 2022, 3:44:12 PM6/13/22
to Altair-Duino
It's pretty straightforward:

Display/Load Switch:
The DISPLAY position allows the contents
of the CPU accumulator register to be
displayed on the DATA D0-D7 indicators.

The LOAD position allows the lower
eight address switch (A0-A7) information
to be stored in the CPU accumulator
register.

Input/Output Switch:
The INPUT position allows an external
OUTPUT device, selected on the I/O AO-A7 switches
(upper eight address switches), to input
data into the CPU accumulator. 

The OUTPUT position allows an external device,
selected on the I/O AO-A7 switches,
to receive data from the CPU accumulator
register.


Tom Wilson

unread,
Jun 13, 2022, 5:58:20 PM6/13/22
to Tom Lake, Altair-Duino

I think we all agree it would be nice to have the aux switches perform the printed function. 

Here's what I'm thinking:
  1. A short press on Aux1 or Aux2 does the "B" function (display/load A, input/output)
  2. A long press on Aux1 or Aux2 performs the classic action
And in the Configuration menu:
8800(B) mode: Off  | On (Hold Aux 2 seconds for emulator commands)

Also, a Serial Console help screen would be nice. Here's a mockup based on the hotkeys in the manual:

Altairduino 8800B
B mode: Hold Aux 2 seconds for emulator commands
Z80 CPU 
Serial Console: Press ? for help
?
Altairduino Serial Console/Debugger
[u] Run (sw) Prog   [U] run (preset program)
[>] Run at addr     [n] Octal/Dec/Hex mode 
[L] Load Memory     [H] Upload Hex File 
[C] Configuration

Command Switches
[X] Examine (sw)    [x] Examine Next   
[P] Deposit (sw)       [p] Deposit Next
[r] Run             [T] Step 
[R] Reset           [!] Hard Reset
[Q/q] Protect/Unprotect 

Debug/Monitor commands (Space to continue, Enter to end)
[M] Examine Memory  [D] Disassemble 
_



--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.

Tom Lake

unread,
Jun 14, 2022, 2:44:41 AM6/14/22
to Altair-Duino
Looks good to me! I especially like the menu choice of turning off special 8800b interpretation of the AUX switches.

Brian Welland

unread,
Jun 14, 2022, 4:13:42 AM6/14/22
to Tom Lake, Altair-Duino
Fully agree and since you would still keep the original Aux1/2 functions for normal operation this would be a welcome bonus.

Tom Wilson

unread,
Jun 14, 2022, 7:07:39 PM6/14/22
to Brian Welland, Tom Lake, Altair-Duino
I sent a David PR for the help menu. 

The Aux switch changes for B mode will take a little more time...

My fork (with the help menu) is here: https://github.com/tomxp411/Altair8800




Andy

unread,
Jun 17, 2022, 4:32:18 PM6/17/22
to Altair-Duino
8800B looks fantastic.... and shockingly fast delivery time to FL!

Tom Wilson

unread,
Jun 18, 2022, 4:39:49 PM6/18/22
to Andy, Altair-Duino
Mine got here yesterday…. I’ve been sick, so i ended up missing 5 or so solder joints, but all is well now!


The WiFi setup was also smooth, and I’ve got a nice setup now. 

ProTip: if you turn in Serial Input from the config menu, you can use U and u to launch programs and C to pull up the menu. So even if your unit is up on a shelf or something, you can still operate it. 

Eric Smith

unread,
Jun 19, 2022, 3:05:40 AM6/19/22
to Altair-Duino
On Sat, Jun 18, 2022, 14:39 Tom Wilson <wils...@gmail.com> wrote:
Mine got here yesterday

I signed up to be notified; did I miss the announcement that they were available? Did they already sell out?

Tom Wilson

unread,
Jun 19, 2022, 4:04:05 AM6/19/22
to Eric Smith, Altair-Duino
 There were a small number of standard kits for sale. We're still waiting on the Pro kits. 



--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.

Belknap K

unread,
Jun 19, 2022, 11:48:23 AM6/19/22
to altair...@googlegroups.com
That's a nice setup.  I like that wooden cabinet with the 19" rack hardware.

That PSU is similar to my Korad.  I can go down to 5.2 VDC, same current
as your meter is showing, there.

Having the PSU in the cabinet should offer a lot of ballast weight,
which helps to stabilize the cabinet. ;)

I did just today place the firmware on a new Arduino Due that arrived by
FedEx (on a Sunday!)  81 seconds to upload; the LEDs near the DC 2.1 mm
jack lit up during the process.

Your tip on the use of the C keybinding (plus compile for STANDALONE)
gave me the environment I was looking for.

My ROM'md assembler program (very simple keyboard echo prog) worked nicely.

I still don't know where to put the stack pointer (0xFC00 presently) in
the ROM (m)emory menu (A)dd rom context.

I had SP pointing someplace else and the stack pointer went to zero
after a CALL.  So something was wrong.  (4000o, or 0x800 on the wrong
pointer location).

I guessed that the memory area I was using got marked as read-only by
the ROM .hex upload function, so I wild-guessed it (0xFC00) and that did
work.

Zero also worked for a SP (LXI SP, 000o) but then it counted down from
0xFFFF which seemed like out of spec (put it there if that's where you
wanted it).

Nice photograph!

On 6/18/22 20:39, Tom Wilson wrote:
> Mine got here yesterday…. I’ve been sick, so i ended up missing 5 or
> so solder joints, but all is well now!
>
>
> The WiFi setup was also smooth, and I’ve got a nice setup now.
>
> ProTip: if you turn in Serial Input from the config menu, you can use
> U and u to launch programs and C to pull up the menu. So even if your
> unit is up on a shelf or something, you can still operate it.
>
> On Fri, Jun 17, 2022 at 1:32 PM Andy <lordha...@gmail.com> wrote:
>
> 8800B looks fantastic.... and shockingly fast delivery time to FL!
>
> --
>
> You received this message because you are
> subscribed to the Google Groups "Altair-Duino"
> group.
>
  (snip! bk)

> --
> You received this message because you are subscribed to the Google
> Groups "Altair-Duino" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to altair-duino...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/altair-duino/CALt8mqSx-1j2cpBRO%3Ddd2DYikAaR4RxhH505w1ThCrgyWda1_g%40mail.gmail.com
> <https://groups.google.com/d/msgid/altair-duino/CALt8mqSx-1j2cpBRO%3Ddd2DYikAaR4RxhH505w1ThCrgyWda1_g%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Tom Wilson

unread,
Jun 19, 2022, 12:53:46 PM6/19/22
to Belknap K, Altair-Duino
You want to set the SP at a known number of bytes past the end of your program. if you're using an assembler, do something like...

at the beginning of  your program:
        LXI SP, STACK
and at the end:
        DS 32  ; 32 bytes of empty space
STACK: 
        END

This keeps your stack within the self-contained space of your assembled program. This has the advantage of moving as your program grows (or shrinks), and you don't have to worry about finding a fixed place in memory. 



Tom Lake

unread,
Jun 20, 2022, 6:16:44 AM6/20/22
to Altair-Duino
It looks like Belknap K wants to run his program from ROM. You can't allocate space in the assembler program if you're assembling a program to be run from ROM can you? How is it going to store anything within the program area?

Belknap K

unread,
Jun 20, 2022, 3:17:28 PM6/20/22
to altair...@googlegroups.com
Thanks!

Tom Wilson's comment gave me a useful hint.

So I ended up modifying it to do this:

; 8080 Altair-Duino 20 June 2022

        ORG     400Q
        JMP     CLD

        ORG     2000Q
CLD:    LXI SP,     STACK+400Q

;       program code

STACK: DS          40Q  ; unused?
        END

; unallocated, push-down R/W stack memory, located 256 bytes past 'END'

Haven't worked out what a good number would be, for the offset outside
the .. ROM image, I'd call it.

I used 400Q (256 decimal) on the idea that it'd be one full, 256 byte
block (page) past the end of the ROM, and would likely be accepted as
R/W instead of read-only.

At some point I'll trim that much closer to the boundary, if it'll still
function as a stack.

;  assembled using:

; http://john.ccac.rwth-aachen.de:8000/as/

; Macro Assembler 1.42 Beta [Bld 222]
; (x86_64-unknown-linux)
; (C) 1992,2022 Alfred Arnold

bk

On 6/20/22 10:16, Tom Lake wrote:
> It looks like Belknap K wants to run his program from ROM. You can't
> allocate space in the assembler program if you're assembling a program
> to be run from ROM can you? How is it going to store anything within
> the program area?
>
> On Sunday, June 19, 2022 at 12:53:46 PM UTC-4 wils...@gmail.com wrote:
>
> You want to set the SP at a known number of bytes past the end of
> your program. if you're using an assembler, do something like...
>
> at the beginning of  your program:
>         LXI SP, STACK
> and at the end:
>         DS 32  ; 32 bytes of empty space
> STACK:
>         END
>
> This keeps your stack within the self-contained space of your
> assembled program. This has the advantage of moving as your
> program grows (or shrinks), and you don't have to worry about
> finding a fixed place in memory.
>
> Tom Wilson
>
> On Sun, Jun 19, 2022 at 8:48 AM Belknap K <fbk.4...@gmail.com> wrote:
>
> That's a nice setup.  I like that wooden cabinet with the 19"
> rack hardware.
>
  .

  .

> My ROM'md assembler program (very simple keyboard echo prog)
> worked nicely.
>
> I still don't know where to put the stack pointer (0xFC00
> presently) in
> the ROM (m)emory menu (A)dd rom context. /EO_MSG
>

Tom Wilson

unread,
Jun 20, 2022, 6:45:06 PM6/20/22
to Belknap K, Altair-Duino
Oops. I missed that you were loading your program as a ROM. That does make things different. 

Generally, ROM programs will be situated at the top of memory. If you expect your program to fit in a 4K ROM, for example, you'll use a start address of F000h, with a lower starting address for larger ROM programs.

So if I was writing ROMware for the Altair, I'd set up my addresses like this:
4K ROM: F000h
8K ROM: E000h
16K ROM: C000h

And data can start as low in RAM as you like. The first few bytes are special, but if you're not using the RST instructions, you can ignore that. 

So my config for a simple 4K ROM program might be:
DATA EQU 0
STACK EQU 400h
ORG F000h

This gives me 1K of shared data/stack space, and 4K of ROM. If I need more room for data, I can move the stack upward... either asking the user how much memory is available, or scanning to find out how much RAM I can use. 













--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.

Belknap K

unread,
Jun 21, 2022, 8:47:36 AM6/21/22
to Tom Wilson, Altair-Duino
REPOST (only Tom got the original - reply all wasn't used ;)

 > Oops

Not a problem at all.  This is a lot of fun.

  Here's my latest .. novice .. code:

https://termbin.com/w4rq

I did have to move the pointer a bit further past the end of the code,
to use the stack, just now.

It was working with end_of_program + 200Q, and then didn't.  So I added
another w00Q to that.

    38  CLD: LXI SP, STACK+400Q ; 200Q was working previously

My development cycle is getting a lot shorter as I learn the rules. 
Small changes, at least, can be checked with a simple 'H'ex upload; when
satisfied, the same program can be 'A'dd ROM'd and it behaves just the
same way.

I put my ORG at 2000o as that's plenty to allow other experiments in low
memory that aren't using ROM space (however that gets marked as such in
the simulation).

These simple discussions are really helpful, and I do appreciate them a
lot! Thanks so much.

73,

bk (wa1tnr irl)

On 6/20/22 22:44, Tom Wilson wrote:
> Oops. I missed that you were loading your program as a ROM. That does
> make things different.
>
> Generally, ROM programs will be situated at the top of memory. If you
> expect your program to fit in a 4K ROM, for example, you'll use a
> start address of F000h, with a lower starting address for larger ROM
> programs.
>
> So if I was writing ROMware for the Altair, I'd set up my addresses
> like this:
> 4K ROM: F000h
> 8K ROM: E000h
> 16K ROM: C000h
>
> And data can start as low in RAM as you like. The first few bytes are
> special, but if you're not using the RST instructions, you can ignore
> that.
>
> So my config for a simple 4K ROM program might be:
> DATA EQU 0
> STACK EQU 400h
> ORG F000h
>
> This gives me 1K of shared data/stack space, and 4K of ROM. If I need
> more room for data, I can move the stack upward... either asking the
> user how much memory is available, or scanning to find out how much
> RAM I can use.
>

Andy

unread,
Jul 11, 2022, 10:24:12 AM7/11/22
to Altair-Duino
hey folks - do I follow the existing AD 8800 installation guide?  I have the new 8800b and there seem to be a few differences..

Jay Falck

unread,
Jul 11, 2022, 10:32:27 AM7/11/22
to Andy, Altair-Duino
My 8800b came with additional instructions for things that are different. I’m sure they’re on the website but I don’t have a link. When I get back to my office I’ll see if I can find a link.

--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.
--
Sent from my Osborne I

Chris Davis

unread,
Jul 11, 2022, 10:37:31 AM7/11/22
to Altair-Duino
Andy, there was a sticker on the front of your box telling you to visit this page: adwaterandstir.com/instructions. The 8800b addendum is there.  (It was also linked from the product page where you ordered the kit.)

Andy

unread,
Jul 11, 2022, 10:38:40 AM7/11/22
to Altair-Duino
Hey thanks - actually I just went again to the website and saw this link to the 8800b addendum - doh!

Andy

unread,
Jul 11, 2022, 10:40:55 AM7/11/22
to Altair-Duino
I just noticed the sticker - sigh... Monday... bluurrggh 😎
Reply all
Reply to author
Forward
0 new messages