576

(88 odpowiedzi, napisanych Sprzęt - 16/32bit)

Witam świątecznie :)

W jednym z numerów c't magazynu był projekt kontrolera IDE do ST + TOS2.06. Skoro był, to trzeba było spróbować go zrobić. Początkowo były pewne problemy, na niemieckim forum jest cały wątek o tych problemach. TOS zgłaszał się, ale dysk nie był widoczny. Po małej korekcie pliku JED do GAL'a dysk się pojawił. Pisząc dysk mam na myśli przejściówkę z kartą CF oraz "disk on chip", swego czasu dysków IDE było na kilogramy, teraz nie mam żadnego :)
Testuję jak to wszystko działa (zapis, odczyt, uruchamianie programów) i nie natrafiłem na jakieś problemy. Zapuściłem defragmentację na dysku i sprawdziłem czy potem wszystko jest czytelne i programy się uruchamiają. Czy znacie jakieś programy do testów ? To co znalazłem, to w większości testy prędkości. Jeżeli kojarzycie jakiś program do testów zapisu/odczytu proszę o podrzucenie jego nazwy.

Teraz kilka fotek samego kontrolera:
ct ide

ct ide

ct ide

ct ide

ct ide

a tutaj są zdjęcia z programów testowych:
http://atari.wroclaw.pl/pliki/ctide/test

577

(38 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cyprian napisał/a:

czy 68010 działa w MSTE na 16MHz z wyłączonym cache?

Niestety nie.

578

(5 odpowiedzi, napisanych Sprzęt - 16/32bit)

GEN MOUSE, WRAP MOUSE na ten przykład.

579

(38 odpowiedzi, napisanych Sprzęt - 16/32bit)

Jak uruchamiam z Ctrl to startuje na 8MHz.

580

(38 odpowiedzi, napisanych Sprzęt - 16/32bit)

Bawiłem się dzisiaj z MegaSTE i procesorami w wersji DIP.
68000 w wersji 8, 10 i 16MHz oraz 68010 10 i 12MHz.

Wszystkie startują i działają na 8MHz, po włączeniu 16 i cache działa tylko 68000 16MHz. 68010 12MHz sypie się (ciekawe czy przez cache, czy przez 68010). Wygląda na to, że procesory w tej wersji były mniej podatne na zmianę częstotliwości. Wersja 10MHz nie działa na 16, podczas gdy analogiczny procesor PLCC 68HC000FN10 działa na 16.
EDIT: Procesor PLCC 68010 w wersji 25MHz działa tylko na 8MHz, więc problemem jest cache w MegaSTE (?prawdopodobnie).

dip

581

(6 odpowiedzi, napisanych Sprzęt - 16/32bit)

Blitter patch ? ;)

582

(1 odpowiedzi, napisanych Sprzęt - 16/32bit)

Ja mam tymczasowo tak:
http://atari.wroclaw.pl/pliki/ulsat/

583

(6 odpowiedzi, napisanych Fabryka - 16/32bit)

Ja mam niedokończone MegaST 2015 :)

584

(4 odpowiedzi, napisanych Software, Gry - 16/32bit)

W desktopie ustawisz jedno rozszerzenie np. DOC, wpisując kolejne (TXT), wpis DOC zostanie usunięty z NEWDESK.
Można edytować plik i wtedy się da. Szukałem jednak aplikacji która to ogarnia.

Zna ktoś aplikację która pozwala na przypisanie kliku plików do jednej aplikacji ?
Można to zrobić edytując NEWDESK.INF (sprawdziłem), ale czy jest do tego jakaś aplikacja ?
Np. skojarzyć z wordplus'em pliki DOC, TXT, INF itd. Z poziomu TOS można tylko jeden typ ustawić.

586

(11 odpowiedzi, napisanych Fabryka - 16/32bit)

Nie wiem gdzie to wrzucić, ale wcześniej nie widziałem tego linku (SCSI to IDE):
https://www.retrobrewcomputers.org/doku … 2ide:start

587

(22 odpowiedzi, napisanych Fabryka - 16/32bit)

uicr0Bee napisał/a:

Nie ma tu więcej nikogo kto jednocześnie ma podłączone w MSTE wewnętrzny i zewnętrzny dysk i mógłby napisać z jakimi ID i jakimi driverami mu to działa?

Można używać obu złącz, dlaczego miałoby być inaczej ? Swego czasu miałem wewnętrzny dysk (0) i zewnętrzne CD (1).
Adapter ACSI-SCSI zwiera odpowiednie piny tak, że wyjściowe gniazdo jest normalnym przedłużeniem ACSI.

588

(27 odpowiedzi, napisanych Sprzęt - 16/32bit)

Więcej kart VME w MegaSTE/TT:

vme
bus

589

(7 odpowiedzi, napisanych Sprzęt - 16/32bit)

Na upartego można i "ręcyma". Małe imadełko znacząco ułatwia sprawę.

590

(27 odpowiedzi, napisanych Sprzęt - 16/32bit)

Odświeżę wątek. U naszych zachodnich sąsiadów powstało wiele ciekawych dodatków do ST. Jest sporo różnorakich projektów opisanych w c't magazin czy piśmie Elrad. To projekt z tego drugiego. Karta z procesorem DSP produkcji TI. W jednym numerze jest opis karty, w kolejnym karty pozwalającej na podłączenie do ST przed DMA i kolejna karta, cały zestaw można sobie zmontować :)


sesam1
sesam2
sesam3

591

(7 odpowiedzi, napisanych Sprzęt - 16/32bit)

Ja sobie dorobiłem przedłużkę
https://allegro.pl/idc34-wtyk-tasma-do- … legro&

592

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Oczywista, oczywistość :)
Akurat do Tseng'a to sterowniki są.

593

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Wiela wyszło ?

594

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Mejl poszedł :)

595

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Z kronikarskiego obowiązku. Adres jest OK, o ile dane o karcie mogą być z pewnymi odchyłkami, o tyle rozdzielczość odczytana z rejestrów daje z grubsza pewność.
PunBB mach32
Jeżeli ktoś posiada Panther/2 (NOVA ma inny adres) i kartę Mach32(tylko) to jest i programik.
http://atari.wroclaw.pl/pliki/ATI_M32.PRG

EDIT: Jest przełom w sprawie !! A nawet dwa przełomy :)

596

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Napisałem krótki programik odczytujący rejestr z informacjami o karcie i wyszło mi coś takiego:

czyli nic się nie zgadza: magistrala, DAC, pamięci. Zgadza się VGA :)

POPRAWKA:
Zapomniałem o tym co pisałeś wcześniej, a ten rejestr to 2 bajty.

Adam Klobukowski napisał/a:

Może są problemy związane z endianess?

Po korekcie nabiera to sensu ;) Akurat wszystkie karty Mach32 które mam posiadają ten sam DAC.

597

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Jest jeszcze jedna kwestia leżąca u podstaw całej sprawy :) Mianowicie adresy w pamięci dla konkretnych adapterów.
Mało jest informacji. W linku jaki mi podesłano na atari-forum.com:
https://github.com/emutos/emutos/blob/m … ios/nova.c
widać po jakich adresach EmuTOS szuka adaptera NOVA.

/* Mach32(?) in Atari TT */
regbase = 0xFE900000
membase = 0xFE800000
/* Nova in Atari MegaSTE */
regbase = 0x00DC0000
membase = 0x00C00000
/* ET4000 in Atari TT */
regbase = 0xFEDC0000
membase = 0xFEC00000

odpaliłem wczoraj novą na MSTE (Mach32) i sprawdziłem u siebie (XBIOS(2)), pokazał adres 0xA00000 więc nie pokrywa się to z powyższymi informacjami. Akurat pod kątem rejestrów bardziej interesuje mnie regbase, lecz jak membase jest inny to i ten drugi pewnie też.
Co do Panther instrukcja podaje regbase=0xFEA00000, ale bez pewności zmiana rejestrów będzie jak strzelanie ślepakami.
Najpierw więc ustalę jaki jest faktyczny adres i zobaczę czy to coś zmieni.
Powoli, powoli może coś z tego będzie :)

598

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Najpierw jest numer indeksu (bajt, pod jeden adres) potem wartość (bajt, pod inny adres).

Pytanie techniczne, jak to zapisać aby było zjadliwe dla AHCC/PureC (w tej chwili jest błąd przy kompilacji w zaznaczonym miejscu):

struct tPictureInfo{
   unsigned long   infoType;
   unsigned long   vMemSize;
   unsigned long   infoWidth;
   unsigned long   infoHeight;
   unsigned long   infoRefresh;
}; typedef struct tPictureInfo PICTUREINFO; typedef struct tPictureInfo* PPICTUREINFO;


struct tvmode{
   PICTUREINFO    info;
   unsigned char   extReg[EXTCOUNT];
   unsigned char   crtReg[CRTCOUNT];
   unsigned char   seqReg[SEQCOUNT];
   unsigned char   atrReg[ATRCOUNT];
   unsigned char    gfxReg[GFXCOUNT];
} video_vmode[] = {
   {          <-- w tym miejscu jest błąd (nie oczekiwano klamry)
      .info = {
         .infoType = PICTURE_GFX4BPP6BPC,
         .vMemSize = (640*480/2),
         .infoWidth = 640,
         .infoHeight = 480,
         .infoRefresh = 0
      },
      .extReg = {0x01|0xC0|CLK_25},
      .crtReg = {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x0,0x80,0xe,0xf,0x0,0x0,0x0,0x20,0x9c,0x8e,0x8f,0x28,0x7f,0x96,0xb9,0xff,0xff},
      .seqReg = {0xff, 0x0, 0xff, 0x0, 0x4},
      .atrReg = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0x1,0x0,0xff,0x00},
      .gfxReg = {0xff,0,0,0,0,0,0x01,0x00,0xff}
   },
   {
      .info = {
         .infoType = PICTURE_TEXT1C1A,
         .vMemSize = (80*20*2),
         .infoWidth = 80,
         .infoHeight = 20,
         .infoRefresh = 0
      },
      .extReg = {0x03|0xC0|CLK_25},
      .crtReg = {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x00,0x4f,0x0e,0x0f,0x00,0x00,0x02,0x30,0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,0xff},
      .seqReg = {0x03,0x00,0x03,0x00,0x02},
      .gfxReg = {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x0f,0x0ff},
      .atrReg = {0,1,2,3,4,5,0x14,7,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x0C,0x00,0x0F,0x08}
   }
};

599

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Wszystkie operacje odczytu i zapisu są wykonywane po 1 bajcie.

600

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Po dodaniu procedury odczytu rejestrów widać, że wszystkie wartości są wpisane prawidłowo.
Jednak na Atari najwyraźniej tak się nie da i potrzebna jest jeszcze ingerencja w GEM.

EDIT: To co pisałem wcześniej dotyczyło ET4000, teraz sprawdziłem ATI i program nie zmienia wartości rejestrów.