Konference: Počítač SHARP MZ-800 a emulátory

Od: Roman Dolejsi
Datum: 3.1.2009 12:49
Předmět: Re: Adresa $E008


Ahoj Marku,

  ostatni asi odpovi lepe, ale rychle jsem mrknul do sveho MCE a treba ti pomuze tohle (handler cteni z adres 0xE000 - 0xE010):

  public int getByte( int addr ) {

    if( ( addr & 0xfffff000 ) == portBase && ( addr & 0xfff ) < 9 ) {

      // we work only on first 16 bytes
      addr &= 0xf;

      // call the 8255 handler
      if( addr < 4 )
        return mz8255.getByte( addr );

      // call the 8253 handler
      if( addr < 8 )
        return mz8253.getByte( addr );

      // get the horizontal pulses (HSync/15611Hz) and periodic music signal (35Hz)
      if( addr == 8 ) {
        int srr = scrHandler.getStatusReadRegister();
        return ( ( srr & 0x20 ) << 2 ) | ( srr & 1 );
      }

      // tu byla ta zakroucena vec todo return non-existent port - check value on real MZ
      return 0xff;
    }
    return memoryAccess.getByte( addr );
  }

  Jak vidis, port 0xE008 (0xD8) mam napojeny na HSync, ale v realu bych na to asi moc nesazel.. Vzhledem k tomu, ze mi v MCE nektere programy nebezi, urcite Ti Zdenek ze sve studnice znalosti predlozi lepsi odpoved :-)

HTH,
Roman

2009/1/3 Marek Brunda (sharpemu tu byla ta zakroucena vec pandora.cz) <marek tu byla ta zakroucena vec brunda.name>

Omlouvam se za predchozi spam, nejak se mi sekl net.

Poradil by nekdo s timto problemem? Nejsem schopen nejak detailne zjistit z dokumentace, co na SHARPu prectu ctenim z adresy $E008. Zapisem na tuto adresu se ridi GATE0 na 8253. Jde mi o to, ze SHARP pri startu v ramci pipnuti 10x cte z teto adresy ale proc? Pokud udelam hack ze pri kazdem cteni se hodnota zmeni z 0 na 1 a naopak, je vse ok, ale nevim, co na tomto portu ma skutecne byt?

Diky za odpoved, pokud nekdo vite.

Marek Brunda
---


Ostatní příspěvky vlákna:

 
[2009/1 (32)] [2009/3 (21)] [2009/4 (42)] [2009/5 (6)] [2009/8 (9)] [2009/9 (28)] [2009/10 (50)] [2009/11 (86)] [2009/12 (89)]


[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)]