Autor Wątek: ESXDOS i komendy z kropką  (Przeczytany 2848 razy)

trojacek

  • *****
  • Wiadomości: 4527
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #15 dnia: 2018.06.14, 14:54:15 »
Tak, timexowy hires, na dodatek 80 kolumn.
Czcionka pożyczona z terminala TT3000, bo żaden mój font nie wyglądał ładnie ;)
« Ostatnia zmiana: 2018.06.14, 15:05:47 wysłana przez trojacek »

Maryjan

  • *****
  • Wiadomości: 4019
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: ESXDOS i komendy z kropką
« Odpowiedź #16 dnia: 2018.06.14, 16:25:55 »
To ten projekt, o którym rozmawialiśmy na Pixel-u ?
"... podobno są dwie szkoły, Falenicka i Otwocka."

trojacek

  • *****
  • Wiadomości: 4527
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #17 dnia: 2018.06.14, 16:29:33 »
Oj tam, od razu projekt... Raczej przypomnienie sobie asemblera i test, na ile wystarczy mi samozaparcia, by dalej klepać kod ;)
Pewnie więc umrze jako wersja demo, wczesna beta albo nawet nie to ;)

Maryjan

  • *****
  • Wiadomości: 4019
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: ESXDOS i komendy z kropką
« Odpowiedź #18 dnia: 2018.06.14, 16:31:44 »
Ale pomysł fajny.
"... podobno są dwie szkoły, Falenicka i Otwocka."

trojacek

  • *****
  • Wiadomości: 4527
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #19 dnia: 2018.06.14, 16:47:31 »
Dzięki. Pomysł polega na tym, by nie wykraczać z używaną pamięcią poza RAM interfejsu, a jednocześnie przechowywać i przywracać to, co używa drugi ekran. Ale zacząłem jak zawsze od d4 strony i skupiłem się na szybkości wyświetlania. Tryb 80-kolumnowy to bieg pod górkę, i to po kamieniach. A do tego nazwy trzeba sortować, co też pożera czas.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 3850
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: ESXDOS i komendy z kropką
« Odpowiedź #20 dnia: 2018.06.19, 10:55:24 »
ESXDOS oferuje możliwość czytania sekwencyjnego z pliku, zatem streaming jest jak najbardziej możliwy.

Co do użycia i przykładów - trzeba czekać aż zostanie opublikowane API.

smok.wawelski

  • ***
  • Wiadomości: 144
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #21 dnia: 2018.06.19, 12:31:47 »
OK streaming jest możliwy - to wiedziałem patrząc na demo Bad Apple. Chodziło mi o to, czy szybkość otwarcia pliku jest wystarczająco duża, żeby zamiast jednego wielkiego pliku mieć np. setki mniejszych plików.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 3850
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: ESXDOS i komendy z kropką
« Odpowiedź #22 dnia: 2018.06.19, 12:40:06 »
Wydaje mi się że będzie to dość szybkie, sprawdzę (za jakiś czas zapewne) i dam znać.

smok.wawelski

  • ***
  • Wiadomości: 144
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #23 dnia: 2018.07.17, 15:55:48 »
I jak? Coś wiadomo w temacie otwierania plików?

Tygrys

  • Administrator
  • *****
  • Wiadomości: 3850
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: ESXDOS i komendy z kropką
« Odpowiedź #24 dnia: 2018.07.18, 10:16:21 »
Jeszcze za to się nie zabrałem, dzięki za przypomnienie.

smok.wawelski

  • ***
  • Wiadomości: 144
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #25 dnia: 2019.01.13, 22:59:01 »
Ok, znalazłem sobie przykład na zmianę pozycji w pliku do odczytu (SEEK) i samego odczytu pliku w asemblerze:

fRead:
             ld   ix, 16384          ; ix = address where to store what is read
             ld   bc, 6912           ; bc = bytes to read
             ld   a, filehandle      ; a  = the file handler
             rst  $08
             db   F_READ             ; read file
             ret


Rozumiem, że cała magia dzieje się w linijce  rst  $08?
Ponieważ korzystam z Boriel Basica i w asemblerze piszę tylko wstawki, to mam pytanie, czy nie będzie jakiegoś konfliktu z ROMem ZX Spectrum i ESXDOS? Boriel korzysta z ROMu w wielu miejscach. Ktoś ma doświadczenie w tej kwestii?

trojacek

  • *****
  • Wiadomości: 4527
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #26 dnia: 2019.01.13, 23:19:22 »
RST 8 przełącza ROM na ESXDOS, po rozkazie jest kod funkcji do wywołania.
Trochę się bawiłem wywołaniami ESXDOS, może Ci coś będę mógł pomóc.

smok.wawelski

  • ***
  • Wiadomości: 144
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #27 dnia: 2019.01.13, 23:32:13 »
Aaa OK. To już wszystko rozumiem. Po rst 8 i wywołaniu funkcji jest powrót do oryginalnego ROMu ZX?
Przetestuje sobie i dam znać czy wszystko działa (chcę załadować obrazek pod 16384).

trojacek

  • *****
  • Wiadomości: 4527
  • Miejsce pobytu:
    Warszawa
Odp: ESXDOS i komendy z kropką
« Odpowiedź #28 dnia: 2019.01.14, 00:10:45 »
Hmm, na razie mam tylko doświadczenie z pisaniem komend z kropką, które się uruchamiają w pamięci interfejsu, czyli ROM ESXDOS jest wtedy załączony i nie trzeba żadnych sztuczek (a nawet odwrotnie, można wtedy wołać procedury z ZX ROM).

Trochę na temat przełączania jest napisane na stronie Velesofta:
https://velesoft.speccy.cz/zx/divide/divide-memory.htm

Wspomnianych jest kilka specjalnych adresów (0000h, 0008h, 0038h, 0066h, 04c6h and 0562h), które są dekodowane sprzętowo. Prawdopodobnie któryś z nich może służyć do powrotu do ROM-u z Basicem. Jak doczytam - dam znać.

EDIT: Powyższe adresy włączają ROM divIDE/MMC, a żeby go wyłączyć, pobrany musi być rozkaz z zakresu 1FF8h-1FFFh.
W tym miejscu znajdziemy:

1FF8 C9        RET     

1FF9 FB        EI     
1FFA C9        RET     

1FFB E9        JP      (HL)
1FFC FF        RST     38H
1FFD FF        RST     38H
1FFE FF        RST     38H
1FFF FF        RST     38H

Najprościej więc odłożyć na stos adres powrotu i wykonać JP 1FF8H (bez włączania przerwań) lub JP 1FF9H (z włączeniem przerwań).
Albo też adres powrotu zapakować do HL i wykonać JP 1FFBH.

Aaa OK. To już wszystko rozumiem. Po rst 8 i wywołaniu funkcji jest powrót do oryginalnego ROMu ZX?
Przetestuje sobie i dam znać czy wszystko działa (chcę załadować obrazek pod 16384).

ZTCW, tak. Funkcje wywoływane przez RST 8 w większości przypadków wracają wyłączając "swój" ROM. Ale chyba nie wszystkie,  trzeba by sprawdzić.  Dokumentacja jest dość skromna.
« Ostatnia zmiana: 2019.01.14, 03:04:55 wysłana przez trojacek »