Welcome, Guest. Please login or register.


Author Topic: EXOS (Read 113484 times)

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: EXOS
« Reply #300 on: 2019.March.09. 21:16:55 »
sebességteszt:

közvetlen portírással / olvasással, 256 byte-os puffer-t használva (egyszerre ennyi adatot töltök be az EEPROM-ból) 11700 byte / sec. A 256 bájtnyi adat valójában 2313 bitnyi jel az I2C buszon, ha jól számolom.

Puffer használata nélkül közvetlen port olvasással: 5715 byte / sec, ebben az esetben a 256 bájt valójában 4608 bitnyi infó a buszon, szóval reális a kb. kétszeres sebesség a puffer használata esetén.

Ugyanez a 256 byte-os buffer-es módszer EXOS 6-tal már csak 3960 byte/sec. Szóval van még mit faragni, főleg, hogy pl. minden bájtolvasásnál újra számolom a DE-t az egyes lapra...

Puffer nélkül EXOS 6-tal 3360 byte / sec, szóval minimális a gyorsulás, ebből is látszik, hogy a fő overhead maga az EXOS 6 rutinom, amit még faragni kéne :-D
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: EXOS
« Reply #301 on: 2019.March.09. 22:52:16 »
egyébként ami nem világos nekem az EXOS leírásból: milyen regisztereket kell megőriznem?
az ugye világos, hogy az A-ban adok vissza hibakódot, vagy nullát. BC és DE regiszterben meg eredményt. De pl. mi van olyan hívásoknál, ahol nincs eredmény, csak az A-ban? Pl. EXOS 1 esetén? Akkor BCDE-t is elronthatom? Mi van a vesszős regiszterekkel? Azokat is megváltoztathatom?
Asszem meg van a megoldás: "A perifériakezelő alprogramok tönkretehetik az összes regiszter - közöttük az indexregiszterek és az alternatív regiszterkészlet regisztereinek - tartalmát, mivel ezek a tárolását az EXOS hajtja végre. "
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: EXOS
« Reply #302 on: 2019.March.09. 22:57:11 »
Amit viszont nem értek:
a csatorna RAM mindig az 1-es lapon lesz, ha jól értem. (ide mutat az IX regiszter).
Akkor EXOS 6 és 8 esetén, miért az 1-es lapra számoljuk át a DE értékét? Így állandóan lapozgatni kell, ha nekem szükségem van a csatorna RAM-ra (mondjuk ott van a puffer, ott tárolom a fájlméretet, ami alapján nézem, hogy EOF van-e).
Logikusabb lenne nekem a 2-es lapra átszámolni a DE-t, és odalapozni. A 2-es lapon úgyis csak a rendszerszegmens van, szóval szerintem tiltott megszakítás mellett, és CALL / RET / PUSH / POP használata nélkül működne a dolog, mivel ha jól értem, a verem is a rendszerszegmensen van ilyenkor. Aztán a végén persze visszalapoznám a rendszerszegmenst a 2-es lapra. Vélemény? De akár a nullás lapra is tehetném, tiltott megszakítás mellett, és akkor a verem használatáról se kéne lemondanom.
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: EXOS
« Reply #303 on: 2019.March.10. 11:43:07 »
átírtam a blokk olvasó rutint, most a nullás lapra van belapozva a DE által kapott cím, a P1-en marad a csatorna RAM.
Így eléggé fölgyorsult, most 7447 byte / sec lett az eredmény a korábbi 3960 helyett.

Code: [Select]
READ_BLCK:
; exos 6

        bit  0, (ix-3)
        jp   nz, RET_NOFN

        ; HL = pointer to buffer
        ld   l, (ix-6)
        ld   h, (ix-5)

        ; DE' = DE
        push de
        exx
        pop  de
        exx

        in   a, (0b0h)
        push af
        di
        call SET_USER_SEGMENT0  ; at return DE points to P0

.loop:  ld   a, b
        or   c
        jr   z, .vege           ; if (BC == 0) { A = 0; goto vege; }

        ld   a, (ix-1)
        or   (ix-2)
        jr   z, .eof

        inc   (ix-4)
        call  z, Read256ByteFromEeprom
        ldi
        exx
        inc   de
        exx
        bit   6, d
        call  nz, SET_USER_SEGMENT0

        inc  (ix-2)
        jp   nz, READ_BLCK.loop
        inc  (ix-1)
        jp   READ_BLCK.loop

.eof:   ld   d, ERR_EOF         ; End of file
        db   020h               ; JR NZ, .. skip next byte
.vege:  ld   d, a               ; no error
        pop  af
        out  (0b0h), a
        ei
        ld   a, d
        ld   (ix-6), l
        ld   (ix-5), h
        exx
        push de
        exx
        pop  de
        ret
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: EXOS
« Reply #304 on: 2019.March.10. 22:37:40 »
van-e valami hátrány, ha kilapozom a rendszer alól a nullás lapszegmenst, vagy tiltott megszakítás mellett nem lehet semmi gond, ugye?
*** Speicherplatz zu klein

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: EXOS
« Reply #305 on: 2019.March.11. 13:55:43 »
van-e valami hátrány, ha kilapozom a rendszer alól a nullás lapszegmenst, vagy tiltott megszakítás mellett nem lehet semmi gond, ugye?
Elméletileg nem, azt nézd meg lapozás előtt, hogy ne ott legyen a verem.

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: EXOS
« Reply #306 on: 2019.September.08. 17:37:43 »
van olyan számláló ep-n, ami a bekapcsolástól elkezd számolni?
exos-al elérhető ez, illetve peek jobb lenne.
Vigyázat! Szektás vagyok! :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXOS
« Reply #307 on: 2019.September.08. 17:43:03 »
van olyan számláló ep-n, ami a bekapcsolástól elkezd számolni?
exos-al elérhető ez, illetve peek jobb lenne.
Az óra nem jó? Vagy ott van még a RANDOM_IRQ változó.

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: EXOS
« Reply #308 on: 2019.September.08. 18:12:56 »
Ha nincs "cmos real-time clock" hardver akkor a sima TIME változó.
TIME = bekapcsolástól  eltelt idő.

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: EXOS
« Reply #309 on: 2019.September.08. 18:31:49 »
a time-ban a másodperc a legfinomabb, nem? nekem frame kellene, az finomabb.
mi az a RANDOM_IRQ ?
Vigyázat! Szektás vagyok! :)

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: EXOS
« Reply #310 on: 2019.September.08. 18:44:52 »
Van egy 50 Hz számláló. Az elég?

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: EXOS
« Reply #311 on: 2019.September.08. 19:03:53 »
Van egy 50 Hz számláló. Az elég?

az kell nekem :)
Vigyázat! Szektás vagyok! :)

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: EXOS
« Reply #312 on: 2019.September.08. 19:08:27 »
SPEEK(255,16364)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: EXOS
« Reply #313 on: 2019.September.08. 19:21:14 »
István írt sokszor a polinomszámlálókról, meg talán másról is, amik pörögnek ezerrel, a hang is azoktól van, vagy nincs.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: EXOS
« Reply #314 on: 2019.September.08. 19:43:50 »
István írt sokszor a polinomszámlálókról, meg talán másról is, amik pörögnek ezerrel, a hang is azoktól van, vagy nincs.

ja, csak ezeket nem lehet kiolvasni
Vigyázat! Szektás vagyok! :)