000
04.02.2018, 19:06 Uhr
andy62
|
Hallo, auf Grund des PEPS habe ich mich heute in der Programmierung versucht. Nicht lachen, es sind erste Versuche. Zielsystem ist die AC1-2010 CPU- und BWS- Karte. Das Programm besteht nur aus der PIO Initialisierung und dem Löschen des Bildschirmes. Dann springt es in eine Endlosschleife. Mein Problem, der Bildschirm wird nicht gelöscht. Auch nach dem Drücken von RESET bleibt der Müll auf dem Bildschirm stehen. Lade ich mit dem PEPS den richtigen AC1-Monitor rein funktionieren die Baugruppen wie es sein soll. Hier mal mein Progrämmchen:
Quellcode: | ROM: EQU 0000h ;-0FFF BRAM: EQU 1000h ;-17FF Bildschirmram 0FC00h BRAM_END: EQU 17FFh RAM: EQU 1800h ;-1FFF Systemram 0CFF0h
STACK: EQU 1856h ;0FCEh RAMZK: EQU 1FFCh ;0FFCh CURS: EQU 1FFEh
BRAM_SIZE: EQU 07FFh
PIOAD: EQU 04h ;0FCh PIOBD: EQU 05h ;0FDh PIOAC: EQU 06h ;0FEh PIOBC: EQU 07h ;0FFh
ORG 0000h BEGIN: DI LD SP,STACK CALL INIT_PIO CALL BLOE JR START
;-----------NMI---------------------------
ORG 66h ;NMI Einsprung NMI: RETN
;---------------Hauptschleife--------------- START: LD (1877h),SP CALL ZS JR START ;Hauptschleife
;-------INIT PIO--------------- INIT_PIO: LD A,4FH ;Port A = Eingabe OUT (PIOAC),A LD A,0CFH ;Port B = Einzelbitsteuerung OUT (PIOBC),A LD A,80H ;PB0-4 = Eingang, PB5-7 = Ausgang OUT (PIOBC),A LD A,0FFH ;Leitungen auf High OUT (PIOBD),A RET ;----------------Bildschirm loeschen----------------- BLOE: PUSH HL PUSH DE PUSH BC LD HL,BRAM_END ;17FFh LD DE,BRAM_END-1 ;17FE LD BC,BRAM_SIZE ; 07FF LD (HL),20h LDDR LD (CURS),HL POP BC POP DE POP HL RET ;-------------Zeitschleife-------------- ZS: PUSH HL PUSH AF LD HL,RAMZK ZS1: DEC HL LD A,H OR L JR NZ,ZS1 POP AF POP HL RET END
|
Kann mir jemand erklären wieso das nicht funktioniert? Als Assembler habe ich den ASIDE verwendet Danke und Gruß Andy
P.S.hier noch das .bin File
Quellcode: | F3315618CD7100CD8200185C00000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000ED45ED737718CD990018 F73E4FD3063ECFD3073E80D3073EFFD3 05C9E5D5C521FF1711FE1701FF073620 EDB822FE1FC1D1E1C9E5F521FC1F2B7C B520FBF1E1C9
|
Dieser Beitrag wurde am 04.02.2018 um 21:13 Uhr von andy62 editiert. |