hardware recognition memory addresses added, fixed apple-1 to remote test program

This commit is contained in:
flowenol 2021-01-07 23:32:09 +01:00
parent dd4c67fa68
commit a334a77d4e
7 changed files with 35 additions and 22 deletions

View File

@ -2,7 +2,7 @@
GAL20V8
EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993
Assembled from "d:/APPLE1~1/ADDRES~1.EQN". Date: 6-22-120
Assembled from "d:/APPLE1~2/ADDRES~1.EQN". Date: 12-28-120
*
NOTE PINS RW:2 A8:3 A7:4 A6:5 A5:6 A4:7 A3:8 A2:9 A1:10 A0:11*
NOTE PINS GND:12 A9:14 A10:15 A11:16 SR:17 RD:18 WD:19 ROM:20*
@ -15,7 +15,8 @@ L0640
0111011011111111111111111111111111111111
0111111011111111111111111111111111011111
0111111011111111111111111111110111111111
0111111011111111111111111101111111111111*
0111111011111111111111111101111111111111
0111101001110111011101110110011011101111*
L0960
1011101001011011101110111010101010100111*
L1280
@ -27,8 +28,8 @@ L2560
L2632
10000011*
L2640
0000000010000000111100001000000010000000100000000000000000000000*
0000000010000000111110001000000010000000100000000000000000000000*
L2704
10*
C1FC4*
C236B*
0000

View File

@ -1,7 +1,7 @@
EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993
Log file for d:/APPLE1~1/ADDRES~1.EQN
Log file for d:/APPLE1~2/ADDRES~1.EQN
Device: 20V8
Pin Label Type
@ -43,12 +43,12 @@ No of feedbacks used as dedicated outputs : 3/6 (50.0%)
Pin Label Terms Usage
------------------------------------------
21 RES 1/8 (12.5%)
20 ROM 4/8 (50.0%)
20 ROM 5/8 (62.5%)
19 WD 1/8 (12.5%)
18 RD 1/8 (12.5%)
17 SR 1/8 (12.5%)
------------------------------------------
Total Terms 8/64 (12.5%)
Total Terms 9/64 (14.1%)
------------------------------------------
EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
@ -69,5 +69,5 @@ Copyright (c) National Semiconductor Corporation 1990-1993
A2 | 9 16 | A11
A1 | 10 15 | A10
A0 | 11 14 | A9
GND | 12 13 |
GND | 12 13 |
|______________|

View File

@ -13,4 +13,5 @@ WD = A0 * /A1 * /A2 * /A3 * /A4 * /A5 * /A6 * A7 * /A8 * /A9 * /A10 * /A11 * /R
+ A9 * /R * RW
+ A10 * /R * RW
+ A11 * /R * RW
+ A2 * A3 * A4 * A5 * A6 * A7 * /A8 * /A9 * /A10 * /A11 * /R * RW
RES = A0 * /A1 * /A2 * /A3 * /A4 * /A5 * /A6 * /A7 * /A8 * /A9 * /A10 * /A11 * /R * RW

View File

@ -1,3 +1,5 @@
#!/bin/sh
xa -W -C -v -O ASCII -S -c src/apple1serial.xa -l apple1serial.label -o apple1serial.bin
make -C firmware clean
make -C firmware

View File

@ -2,6 +2,7 @@
#define F_CPU 16000000UL
#endif
// this seems to be the upper limit, above that some data is not received
#define BAUD 9600
#include <avr/io.h>

View File

@ -33,8 +33,11 @@
#define ESC $9B ;ASCII ESC
#define SPACE $A0
; pad first 256 bytes with zeroes
.dsb 256, 0
; pad first 252 bytes with zeroes
.dsb 252, 0
; include identification bytes
.byt "A1SI"
; this section is almost identical to original WOZ ACI
; adapted from https://www.sbprojects.net/projects/apple1/aci.php

View File

@ -5,6 +5,11 @@
#define serial_read $C080
#define serial_write $C081
; How to store INTEGER BASIC progams?
; C100R - run serial monitor
; 004A.00FFW 0800.0FFFW - write data for default LOMEM & HIMEM
; E2B3R - warm entry point
* = $C300
.dsb (*-end_of_apple1serial), 0
@ -14,12 +19,12 @@
teletype_apple1 = $C300
jsr reset_serial
lda serial_read
wait
teletype_apple1_wait
lda serial_ready
beq wait
beq teletype_apple1_wait
lda serial_read
jsr echo
jmp wait
jmp teletype_apple1_wait
end_of_teletype_apple1
; teletype on remote
@ -36,8 +41,12 @@ get_key
lda kbd_cr
bpl get_key
lda kbd_data
sec
sbc #$A0
and #$7F
tay
teletype_remote_wait
lda serial_ready
beq teletype_remote_wait
tya
sta serial_write
jmp get_key
end_of_teletype_remote
@ -51,15 +60,11 @@ counter_remote = $C500
jsr reset_serial
ldy #$00
sta serial_write
check_ready
counter_wait
lda serial_ready
beq check_ready
beq counter_wait
tya
sta serial_write
iny
jmp check_ready
jmp counter_wait
end_of_counter_remote
; How to store INTEGER BASIC progams?
; C100R
; 004A.00FFW 0800.0FFFW
; E2B3R - warm entry point