Dobrý den, 25. října 2004, 18:23:03, napsal jste: MUzes poslat ten program jako *.mzf nebo v podobnem soubou aby sel nahrat do sharpa?? falcen99 DLspc> Schema: DLspc> /---------------\' /---------------\' /----------------\' DLspc> A06-----|A0 | LS138 |/Q0| D0-----|D0 | LS273 | Q0|-------|A8 | 29F010 | D0|-----D0 DLspc> A07-----|A1 | |/Q1| D1-----|D1 | | Q1|-------|A9 | amd | D1|-----D1 DLspc> A01-----|A2 | |/Q2| D2-----|D2 | | Q2|-------|A10| | D2|-----D2 DLspc> | | |/Q3| D3-----|D3 | | Q3|-------|A11| | D3|-----D3 DLspc> | | |/Q4| D4-----|D4 | | Q4|-------|A12| | D4|-----D4 DLspc> A02-----|/E0| |/Q5| D5-----|D5 | | Q5|-------|A13| | D5|-----D5 DLspc> A03-----|/E1| |/Q6| D6-----|D6 | | Q6|-------|A14| | D6|-----D6 DLspc> A04-----|E2 | |/Q7|--\' D7-----|D7 | | Q7|-------|A15| | D7|-----D7 DLspc> \'---------------/ | Ucc--|/MR| | | Ucc--|A16| | | DLspc> | /------|CP | | | Ucc--|A17| | | DLspc> /---------------------/ | \'---------------/ Ucc--|A18| | | DLspc> | | A08-----|A0 | |/OE|-----/RD DLspc> | /---------------\' | A09-----|A1 | |/WR|-----/WR DLspc> A00-----|A0 | LS138 |/Q0|-----/ A10-----|A2 | | | DLspc> \'--|A1 | |/Q1|-----\' A11-----|A3 | | | DLspc> \'--|A2 | |/Q2| | A12-----|A4 | | | DLspc> | | | |/Q3| | A13-----|A5 | | | DLspc> | | | |/Q4| | A14-----|A6 | | | DLspc> \'--|/E0| |/Q5| | A15-----|A7 | | | DLspc> /IORQ---|/E1| |/Q6| | | | | | DLspc> A05-----|E2 | |/Q7| \'------------------------------|/CS| | | DLspc> \'---------------/ \'----------------/ DLspc> A ROMku jsem naprogramoval. Nasledujici program je pro Flash AMIC 29F040A z GM DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Cteni 16k z Flash 0c000h - 0ffffh na adresy v ram 08000h- 0Bfffh DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 1200 ld HL, 0bfffh 21 FF BF ; adresa posledniho bajtu v ram DLspc> 3 ld BC, 0ff31h 01 31 FF ; B = pocitadlo, C = datovy port DLspc> 6 xor A AF ; A = vyssi bajt adresy Flash +1 DLspc> 7 dec A 3D ; vyssi bajt adresy Flash -1 DLspc> 8 out (030h), A D3 30 ; posli vyssi bajt adresy Flash DLspc> A indr ED BA ; cti 255 bajtu z Flash DLspc> C ind ED AA ; cti 1 bajt z Flash DLspc> E cp 0c0h FE C0 ; cetli jsme naposled? DLspc> 1210 jr NZ, 01207h 20 F5 ; ne cti dalsi DLspc> 2 ret C9 ; konec DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Posli programovaci sequenci do Flash: 5555-AA, 2AAA-55, 5555-(A) DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 6000 ld DE, 05555h 11 55 55 ; 3 adresa do DE DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Posli programovaci sequenci do Flash: 5555-AA, 2AAA-55, (DE)-(A) DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 6003 push DE D5 ; uloz hodnoty DLspc> 4 push AF F5 DLspc> 5 ld DE, 05555h 11 55 55 ; 1 adresa DLspc> 8 ld A, 0aah 3E AA ; 1 slovo DLspc> A call 06017h CD 17 60 ; posli DLspc> D ld DE, 02AAAh 11 AA 2A ; 2 adresa DLspc> 6010 ld A, 055h 3E 55 ; 2 slovo DLspc> 2 call 06017h CD 17 60 ; posli DLspc> 5 pop AF F1 ; obnov hodnoty DLspc> 6 pop DE D1 DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Posli bajt z 'A' na adresu 'DE' ve Flash DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 6017 ld C, 030h 0E 30 ; port adresy DLspc> 9 out (C), D ED 51 ; posli adresu DLspc> B inc C 0C ; datovy port DLspc> C ld B, E 43 ; do 'B' dej nizzsi bajt adresy DLspc> D out (C), A ED 79 ; posli bajt DLspc> F ret C9 DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Cti bajt z adresy 'DE' ve Flash do 'A' DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 6020 ld C, 030h 0E 30 ; port adresy DLspc> 2 out (C), D ED 51 ; posli adresu DLspc> 4 inc C 0C ; datovy port DLspc> 5 ld B, E 43 ; do 'B' dej nizzsi bajt adresy DLspc> 6 in A, (C) ED 78 ; cti bajt DLspc> F ret C9 DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Programuj bajt HL-adresa bajtu v pameti, DE-adresa bajtu ve flash DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 6029 call 0604eh CD 4E 60 ; reset Flash DLspc> C call 06020h CD 20 60 ; cti bajt DLspc> F cp (HL) BE ; je shodny? DLspc> 6030 ret Z C8 ; pokud ano nic neprogramuj DLspc> 1 push DE D5 ; schovej adresu DLspc> 2 ld A, 0a0h 3E A0 DLspc> 4 call 06000h CD 00 60 ; posli 5555-AA, 2AAA-55, 5555-A0 DLspc> 7 pop DE D1 ; obnov adresu DLspc> 8 ld A, (HL) 7E ; do A bajt DLspc> 9 call 06017h CD 17 60 ; a posli DLspc> C and 080h E6 80 ; orizni na 7 bit DLspc> E ld C, A 4F ; a uloz do C DLspc> F push BC C5 DLspc> 6040 call 06020h CD 20 60 ; cti bajt DLspc> 3 pop BC C1 DLspc> 4 ld B, A 47 ; uloz precteny bajt do B DLspc> 5 and 080h E6 80 ; orizni na 7 bit DLspc> 7 cp C B9 ; shoduje se? DLspc> 8 jr Z, 0604eh 28 04 ; ano konec (reset Flash) DLspc> A bit 5, B CB 68 ; je konec programovani? DLspc> C jr NZ, 0603fh 20 F1 ; ne testuj dal DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Reset Flash DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 604E ld A, 0f0h 3E F0 DLspc> 6050 out (031h), A D3 31 DLspc> 2 ret C9 DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; Sektor Erase DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> 6053 call 0604eh CD 4E 60 ; reset Flash DLspc> 6 push DE D5 DLspc> 7 ld A, 080h 3E 80 DLspc> 9 call 06000h CD 00 60 ; posli 5555-AA, 2AAA-55, 5555-80 DLspc> C pop DE D1 DLspc> D ld A, 030h 3E 30 DLspc> F call 06003h CD 03 60 ; posli 5555-AA, 2AAA-55, (DE)-30 DLspc> 6062 ld B, 0 06 00 ; chvili cekej DLspc> 4 ex (SP), HL E3 ; kdyz necekala tak mi Flashka nahodne DLspc> 5 djnz 06064h 10 FD ; kolabovala v nasledujici operaci DLspc> 7 call 06020h CD 20 60 ; cti bajt DLspc> A rlca 07 ; je 7 bit v jednicce DLspc> B jr NC, 06062h 30 F5 ; kdyz ne tak cekej DLspc> D jr 0604eh 18 DF ; a udelej reset DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; HLAVNI PROGRAM - 16k z ram 02000h- 05fffh do Flash 0c000h - 0ffffh DLspc> ;------------------------------------------------------------------------------- -------------------- DLspc> ; kontrola DLspc> 606F call 0604eh CD 4E 60 ; reset Flash DLspc> 6072 ld HL, 02000h 21 00 20 ; adresa v pameti DLspc> 5 ld DE, 0c000h 11 00 C0 ; adresa Flash DLspc> 8 ld C, 0 0E 00 ; stav kontroly 1=nutnost programovat DLspc> A push BC C5 DLspc> B call 06020h CD 20 60 ; cti bajt DLspc> E pop BC C1 DLspc> F cp (HL) BE ; je to shodne? DLspc> 6080 jr Z, 06089h 28 07 ; pokud ano tak dalsi bajt DLspc> 2 and (HL) A6 ; test zda je mozno Flash programovat DLspc> 3 cp (HL) BE ; nebo je nutno nejdrive DLspc> 4 call NZ, 06053h C4 53 60 ; sektor vymazat DLspc> 7 ld C, 1 0E 01 ; stav kontroly - nutno programovat DLspc> 9 inc HL 23 DLspc> A inc DE 13 DLspc> B ld A, D 7A ; jeste mame DLspc> C or A B7 ; dalsi bajt? DLspc> D jr NZ, 0607ah 20 EB ; ano tak dalsi DLspc> F dec C 0D ; je nutno Flash programovat? DLspc> 6090 ret NZ C0 ; kdyz ne tak konec DLspc> ; programovani DLspc> 6091 ld HL, 02000h 21 00 20 ; adresa v pameti DLspc> 4 ld DE, 0c000h 11 00 C0 ; adresa Flash DLspc> 7 call 06029h CD 29 60 ; programuj bajt DLspc> A inc HL 23 DLspc> B inc DE 13 DLspc> C ld A, D 7A ; jeste mame DLspc> D or A B7 ; dalsi bajt? DLspc> E jr NZ, 06097h 20 F7 ; ano tak dalsi DLspc> ; kontrola naprogramovani DLspc> 60A0 ld HL, 01fffh 21 FF 1F ; adresa v pameti -1 DLspc> 3 ld DE, 0bfffh 11 FF BF ; adresa Flash -1 DLspc> 6 inc HL 23 DLspc> 7 inc DE 13 DLspc> 8 ld A, D 7A ; jeste mame DLspc> 9 or A B7 ; dalsi bajt? DLspc> A ret Z C8 ; ne konec DLspc> B call 06020h CD 20 60 ; cti bajt DLspc> E cp (HL) BE ; shoduji se? DLspc> F jr Z, 060a6 28 F5 ; ano testuj dalsi DLspc> 60B1 call 03c3 CD C3 03 ; vypis bajt z Flash DLspc> 4 call 0ch CD 0C 00 ; vypis mezeru DLspc> 7 call 03bah CD BA 03 ; vypis adresu pameti DLspc> A call 0ch CD 0C 00 ; vypis mezeru DLspc> D ld A, (HL) 7E DLspc> E jp 03c3h C3 C3 03 ; vypis bajt z pameti -- S pozdravem, falcen99 falcen99[doména skryta]