Apple 1 Mark V

49 views
Skip to first unread message

Chris Davis

unread,
Nov 27, 2019, 9:46:01 AM11/27/19
to Altair-Duino
This is my fifth attempt and I think I've got it now.  My last attempt was failing because (I believe) my PS2 keyboard port was getting interference and not working most of the time.  So I ditched the PS2 and went with USB which was, surprisingly, easier than I thought.  So here it is:

apple1c.jpgapple1b.jpgapple1a.jpg


Still to do:

1. Change display to 40 character (currently it's 80 characters.)

2. Get SD card module working

3. Invent some method to emulate the cassette commands to load from the SD card.

Brian Decker

unread,
Nov 27, 2019, 10:52:25 AM11/27/19
to Altair-Duino
Looks great - very happy to see that you are going to USB and not staying with PS/2 (you know my thinking on that - based on my own production work :) ).  Will be picking up several once they are available!

Charley Jones

unread,
Nov 27, 2019, 10:55:48 AM11/27/19
to Brian Decker, Altair-Duino
Great work. Congratulations. 

Sent from my iPhone Xs!

On Nov 27, 2019, at 7:52 AM, Brian Decker <blde...@encomlab.com> wrote:


--
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/8a3972f1-fae8-40a3-afde-f8eff463c5a3%40googlegroups.com.

Tom Wilson

unread,
Nov 27, 2019, 1:26:25 PM11/27/19
to Altair-Duino
I prefer an 80 character display... please tell me you’ll at least make that switchable. =)

Great work, Chris.

Michael W. Salter

unread,
Nov 27, 2019, 2:20:44 PM11/27/19
to Altair-Duino


On Wednesday, November 27, 2019 at 7:46:01 AM UTC-7, Chris Davis wrote:
...


Still to do:

1. Change display to 40 character (currently it's 80 characters.)

2. Get SD card module working

3. Invent some method to emulate the cassette commands to load from the SD card.


Will VisiCalc be on the list?  

Eric Smith

unread,
Nov 27, 2019, 2:24:33 PM11/27/19
to Altair-Duino
On Wed, Nov 27, 2019 at 12:20 PM Michael W. Salter <rip...@gmail.com> wrote:
Will VisiCalc be on the list?  

Um, good luck finding a copy of the Apple 1 version of VisiCalc!

Michael W. Salter

unread,
Nov 27, 2019, 2:27:45 PM11/27/19
to Altair-Duino
I used it on an Apple II.   Then got the CP/M card and used Supercalc.  One can always dream!  The poor guy that wrote it didn’t realize what he had with VisiCalc. 

John Kennedy

unread,
Nov 27, 2019, 2:31:34 PM11/27/19
to Altair-Duino
Oh yeah!

Chris Davis

unread,
Nov 27, 2019, 3:28:29 PM11/27/19
to ope...@googlegroups.com
I don't think that would work.  It's running the original code written by Woz (the monitor and Integer Basic) which was designed around a 40 character display.  Having an 80 character display would mean only the left half would be used.

Chris Davis

unread,
Nov 30, 2019, 12:27:54 AM11/30/19
to Altair-Duino
On the plus side, I got the SD card module working.  On the down side, I realized I have to code an entire Apple font by hand (unless someone has a source for the Apple II font glyphs).

William J. Steele

unread,
Nov 30, 2019, 2:15:25 AM11/30/19
to Chris Davis, Altair-Duino
The Ultimate Apple II Font. Download the world's most complete Apple II text font, in TrueType format. Works on Mac OS X, Windows, or any operating system that supports TrueType. Also download the corresponding keyboard layout for Mac OS X, called IN Number Zero. Option key enables access to inverse characters.


Bill


From: altair...@googlegroups.com <altair...@googlegroups.com> on behalf of Chris Davis <famousd...@gmail.com>
Sent: Saturday, November 30, 2019 12:27 AM
To: Altair-Duino <altair...@googlegroups.com>
Subject: Re: Apple 1 Mark V
 
On the plus side, I got the SD card module working.  On the down side, I realized I have to code an entire Apple font by hand (unless someone has a source for the Apple II font glyphs).

--
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.

Eric Smith

unread,
Nov 30, 2019, 3:11:08 AM11/30/19
to Altair-Duino
On Fri, Nov 29, 2019 at 10:27 PM Chris Davis <famousd...@gmail.com> wrote:
On the plus side, I got the SD card module working.  On the down side, I realized I have to code an entire Apple font by hand (unless someone has a source for the Apple II font glyphs).

If what you want is the actual Signetics 2513 character generator bitmaps, as used in the Apple 1, early rev Apple II, and many other machines, they're in the attached binary file and PDF.

2513.pdf
2513u-single.bin

Charley Jones

unread,
Nov 30, 2019, 3:23:42 AM11/30/19
to Eric Smith, Altair-Duino
Such a damn good community. Happy to be part of it.  Looking forward the kit.  Now to craft a proper 3d box for it... 

Please please please make sure it has a great expansion buss. The community did such a great job with the Altair’s VT100 expansion. 


Sent from my iPhone Xs!

On Nov 30, 2019, at 12:11 AM, Eric Smith <spac...@gmail.com> wrote:


On Fri, Nov 29, 2019 at 10:27 PM Chris Davis <famousd...@gmail.com> wrote:
On the plus side, I got the SD card module working.  On the down side, I realized I have to code an entire Apple font by hand (unless someone has a source for the Apple II font glyphs).

If what you want is the actual Signetics 2513 character generator bitmaps, as used in the Apple 1, early rev Apple II, and many other machines, they're in the attached binary file and PDF.

--
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.

Chris Davis

unread,
Nov 30, 2019, 8:37:35 AM11/30/19
to ope...@googlegroups.com
I have the glyph images, but having them in a grid like that will be helpful.  Is the BIN file a MacBinary font file?  I guess what I'm looking for is the hex encoding, like this example:

{ 0x00FC, 0x0012, 0x0012, 0x0012, 0x00FC, 0x0000 },     // A
{ 0x00FE, 0x0092, 0x0092, 0x0092, 0x006C, 0x0000 },     // B

Frank P.

unread,
Nov 30, 2019, 9:30:15 AM11/30/19
to ope...@googlegroups.com
So HxD followed by a few minutes tidying up in vi yields:
{ 0x00, 0x0E, 0x11, 0x15, 0x17, 0x16, 0x10, 0x0F }, // @
{ 0x00, 0x04, 0x0A, 0x11, 0x11, 0x1F, 0x11, 0x11 }, // A
{ 0x00, 0x1E, 0x11, 0x11, 0x1E, 0x11, 0x11, 0x1E }, // B
{ 0x00, 0x0E, 0x11, 0x10, 0x10, 0x10, 0x11, 0x0E }, // C
{ 0x00, 0x1E, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1E }, // D
{ 0x00, 0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x1F }, // E
{ 0x00, 0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x10 }, // F
{ 0x00, 0x0F, 0x10, 0x10, 0x10, 0x13, 0x11, 0x0F }, // G
{ 0x00, 0x11, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11 }, // H
{ 0x00, 0x0E, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0E }, // I
{ 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x11, 0x0E }, // J
{ 0x00, 0x11, 0x12, 0x14, 0x18, 0x14, 0x12, 0x11 }, // K
{ 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F }, // L
{ 0x00, 0x11, 0x1B, 0x15, 0x15, 0x11, 0x11, 0x11 }, // M
{ 0x00, 0x11, 0x11, 0x19, 0x15, 0x13, 0x11, 0x11 }, // N
{ 0x00, 0x0E, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E }, // O
{ 0x00, 0x1E, 0x11, 0x11, 0x1E, 0x10, 0x10, 0x10 }, // P
{ 0x00, 0x0E, 0x11, 0x11, 0x11, 0x15, 0x12, 0x0D }, // Q
{ 0x00, 0x1E, 0x11, 0x11, 0x1E, 0x14, 0x12, 0x11 }, // R
{ 0x00, 0x0E, 0x11, 0x10, 0x0E, 0x01, 0x11, 0x0E }, // S
{ 0x00, 0x1F, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 }, // T
{ 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E }, // U
{ 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0A, 0x04 }, // V
{ 0x00, 0x11, 0x11, 0x11, 0x15, 0x15, 0x1B, 0x11 }, // W
{ 0x00, 0x11, 0x11, 0x0A, 0x04, 0x0A, 0x11, 0x11 }, // X
{ 0x00, 0x11, 0x11, 0x0A, 0x04, 0x04, 0x04, 0x04 }, // Y
{ 0x00, 0x1F, 0x01, 0x02, 0x04, 0x08, 0x10, 0x1F }, // Z
{ 0x00, 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F }, // [
{ 0x00, 0x00, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00 }, // \
{ 0x00, 0x1F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1F }, // ]
{ 0x00, 0x00, 0x00, 0x04, 0x0A, 0x11, 0x00, 0x00 }, // ^
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F }, // _
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // 
{ 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x04 }, // !
{ 0x00, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00 }, // "
{ 0x00, 0x0A, 0x0A, 0x1F, 0x0A, 0x1F, 0x0A, 0x0A }, // #
{ 0x00, 0x04, 0x0F, 0x14, 0x0E, 0x05, 0x1E, 0x04 }, // $
{ 0x00, 0x18, 0x19, 0x02, 0x04, 0x08, 0x13, 0x03 }, // %
{ 0x00, 0x08, 0x14, 0x14, 0x08, 0x15, 0x12, 0x0D }, // &
{ 0x00, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 }, // '
{ 0x00, 0x04, 0x08, 0x10, 0x10, 0x10, 0x08, 0x04 }, // (
{ 0x00, 0x04, 0x02, 0x01, 0x01, 0x01, 0x02, 0x04 }, // )
{ 0x00, 0x04, 0x15, 0x0E, 0x04, 0x0E, 0x15, 0x04 }, // *
{ 0x00, 0x00, 0x04, 0x04, 0x1F, 0x04, 0x04, 0x00 }, // +
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08 }, // ,
{ 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00 }, // -
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 }, // .
{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00 }, // /
{ 0x00, 0x0E, 0x11, 0x13, 0x15, 0x19, 0x11, 0x0E }, // 0
{ 0x00, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x0E }, // 1
{ 0x00, 0x0E, 0x11, 0x01, 0x06, 0x08, 0x10, 0x1F }, // 2
{ 0x00, 0x1F, 0x01, 0x02, 0x06, 0x01, 0x11, 0x0E }, // 3
{ 0x00, 0x02, 0x06, 0x0A, 0x12, 0x1F, 0x02, 0x02 }, // 4
{ 0x00, 0x1F, 0x10, 0x1E, 0x01, 0x01, 0x11, 0x0E }, // 5
{ 0x00, 0x07, 0x08, 0x10, 0x1E, 0x11, 0x11, 0x0E }, // 6
{ 0x00, 0x1F, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08 }, // 7
{ 0x00, 0x0E, 0x11, 0x11, 0x0E, 0x11, 0x11, 0x0E }, // 8
{ 0x00, 0x0E, 0x11, 0x11, 0x0F, 0x01, 0x02, 0x1C }, // 9
{ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00 }, // :
{ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x08 }, // ;
{ 0x00, 0x02, 0x04, 0x08, 0x10, 0x08, 0x04, 0x02 }, // >
{ 0x00, 0x00, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x00 }, // =
{ 0x00, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08 }, // >
{ 0x00, 0x0E, 0x11, 0x02, 0x04, 0x04, 0x00, 0x04 }, // ?

Will that work?

Chris Davis

unread,
Nov 30, 2019, 10:22:15 AM11/30/19
to Altair-Duino
Holy cow, I did not expect to get it on a silver platter!  Thanks, that's perfect!

Chris Davis

unread,
Nov 30, 2019, 1:29:11 PM11/30/19
to Altair-Duino
Well, it's close! :)

sideways.jpg


Charley Jones

unread,
Nov 30, 2019, 3:24:35 PM11/30/19
to Chris Davis, Altair-Duino
That’s hilarious. 


Sent from my iPhone Xs!

On Nov 30, 2019, at 10:29 AM, Chris Davis <famousd...@gmail.com> wrote:


Well, it's close! :)

<sideways.jpg>


--
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.

Chris Davis

unread,
Nov 30, 2019, 10:10:46 PM11/30/19
to Altair-Duino
I found a program called MikroElektronika GLCD Font Creator that generates the code I need.  Thanks!

Chris Davis

unread,
Nov 30, 2019, 10:27:29 PM11/30/19
to Altair-Duino

IMG_0375.jpg

That's what I needed!

Charley Jones

unread,
Nov 30, 2019, 11:58:44 PM11/30/19
to Chris Davis, Altair-Duino
Beautiful


Sent from my iPhone Xs!

On Nov 30, 2019, at 7:27 PM, Chris Davis <famousd...@gmail.com> wrote:



<IMG_0375.jpg>

That's what I needed!

--
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.

Chris Davis

unread,
Dec 10, 2019, 10:58:25 AM12/10/19
to Altair-Duino
What kind of bus do you have in mind?  Like the RC2014 bus?

Eric Smith

unread,
Dec 10, 2019, 11:39:11 AM12/10/19
to Altair-Duino
On Sat, Nov 30, 2019, 01:23 Charley Jones <data...@gmail.com> wrote:
Please please please make sure it has a great expansion buss.

A real Apple 1 has an expansion bus with two slots, one vertical (socket) and one edge. It would have been possible to add an expander to provide more slots, but I haven't heard of any being made.

Reply all
Reply to author
Forward
0 new messages