Stockly.com Forums

Stockly.com Forums (http://www.stockly.com/forums/index.php)
-   Altair 8800 (http://www.stockly.com/forums/forumdisplay.php?f=15)
-   -   Serial Loading Program (http://www.stockly.com/forums/showthread.php?t=472)

Grant Stockly 07-05-2007 12:02 AM

Serial Loading Program
 
I have a 1702A EPROM programmer loaned to me hooked up to my Altair 8800. This programmer can only be used with an Altair 8800 or S-100 based computer. With the help of some other people I was able to recreate the VTL-2 EPROM set for the Altair 680. The data is 768 bytes and I did not want to toggle in all of it!

So I used a simple serial loader program that I wrote a while back.

It is located at 0x1000 in memory and halts when the specified number of bytes has been read.

Here it is for those who are interested: (I assembled it using A85)

Code:

01 0000          ;Serial loader to get 768 bytes into RAM to burn VTL-2 for the 680
02 0000          ;
03 0000          .EQU CONT,0  ;CONTROL/STATUS PORT OF 2SIO CARD
04 0001          .EQU DATA,1  ;DATA PORT OF 2SIO CARD
05 0000          .EQU LOWADDR,H'00
06 0003          .EQU HIGHADDR,H'03
07 0000          ;
08 1000          .org H'1000  ;1000 IS STARTING POINT IN MEMORY
09 1000          ;.org H'7BFD ;31000 is STARTING POINT IN MEMORY
10 1000          ;
11 1000          ;
12 1000 3E03    RESET: MVI A, H'03  ;MASTER RESET
13 1002 D300      OUT CONT
14 1004 3E15      MVI A, H'15  ;CLK/16, 8N1, RTS LOW TX/RX INTERRUPTS DISABLED
15 1006 D300      OUT CONT
16 1008 210000    LXI H, H'0000 ;STARTING ADDRESS IN MEMORY FOR IMAGE
17 100B DB00    LOADLP:  IN  CONT    ;WAIT FOR RX BUFFER TO BE FULL
18 100D E601      ANI H'01
19 100F CA0B10    JZ  LOADLP
20 1012 DB01      IN  DATA    ;GET DATA
21 1014 77        MOV M, A    ;STORE TO RAM
22 1015 23        INX H  ;INCREASE ADDRESS POINTER
23 1016 7D        MOV A,L  ;COMPARE LOW MEMORY POINTER TO GOAL
24 1017 FE00      CPI LOWADDR
25 1019 C20B10    JNZ LOADLP    ;NOT EQUAL, CONTINUE
26 101C 7C        MOV A,H  ;COMPARE HIGH MEMORY POINTER TO GOAL
27 101D FE03      CPI HIGHADDR
28 101F C20B10    JNZ LOADLP    ;NOT EQUAL, CONTINUE
29 1022          ;*******************************
30 1022          ;* The memory image has been downloaded.  You can choose between two
31 1022          ;* next steps.  One is to jump right to address 0000 and start running
32 1022          ;* the image.  The second is to halt the computer.  If you choose halt
33 1022          ;* you will have to reset the Altair, examine address 0000, and then
34 1022          ;* press run to boot basic
35 1022          ;*******************************
36 1022          ;  JMP H'0000    ;MEMORY IMAGE DOWNLOADED, JMP to 0000
37 1022 76        HLT
38 1023          ;
CONT    =0000 
DATA    =0001 
HIGHADDR=0003 
LOADLP  =100B 
LOWADDR =0000 
RESET  =1000



sje 07-05-2007 12:04 PM

Although it may not make a difference here, I learned a while back that the first instruction in any power-up/bootstrap should be "disable system interrupts". Just in case there might be some chatty random timer or peripheral.

You mention the Altair 680. I see these from time to time on the auction sites. Are you planning a replica for it?

marty 07-05-2007 03:17 PM

programs for 8080
 
Thank You for the program, I have put it in my Notebook !!!!
I await more programs from all of You !!
Thank You Marty

Grant Stockly 07-08-2007 09:42 AM

Quote:

Originally Posted by sje (Post 717)
You mention the Altair 680. I see these from time to time on the auction sites. Are you planning a replica for it?


I couldn't answer your question until the official website was up. It is now, so the answer to your question is YES. :)

Click here:

http://www.altair680kit.com/index.html


All times are GMT. The time now is 03:42 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.