Konference: Počítač SHARP MZ-800 a emulátory
Od: | Radek Suk |
Datum: | 1.1.2012 06:45 |
Předmět: | Re: Floppy driver |
Ahoj Michale Pripada mi to, ze v teto rutine vyskocis kdyz je dokoncen prikaz a Busy jde na nulu. Ale protoze neprevezmes posledni bajt tak DRQ je jeste nahore. Zkus zkontrolovat zda mas read_size=6 ci jen 5. Radek /* * FDC_waitForData - radic je ve stavu, kdy zapisujeme/cteme data * budeme na ne cekat, dokud bude vystaven priznak BUSY * * Vstup: * dma_addr - adresa dat * drq_call - rutina, ktera se vykona pri DRQ * * Vystup: * pocet prectenych bajtu * */ unsigned int FDC_waitForData ( void* p, void *drq_call ) __naked { (void) p; (void) drq_call; __asm push ix ld ix,#0 add ix,sp // Prepiseme adresu volani pro DRQ. // // Pri FDC_SUPPORT_HDD zapiseme na 0x0038 instrukci JP <drq_call> // U normalniho radice prepiseme CALL intrukci pro volani pri DRQ. ld e,6 (ix) ld d,7 (ix) #ifdef FDC_SUPPORT_HDD ld hl,#0x0038 ld a,#0xc3 ld (hl),a inc hl #else ld hl,#3$+1 #endif ld (hl),e inc hl ld (hl),d // DMA do HL ld l,4 (ix) ld h,5 (ix) ld c,#_FDC_DATA #ifdef FDC_SUPPORT_HDD ei #endif // cekame na DRQ, nebo az zmizi BUSY 1$: in a,(#_FDC_STS) rrc a jr c, 2$ // zmizel BUSY - koncime #ifndef FDC_SUPPORT_HDD rrc a 3$: call nc, __FDC_readByteCpl // prisel DRQ - jdeme pro dalsi bajt #endif jr 1$ 2$: #ifdef FDC_SUPPORT_HDD di #endif // zacatek DMA do DE ld e,4 (ix) ld d,5 (ix) ccf sbc hl,de // do HL pocet prenesenych bajtu pop ix ret __endasm; } Dne 31.12.2011 16:21, Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a): > > > Ahoj Radku, > > takhle je to super! Diky! Myslim, ze je docela jedno ktery chip tam je > fyzicky - kazdopadne jak je videt, tak to co snesou emulatory, to > mohuzel neunese fyzicky HW, takze budu muset nakouknout do ROMky a do > svych starych zdrojaku jestli tam neni potreba pridat jeste nejake > prodlevy :( ERR = 253 znamena, ze prikaz READ_ADDR skoncil s nejakym > nenulovym statusem ... > > Michal > > Dne 31.12.2011 16:07, Radek Suk (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a): >> >> Ahoj Michale >> >> Chci se optat zda by to nestacilo otestovat na wd2797 s eprom >> simulujici 93? >> >> Jestli ano, tak vysledek jsem nafotil. >> http://www.radeksuk.cz/sharp/smazat/test%20michal.zip >> >> Jestli to potrebujes presne na 2793 a to jak napis a ja to rozeberu a >> dam tam presne tento. Mam i upraveny radic a tak i na tomto to muzu >> pripadne otestovat. >> >> Radek > > > --- > >
[2012/1 (125)] [2012/2 (34)] [2012/3 (57)] [2012/4 (46)] [2012/5 (40)] [2012/6 (44)] [2012/7 (64)] [2012/8 (57)] [2012/9 (32)] [2012/10 (55)] [2012/11 (25)] [2012/12 (63)]
[1999 (1)]
[2000 (168)]
[2001 (733)]
[2002 (459)]
[2003 (654)]
[2004 (224)]
[2005 (105)]
[2006 (182)]
[2007 (201)]
[2008 (294)]
[2009 (363)]
[2010 (782)]
[2011 (522)]
[2012 (642)]
[2013 (442)]