Welcome, Guest. Please login or register.


Author Topic: Tube 256byte (Read 3600 times)

Offline geco

  • EP addict
  • *
  • Posts: 7081
  • Country: hu
    • Támogató Támogató
Tube 256byte
« on: 2017.April.08. 21:33:34 »
Egy újabb apró szösszenet, Tube256byte, vertikális mozgást is be szerettem volna tenni, de csak 9 byte maradt szabadon, legalább huszonegynehány bájt kellett volna még hozzá, szerintem egy jobb programozó be tudta volna még zsúfolni azt is.
[ Guests cannot view attachments ]
« Last Edit: 2017.April.09. 17:59:58 by geco »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14721
  • Country: hu
    • http://enterprise.iko.hu/
Re: Tube 256byte
« Reply #1 on: 2017.April.08. 21:42:35 »
Lehetnének 512 bájtos programok, úgyis elfoglal annyi helyet a floppyn :-)

Offline geco

  • EP addict
  • *
  • Posts: 7081
  • Country: hu
    • Támogató Támogató
Re: Tube 256byte
« Reply #2 on: 2017.April.08. 22:13:15 »
Lehetnének 512 bájtos programok, úgyis elfoglal annyi helyet a floppyn :-)
Egyelőre még egy 256 byte-os programötletem van, de szerintem azt kihagyom :) , nem pazarlunk többet a floppyn ;)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tube 256byte
« Reply #3 on: 2017.April.09. 11:32:53 »
vertikális mozgást is be szerettem volna tenni, de csak 9 byte maradt szabadon, legalább huszonegynehány bájt kellett volna még hozzá

Fejlécbe épített kóddal még lehetne további 6 byte, és egy-két helyen talán van lehetőség optimalizálásra, például itt:
Code: ZiLOG Z80 Assembler
  1. .   0143  16 03        LD    D, 03
  2. .   0145  0E 20        LD    C, 20
  3. .   0147  06 20        LD    B, 20
  4. .   0149  77           LD    (HL), A
  5. .   014A  2C           INC   L
  6. .   014B  10 FC        DJNZ  0149
  7. .   014D  2F           CPL
  8. .   014E  2C           INC   L
  9. .   014F  2D           DEC   L
  10. .   0150  20 F5        JR    NZ, 0147
  11. .   0152  24           INC   H
  12. .   0153  0D           DEC   C
  13. .   0154  20 F1        JR    NZ, 0147
  14. .   0156  2F           CPL
  15. .   0157  15           DEC   D
  16. .   0158  20 EB        JR    NZ, 0145
Az INC L és DEC L 014Eh címnél szerintem törölhető, mert a 014Ah-s INC L már beállítja a Z bitet, és a DJNZ és CPL nem változtatja.

Esetleg a 82h port írása is törölhető, mert az értéke a program indításakor már 0 (EXOS 2.0 LPT cím: BB00h, EXOS 2.1+: B900h).

ZozoTools-os konfiguráción nem jól működik a program, mert ott az EXOS LPT hosszabb, de ez talán egyszerűen javítható 6 helyett 7 LPB másolásával. Így az óra is látható marad, és még működik is: :)
[ Guests cannot view attachments ]
« Last Edit: 2017.April.09. 11:47:43 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 7081
  • Country: hu
    • Támogató Támogató
Re: Tube 256byte
« Reply #4 on: 2017.April.09. 11:54:52 »
Köszi szépen, majd javitom, és megnézem :-) Akkor a square-ben is javítani kell az lpt-t

Offline geco

  • EP addict
  • *
  • Posts: 7081
  • Country: hu
    • Támogató Támogató
Re: Tube 256byte
« Reply #5 on: 2017.April.09. 18:04:36 »
Köszi István , a DEC L/INC L-t kiírtottam, az out (82h),a sajnos kell, de kiszedtem pár kezdő érték adó részt (nem szükséges), és a paletta közepét kitöltő rutinnak nem kell értékadás, mert az előző rutin pont a megfelelő értékekkel tért vissza, így pont sikerült besuvasztani a függőleges mozgatást.
A lenti link a legújabb verziót tartalmazza, ja EP64-en nem fut, FC szegmens az egyik videómemória, a módosítással már nem férne be 256 bájtba, és az EP64 lassúsága miatt is lenne kis gubanc.