Add firmware WIP.

This commit is contained in:
Christopher RYU 2023-07-10 05:59:05 +09:00
parent 42cef0320e
commit 98fe9fcda7
18 changed files with 257 additions and 0 deletions

BIN
firmware/0000 Normal file

Binary file not shown.

146
firmware/0000.s-wip Normal file
View File

@ -0,0 +1,146 @@
; da65 V2.11.0 - (C) Copyright 2000-2005, Ullrich von Bassewitz
; Created: 2022-01-26 21:00:18
; Input file: xaa
; Page: 1
.setcpu "6502"
MON_WAIT = $FCA8
GETLNZ = $FD67
BELL = $FF3A
IORTS = $FF58
GETNUM = $FFA7
* = $c600
lda #$A3
sta $33
LC604: jsr BELL
LC607: jsr GETLNZ
lda #$00
sta $F2
LC60E: sta $C010
sta $F3
ldy $F2
jsr GETNUM
sty $F2
cmp #$C6
beq LC607
cmp #$EC
beq LC64E
cmp #$F0
beq LC676
cmp #$F3
beq LC657
ldy #$7F
cmp #$06
beq LC67C
cmp #$EB
beq LC641
ldx #$06
stx $F3
cmp #$F1
beq LC67C
cmp #$EA
bne LC604
brk
LC641: lda #$50
sta $FC
txa
adc #$00
sta $F3
lda #$00
beq LC651
LC64E: lda $3E
asl a
LC651: sta $F0
ldy #$FF
bne LC67C
LC657: lda $3E
asl a
sta $F1
ldy #$00
beq LC67C
LC660: lda #$50
jsr MON_WAIT
sta $C088,x
ldy $3E
LC66A: jsr MON_WAIT
dey
bpl LC66A
bmi LC68E
LC672: lda #$00
beq LC60E
LC676: lda $3E
sta $FF
ldy #$0F
LC67C: sty $09
jsr IORTS
tsx
lda $0100,x
asl a
asl a
asl a
asl a
sta $FD
adc $F3
tax
LC68E: sta $C089,x
lda $09
beq LC6BA
bmi LC6BA
asl a
bmi LC6AC
sta $C08F,x
LC69D: lda $09
asl a
bmi LC660
nop
nop
lda $FF
sta $C08D,x
cmp $C08C,x
LC6AC: lda $C000
eor #$9B
bne LC69D
ldx $FD
sta $C08E,x
LC6B8: beq LC672
LC6BA: ldx $FD
sta $C089,x
LC6BF: ldy $FC
LC6C1: cpy $F0
bne LC6E3
lda $F0
sta $FC
lda $09
bne LC672
lda $F0
ldy $F1
sta $F1
sty $F0
lda $C000
eor #$9B
beq LC6B8
lda #$73
jsr MON_WAIT
bcs LC6BF
LC6E3: bcs LC6E7
iny
iny
LC6E7: dey
tya
and #$03
asl a
ora $FD
tax
lsr a
lsr a
sta $C081,x
nop
nop
lda #$56
jsr MON_WAIT
sta $C080,x
bcs LC6C1

BIN
firmware/0100 Normal file

Binary file not shown.

BIN
firmware/0200 Normal file

Binary file not shown.

BIN
firmware/0300-franklin Normal file

Binary file not shown.

BIN
firmware/0300-usci Normal file

Binary file not shown.

97
firmware/0300.s Normal file
View File

@ -0,0 +1,97 @@
; Micro-SCI Floppy Drive Controller info disassembly
PRINTVEC = $08
PRBL2 = $F94A
HOME = $FC58
COUT = $FDED
* = $c600
ldx #$20 ; controller signature
ldy #$00
ldx #$03
stx $3C
jsr HOME ; clear display, home cursor
tsx
lda $0100,x ; current address (#$c6 for slot 6)
sta PRINTVEC+1
lda #0
sta PRINTVEC
ldy #<info ; offset of data begin
LC617 lda (PRINTVEC),y
LC619 bmi doit
tax
jsr PRBL2
beq loop1
doit jsr COUT
loop1 iny
bne LC617
LC627 beq LC627
info .byte $8d, $bc, $ad, $ad, $cb, $c5, $d9, $c2
.byte $cf, $c1, $d2, $c4
#ifdef USCI
; ROM checksum 5ddcbbf1
; <--KEYBOARD U-SCI REAR-->
;
; ---------JUMPER--------
; ! ! !
; V V V
;
; ### ! ! ! ### ! ! ! ###
; ### ! ! ! ### ! ! ! ###
; ### ! ! ! ### ! ! ! ###
; ### ! ! ! ### ! ! ! ###
; XXXXXXX XXXXXXX XXXXXXX
; 3.2 INFO 3.3&PASCAL
.byte $08, $d5, $ad, $d3
.byte $c3, $c9, $08, $d2, $c5, $c1, $d2, $ad
.byte $ad, $be, $8d, $8d, $08, $ad, $ad, $ad
.byte $ad, $ad, $ad, $ad, $ad, $ad, $ca, $d5
.byte $cd, $d0, $c5, $d2, $ad, $ad
#else
; ROM checksum 5dfc32ca
; <--KEYBOARD ACE 1000 REAR-->
;
; ------JUMPER------
; ! ! !
; V V V
;
; ### ! ! ! ### ! ! ! ###
; ### ! ! ! ### ! ! ! ###
; ### ! ! ! ### ! ! ! ###
; ### ! ! ! ### ! ! ! ###
; XXXXXXX XXXXXXX XXXXXXX
; 3.2 INFO 3.3&PASCAL
.byte $06, $c1, $c3, $c5
.byte $a0, $b1, $b0, $b0, $b0, $06, $d2, $c5
.byte $c1, $d2, $ad, $ad, $be, $8d, $8d, $07
.byte $a0, $02, $ad, $ad, $ad, $ad, $ad, $ad
.byte $ca, $d5, $cd, $d0, $c5, $d2
#endif
.byte $ad, $ad
.byte $ad, $ad, $ad, $ad, $8d, $07, $a1, $0b
.byte $a1, $0b, $a1, $8d, $07, $d6, $0b, $d6
.byte $0b, $d6, $8d, $8d, $06, $a3, $a3, $a3
.byte $a0, $a1, $a0, $a1, $03, $a1, $a0, $a3
.byte $a3, $a3, $a0, $a1, $03, $a1, $a0, $a1
.byte $a0, $a3, $a3, $a3, $8d, $06, $a3, $a3
.byte $a3, $a0, $a1, $a0, $a1, $03, $a1, $a0
.byte $a3, $a3, $a3, $a0, $a1, $03, $a1, $a0
.byte $a1, $a0, $a3, $a3, $a3, $8d, $06, $a3
.byte $a3, $a3, $a0, $a1, $a0, $a1, $03, $a1
.byte $a0, $a3, $a3, $a3, $a0, $a1, $03, $a1
.byte $a0, $a1, $a0, $a3, $a3, $a3, $8d, $06
.byte $a3, $a3, $a3, $a0, $a1, $a0, $a1, $03
.byte $a1, $a0, $a3, $a3, $a3, $a0, $a1, $03
.byte $a1, $a0, $a1, $a0, $a3, $a3, $a3, $8d
.byte $06, $d8, $d8, $d8, $d8, $d8, $d8, $d8
.byte $03, $d8, $d8, $d8, $d8, $d8, $d8, $d8
.byte $03, $d8, $d8, $d8, $d8, $d8, $d8, $d8
.byte $8d, $08, $b3, $ae, $b2, $06, $c9, $ce
.byte $c6, $cf, $04, $b3, $ae, $b3, $a6, $d0
.byte $c1, $d3, $c3, $c1, $cc, $8d, $8d

9
firmware/Makefile Normal file
View File

@ -0,0 +1,9 @@
all: 0000 0100 0200 0300-franklin 0300-usci
cat 0000 0100 0200 0300-franklin > franklin.bin
cat 0000 0100 0200 0300-usci > usci.bin
0300-franklin:
xa -o 0300-franklin 0300.s
0300-usci:
xa -DUSCI -o 0300-usci 0300.s

Binary file not shown.

Binary file not shown.

BIN
firmware/attic/5ddcbbf1.bin Executable file

Binary file not shown.

BIN
firmware/attic/5dfc32ca.bin Executable file

Binary file not shown.

BIN
firmware/franklin-2732.bin Normal file

Binary file not shown.

BIN
firmware/franklin.bin Normal file

Binary file not shown.

View File

@ -0,0 +1,5 @@
0x0000 - 0x0fff: Controller test firmware
0x0100 - 0x01ff: 16-sector
0x0200 - 0x02ff: 13-sector
0x0300 - 0x03ff: Firmware "put jumpers here" splash screen

BIN
firmware/png/franklin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

BIN
firmware/png/u-sci.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
firmware/usci.bin Normal file

Binary file not shown.