hoglet wrote:
Fair enough, but I think it was needed if you want to loop back the flow control signals.
A couple more things might be useful:
- Can you post a copy of the warnings from Vivado?
- Can you post the assembler source for your monitor ROM?
Maybe I'm barking up the wrong tree, but I think it could still be a flow control issue.
The ACIA needs its CTSB input low in order to send. You are currently driving this from the ACIA's RTSB output (looped back though the Xilinx_UART module).
Can you add cts to the set of signals you monitor externally? You should see this go high on reset, then go low when your monitor initialized the UART.
What value is your monitor writing to the UART command register?
Dave
I think this will help.
This is the little jump at the beginning:
Code:
C35D A9 10 LDA #$10
C35F 8D 03 80 STA $8003
C362 A9 C9 LDA #$C9
C364 8D 02 80 STA $8002
C367 60 RTS
C368 18 CLC
C369 AD 01 80 LDA $8001
C36C 29 08 AND #$08
C36E F0 04 BEQ LC374
C370 AD 00 80 LDA $8000
C373 38 SEC
C374 60 LC374 RTS
C375 48 PHA
C376 AD 01 80 LC376 LDA $8001
C379 29 10 AND #$10
C37B F0 F9 BEQ LC376
C37D 68 PLA
C37E 8D 00 80 STA $8000
C381 20 00 EF JSR $EF00
C384 60 RTS
And this is a disassembly from the point where the reset vector starts the execution, $C385:
Code:
* = $C385
C385 D8 LC385 CLD
C386 58 CLI
C387 20 5D C3 JSR $C35D
C38A A9 0D LDA #$0D
C38C 20 CF C4 JSR LC4CF
C38F A9 0F LDA #$0F
C391 85 EC STA $EC
C393 A9 EF LDA #$EF
C395 85 ED STA $ED
C397 20 E1 C4 JSR LC4E1
C39A A9 0D LDA #$0D
C39C 20 CF C4 JSR LC4CF
C39F A9 83 LDA #$83
C3A1 85 EC STA $EC
C3A3 A9 EF LDA #$EF
C3A5 85 ED STA $ED
C3A7 20 E1 C4 JSR LC4E1
C3AA A9 0D LDA #$0D
C3AC 20 CF C4 JSR LC4CF
C3AF A9 BF LDA #$BF
C3B1 85 EC STA $EC
C3B3 A9 EF LDA #$EF
C3B5 85 ED STA $ED
C3B7 20 E1 C4 JSR LC4E1
C3BA A9 0D LDA #$0D
C3BC 20 CF C4 JSR LC4CF
C3BF A9 9B LC3BF LDA #$9B
C3C1 C9 88 LC3C1 CMP #$88
C3C3 F0 13 BEQ LC3D8
C3C5 C9 9B CMP #$9B
C3C7 F0 03 BEQ LC3CC
C3C9 C8 INY
C3CA 10 19 BPL LC3E5
C3CC A9 DC LC3CC LDA #$DC
C3CE 20 CF C4 JSR LC4CF
C3D1 A9 8D LC3D1 LDA #$8D
C3D3 20 CF C4 JSR LC4CF
C3D6 A0 01 LDY #$01
C3D8 88 LC3D8 DEY
C3D9 30 F6 BMI LC3D1
C3DB A9 A0 LDA #$A0
C3DD 20 CF C4 JSR LC4CF
C3E0 A9 88 LDA #$88
C3E2 20 CF C4 JSR LC4CF
C3E5 AD 01 80 LC3E5 LDA $8001
C3E8 29 08 AND #$08
C3EA F0 F9 BEQ LC3E5
C3EC AD 00 80 LDA $8000
C3EF C9 60 CMP #$60
C3F1 30 02 BMI LC3F5
C3F3 29 5F AND #$5F
C3F5 09 80 LC3F5 ORA #$80
C3F7 99 00 02 STA $0200,Y
C3FA 20 CF C4 JSR LC4CF
C3FD C9 8D CMP #$8D
C3FF D0 C0 BNE LC3C1
C401 A0 FF LDY #$FF
C403 A9 00 LDA #$00
C405 AA TAX
C406 0A LC406 ASL A
C407 85 EB LC407 STA $EB
C409 C8 LC409 INY
C40A B9 00 02 LC40A LDA $0200,Y
C40D C9 8D CMP #$8D
C40F F0 C0 BEQ LC3D1
C411 C9 AE CMP #$AE
C413 90 F4 BCC LC409
C415 F0 F0 BEQ LC407
C417 C9 BA CMP #$BA
C419 F0 EB BEQ LC406
C41B C9 D2 CMP #$D2
C41D F0 3B BEQ LC45A
C41F C9 CC CMP #$CC
C421 D0 03 BNE LC426
C423 4C EE C4 JMP LC4EE
C426 C9 D8 LC426 CMP #$D8
C428 D0 03 BNE LC42D
C42A 4C 00 C2 JMP $C200
C42D 86 E8 LC42D STX $E8
C42F 86 E9 STX $E9
C431 84 EA STY $EA
C433 B9 00 02 LC433 LDA $0200,Y
C436 49 B0 EOR #$B0
C438 C9 0A CMP #$0A
C43A 90 06 BCC LC442
C43C 69 88 ADC #$88
C43E C9 FA CMP #$FA
C440 90 11 BCC LC453
C442 0A LC442 ASL A
C443 0A ASL A
C444 0A ASL A
C445 0A ASL A
C446 A2 04 LDX #$04
C448 0A LC448 ASL A
C449 26 E8 ROL $E8
C44B 26 E9 ROL $E9
C44D CA DEX
C44E D0 F8 BNE LC448
C450 C8 INY
C451 D0 E0 BNE LC433
C453 C4 EA LC453 CPY $EA
C455 D0 0F BNE LC466
C457 4C CC C3 JMP LC3CC
C45A 20 60 C4 LC45A JSR LC460
C45D 4C BF C3 JMP LC3BF
C460 6C E4 00 LC460 JMP ($00E4)
C463 4C BF C3 JMP LC3BF
C466 24 EB LC466 BIT $EB
C468 50 0D BVC LC477
C46A A5 E8 LDA $E8
C46C 81 E6 STA ($E6,X)
C46E E6 E6 INC $E6
C470 D0 98 BNE LC40A
C472 E6 E7 INC $E7
C474 4C 0A C4 LC474 JMP LC40A
C477 30 2B LC477 BMI LC4A4
C479 A2 02 LDX #$02
C47B B5 E7 LC47B LDA $E7,X
C47D 95 E5 STA $E5,X
C47F 95 E3 STA $E3,X
C481 CA DEX
C482 D0 F7 BNE LC47B
C484 D0 14 LC484 BNE LC49A
C486 A9 8D LDA #$8D
C488 20 CF C4 JSR LC4CF
C48B A5 E5 LDA $E5
C48D 20 BC C4 JSR LC4BC
C490 A5 E4 LDA $E4
C492 20 BC C4 JSR LC4BC
C495 A9 BA LDA #$BA
C497 20 CF C4 JSR LC4CF
C49A A9 A0 LC49A LDA #$A0
C49C 20 CF C4 JSR LC4CF
C49F A1 E4 LDA ($E4,X)
C4A1 20 BC C4 JSR LC4BC
C4A4 86 EB LC4A4 STX $EB
C4A6 A5 E4 LDA $E4
C4A8 C5 E8 CMP $E8
C4AA A5 E5 LDA $E5
C4AC E5 E9 SBC $E9
C4AE B0 C4 BCS LC474
C4B0 E6 E4 INC $E4
C4B2 D0 02 BNE LC4B6
C4B4 E6 E5 INC $E5
C4B6 A5 E4 LC4B6 LDA $E4
C4B8 29 0F AND #$0F
C4BA 10 C8 BPL LC484
C4BC 48 LC4BC PHA
C4BD 4A LSR A
C4BE 4A LSR A
C4BF 4A LSR A
C4C0 4A LSR A
C4C1 20 C5 C4 JSR LC4C5
C4C4 68 PLA
C4C5 29 0F LC4C5 AND #$0F
C4C7 09 B0 ORA #$B0
C4C9 C9 BA CMP #$BA
C4CB 90 02 BCC LC4CF
C4CD 69 06 ADC #$06
C4CF 48 LC4CF PHA
C4D0 29 7F AND #$7F
C4D2 8D 00 80 STA $8000
C4D5 20 00 EF JSR $EF00
C4D8 AD 01 80 LC4D8 LDA $8001
C4DB 29 10 AND #$10
C4DD F0 F9 BEQ LC4D8
C4DF 68 PLA
C4E0 60 RTS
C4E1 A0 00 LC4E1 LDY #$00
C4E3 B1 EC LC4E3 LDA ($EC),Y
C4E5 F0 06 BEQ LC4ED
C4E7 20 CF C4 JSR LC4CF
C4EA C8 INY
C4EB D0 F6 BNE LC4E3
C4ED 60 LC4ED RTS
C4EE D8 LC4EE CLD
C4EF 18 CLC
C4F0 A2 00 LDX #$00
C4F2 9A TXS
C4F3 A9 00 LDA #$00
C4F5 85 AA STA $AA
C4F7 A9 01 LDA #$01
C4F9 85 AB STA $AB
C4FB A9 00 LDA #$00
C4FD A8 TAY
C4FE 91 AA LC4FE STA ($AA),Y
C500 C8 INY
C501 CA DEX
C502 D0 FA BNE LC4FE
C504 A9 00 LDA #$00
C506 85 AA STA $AA
C508 A9 00 LDA #$00
C50A 85 AB STA $AB
C50C A9 00 LDA #$00
C50E A8 TAY
C50F 91 AA LC50F STA ($AA),Y
C511 C8 INY
C512 CA DEX
C513 D0 FA BNE LC50F
C515 A9 0D LDA #$0D
C517 20 CF C4 JSR LC4CF
C51A A9 A2 LDA #$A2
C51C 85 EC STA $EC
C51E A9 EF LDA #$EF
C520 85 ED STA $ED
C522 20 E1 C4 JSR LC4E1
C525 A9 0D LDA #$0D
C527 4C 85 C3 JMP LC385
C52A 78 SEI
C52B 48 PHA
C52C DA ??? ;%11011010
C52D 5A ??? ;%01011010 'Z'
C52E A9 01 LDA #$01
C530 85 F2 STA $F2
C532 E6 F3 INC $F3
C534 7A ??? ;%01111010 'z'
C535 FA ??? ;%11111010
C536 68 PLA
C537 58 CLI
C538 40 RTI
C539 78 SEI
C53A 48 PHA
C53B DA ??? ;%11011010
C53C 5A ??? ;%01011010 'Z'
C53D 7A ??? ;%01111010 'z'
C53E FA ??? ;%11111010
C53F 68 PLA
C540 58 CLI
C541 40 RTI
C542 45 39 EOR $39
C544 AA TAX
C545 A5 38 LDA $38
C547 5D 00 EE EOR $EE00,X
C54A 85 39 STA $39
C54C BD 00 ED LDA $ED00,X
C54F 85 38 STA $38
C551 60 RTS
Jonathan