1,576

(19 odpowiedzi, napisanych Software, Gry - 8bit)

Hej!

Schemat wynalazku z książki o której mówiłeś wygląda tak:

https://dl.dropboxusercontent.com/u/44199/eprom_burn_hbk.jpg

W żaden sposób nie wygląda na to aby RK dopuścił się plagiatu. Czy go widział i czy się na nim wzorował, tego nie wiem. Konstrukcja którą posiadam (wersja cartridge) niewiele ma wspólnego z tym co jest w Hackerbook. Trudno mi jest orzec czy mógł się wzorować tym czy innym podobnym rozwiązaniu. Konstrukcja w wersji Awerte wygląda jak jakiś prototyp. Autorem tego wynalazku na pewno jest Robert Kujda?

Ale skoro Awere wspominał że ten soft napisany przez RK działa z jego wersją programatora to mogą wynikać z tego kilka spraw:

  • obie konstrukcje wykonał RK i są w pełni zgodne sprzętowo

  • obie konstrukcje wykonał RK, nie są zgodne sprzętowo i program wykrywa i rozpoznaje wersje programatora.

  • konstrukcja w wersji cartridge jest autorstwa RK, to co ma Awerte jest czyjąś inną konstrukcją z którą zgodność starał się zachować RK

  • obie konstrukcje bazują na jakiejś wcześniejszej konstrukcji i są z nią zgodne na poziomie rejestrów

Wychodzi na to że obie wersja programatora, tzn. tą która ma Awere i tą którą mam ja są oparte o dwie kostki PIA-6520 i poboczną logikę sterującą. Wersja cartridge jest nieco unowocześniona (zastąpienie EPROM-a logiką programowalną). Na zdjęciu od Awerte nie widzę żadnej przetwornicy... być może jest coś jeszcze od drugiej strony PCB, albo podłączało się zew. napięcie programujące, ale to już musiałby Awerte podpowiedzieć :) Dwa przełączniki służą zapewne do wyboru napięcia programującego EPROM.

Ciekawostką dla mnie jest natomiast to użycie OS-a z Atari 400/800 aby mieć trochę więcej pamięci. Nie rozumiem dlaczego RK nie wykorzystał po prostu pamięci pod ROM jako bufora czy miejsca na swój program, tylko wykonał taki dziwny dość nazwijmy to "myk" :D

W programatorze z książki "Hackerbook" dla Atari 400/800 wykorzystano 3 porty JOY-ów. Dwa z nich (PORT A) wykorzystano jako port danych (D0-D7), natomiast 3 port JOY-a (1/2 PORTB) jest wykorzystana do generowania imp. programującego oraz do resetowania i inkrementacji liczników 4024 które generują sygnały adresowe (A0-A11).

Na schemacie jest jeszcze gotowa przetwornica DCP528 (5V->28V), trochę tzw. kluczy analogowych do przełączenia niektórych sygnałów (głównie regulacja nap. programującego). A EPROM który widzisz to miejsce gdzie wkłada się EPROM do zaprogramowania. Ten programator obsługuje tylko 4 rodzaje pamięci o dwóch wielkościach:

2k) 2716 / 2516
4k) 2732 / 2532

W przypadku wersji programatora którą zaprezentował Awerte, wewnętrznej pamięci EPROM użyto jako układu kombinacyjnego, zastępującego pewnie parę układów TTL, w tym wypadku wewnętrzny EPROM robi za tzw. lookup-table, czyli jakaś kombinacja sygnałów wejściowych (linie adresowe) daje konkretne informacje wyjściowe (linie danych).

W mojej wersji programatora zamiast EPROM siedzi chyba układ typu PAL/GAL (teraz dokładnie nie pamiętam) oraz parę zew. bramek do realizacji innych funkcji.

1,577

(19 odpowiedzi, napisanych Software, Gry - 8bit)

Na stronie "B" w dyskietki z której zgrywałem to wszystko jest dokumentacja (typowy plik TXT, tyle że wyświetlany jakimś wynalazkiem). W dokumentacji owej pisze że bufor programu to 32K ($8000) oraz że 27512 trzeba programować na dwa razy. Program nie wykorzystuje dodatkowej pamięci.

Przyjrzałem się temu programowi i jego problemach z wystartowaniem z czegokolwiek innego niż dołączonego DOS-a. Pan Robert bardzo "radośnie" podszedł to problemu... otóż po wczytaniu programu jeszcze przed jego uruchomieniem pod ROM-em instalowany jest stary OS-A lub OS-B (nie sprawdzałem dokładnie ale chodzi o system z Atari 400/800).

Faktem pozostaje to że przed uruchomieniem programu następuje "pseudo reset" systemu tak że Atari startuje już ze starym OS uruchomionym z pamięci RAM pod ROM-em ($D301=$FE). Celem było chyba uzyskanie 32KB bufora mimo obecności w pamięci DOS-a który kończy się nieco powyżej $2000.

W tym konkretnym wypadku ten EPROM BURNER ma do dyspozycji trochę więcej RAM-u bo stary OS 400/800 mieści się chyba od $D800-$FFFF, pamięć ekranu jest od $CC40 :) Kombinując z tym udało mi się nawet wywołać "ATARI COMPUTER MEMO PAD" :D (dla chcących sprawdzić, to np. pod emulatorem Altirra w debug-erze wystarczy r PC E471) ;-] )

ps) uważaj na cytowanie całości cudzych postów, moderatorzy forum się wściekają na to ;) to forum ma taki regulamin:

http://www.atari.org.pl/forum/misc.php?action=rules

i mają tam zasadę nr 8, której starają się pilnować ;)

1,578

(19 odpowiedzi, napisanych Software, Gry - 8bit)

Cześć,

W takim razie przepraszam szczerze za moją nadinterpretację faktów ;) Przyznam że paru ludków mi nerwy poszarpało ostatnio i chodzę podminowany, stąd moje jakieś "dąsy". Jeszcze raz przepraszam, że naskoczyłem bezpodstawnie na Ciebie, i doskonale rozumiem jakie połączenie daje praca plus dzieciaki w domu.

i jeszcze wkleję Twoje zdjęcie, bo w Twoim linku pisze że "hotlinkowanie" niedozwolone, zatem to co wkleiłeś ponownie:

https://dl.dropboxusercontent.com/u/44199/awerte_EPROM_prog.jpg

To wygląda na o wiele starszą konstrukcję... ale zapewne też jakieś dwa 6520, albo coś podobnego tam siedzi :)

To u JER-a jest jakiś schemat programatora EPROM-ów do Atari? Chyba jestem ślepy bo nie widzę ;)

1,579

(19 odpowiedzi, napisanych Software, Gry - 8bit)

Hej!

Piszę post pod postem aby do zainteresowanych dotarła informacje że coś się ruszyło w wątku. Mam do zakomunikowania dwie sprawy, na początek ta bardziej przykra.

EDIT:

Nie wiem czy dobre wrażenie odniosłem, ale myślę Awerte chyba nie chce się podzielić swoim znaleziskiem, z wypowiedzi odnoszę wrażenie że szanowny forumowicz "Awerte", strzelił przysłowiowego "focha" myśląc że nikt nie chce się z nim podzielić softem i obecnie nie ma zamiaru podzielić się tym co znalazł (wystarczył by link do "znaleziska"). Szkoda że to zawsze działa w jedną stronę, gdy ludzie zwracają się o pomoc, jeżeli możemy pomóc pomagamy - natomiast bardzo rzadko działa to w drugą stronę, tzn. przypadki w których ludzie potrafią wnieść coś od siebie, są rzadkością ;/ Być może jestem już przewrażliwiony, ale ostatnie wydarzenia na polskich forach o Atari tylko w mnie w tym utwierdzają.

Kajam się ponownie za bzdury które napisałem powyżej :)

I sprawa numer dwa, w weekend znalazłem trochę czasu i poszedłem do piwnicy i udało mi się znaleźć dyskietkę z oprogramowaniem do tego programatora:

http://seban.slight.pl/atari/EPROM_burner/eprom_burner_sys_disk.jpg.

Dla zainteresowanych zgrałem to do ATR-ów, jest dostępne tutaj:  EPROM Burner v.1.1 - by Robert Kujda

W środku archiwum są zgrane dwie strony dysku. Pierwsza zawiera oprogramowanie do programatora, druga strona zawiera dokumentację dołączoną do urządzenia. Program po uruchomieniu wygląda tak:

http://seban.slight.pl/atari/EPROM_burner/eprom_burner_v1.1.png

pozdrawiam
Seban/Slight

ps1) programatora za to nie znalazłem ;-/ czeka mnie dłuższe poszukiwanie, jak znajdę zrobię zdjęcia "bebechów", z tego co pamiętam w środku były dwa PIA (6520), przetwornica step-up na TL494, plus 3 tzw. PR-ki którymi ustawiało się poszczególne napięcia programowania, do kompletu trochę bramek i parę elementów biernych. Niestety mój egzemplarz umarł (dlatego trafił do piwnicy), myślałem że to PIA, ale po wymianie obu PIA na nowe programator nadal nie działał poprawnie.

ps2) czy można prosić moderatora o modyfikację tytułu tego wątku (np. o dopisanie w nawiasach "EPROM BURNER") tak aby w przyszłości używając opcji "search" można było trafić na ten wątek.

1,580

(19 odpowiedzi, napisanych Software, Gry - 8bit)

programator już wiem gdzie jest... na szczęście robię fotki wszystkiego co wynosiłem do piwnicy... co prawda zdjęcie fatalnej jakości, ale chociaż wiem gdzie szukać....

https://dl.dropboxusercontent.com/u/44199/IMAGE082.JPG

po dyskietce ani śladu ;-/

1,581

(19 odpowiedzi, napisanych Software, Gry - 8bit)

dokładnie to ten program. Ale ja niestety nie znalazłem ani dyskietki ani programatora ;/ Mam jeszcze piwnicę do przekopania, i gdy znajdę na to czas i do kompletu znajdę dyskietkę oraz programator na pewno wrzucę do tego wątku zdjęcia i linka do softu.

1,582

(16 odpowiedzi, napisanych Bałagan)

ku pamięci... dla potomnych... gdyby jeszcze komukolwiek do głowy przyszło aby próbować prowadzić dialog z tym osobnikiem.

http://seban.pigwa.net/aa/bezr.png

1,583

(56 odpowiedzi, napisanych Sprzęt - 8bit)

http://youtu.be/BNsrK6P9QvI

uroczyście obiecuje że już nigdy nie odpowiem na żaden post bezrobotnego. EOT.

1,584

(56 odpowiedzi, napisanych Sprzęt - 8bit)

Simius pisał nawet parę postów wyżej że chciał uniknąć dokładania bufora linii, więc sądzę że nie planuje dodanie żadnego scan-doublera, ani tym bardziej bufora ramki.

A co do VGA to jeszcze jakiś czas temu np. do VBXE był dostępny rdzeń emulujący GTIA ze scan-doublerem, niestety cytując obecną wersję dokumentacji, możemy się dowiedzieć iż to rozwiązanie zostało porzucone:

fx1.26-PL napisał/a:

Rdzenie VGA

Rdzenie VGA nie są obecnie dostępne i nie są rozwijane.

1,585

(56 odpowiedzi, napisanych Sprzęt - 8bit)

Nie wydaje mi się, Simius nic nie wspominał o scan-doublerze, a 99% monitorów nie akceptuje sygnału sygnału wizyjnego na wejściu DSUB gdy HSync=~15KHz

1,586

(56 odpowiedzi, napisanych Sprzęt - 8bit)

fakt, to prawda :) samo rozwinięcie skrótu PAL o tym mówi :)

Prawdę mówiąc myślałem że masz gdzieś po drodze własny sync-separator... ale faktycznie z ANx można się zorientować że mamy HSYNC bez konieczności dokładania kolejnych układów :)

1,587

(56 odpowiedzi, napisanych Sprzęt - 8bit)

@bezrobotny: myślę że wystarczy pomyśleć jak sygnał koloru jest generowany przez układy wizyjne z lat '70 czy '80 przeznaczone np. dla 8-bitowych komputerów, w tym np. GTIA, a potem jasne stanie się jak go w bardzo prosty sposób taki sygnał dekodować.

Dla ułatwienia obrazki (co prawda dla NTSC, ale w PAL jest podobnie):

http://www.atariarchives.org/cgp/images/img40-1.JPG

http://www.atariarchives.org/cgp/images/img40-2.JPG

źródło: http://www.atariarchives.org/cgp/Ch02_Sec07.php

1,588

(56 odpowiedzi, napisanych Sprzęt - 8bit)

nie wydaje mi się aby była taka potrzeba, powinno wystarczyć jedynie "chrominance carrier input (4.43MHz)" oraz ewentualnie CADJ, ale to już autor tego rozwiązania powinien się wypowiedzieć... bo ja mogę tylko spekulować.

1,589

(56 odpowiedzi, napisanych Sprzęt - 8bit)

@Wieczór... w wielkim uproszczeniu to chyba będzie jakoś tak...

GTIA ma następujące wyjścia sygnału video:

1) 4-bity cyfrowej luminancji (jasność, piny LUM0-LUM3)
2) analogowe wyjście chrominancji (kolory, pin COLOR)

Simius w swoim układzie dekodera, wykorzystuje te sygnały... zamienia zmodulowany sygnał chrominancji na postać cyfrową (jasność już ma w postaci cyfrowej), następnie mamy dwie pamięci FLASH które robią za tablicę kolorów... wyjścia pamięci flash (2x D0-D7) są podłączone do Video DAC który generuje na swoim wyjściu analogowy sygnał, ale już w formacie RGB :)

dla przypomnienia pin-out GTIA:

http://img263.imageshack.us/img263/4057/gtiapinout.png

1,590

(56 odpowiedzi, napisanych Sprzęt - 8bit)

@Simius:

Ja zapytałem o to, bo w przypadku VBXE obrazki w trybach mieszanych tracą nasycenie kolorów, dopiero rdzeń z emulacją dekodera PAL (uśredniający nasycenie kolorów z dwóch sąsiednich linii) pozwala przywrócić odpowiednie nasycenie kolorów.

Pytanie zadałem bo pomyślałem że skoro brak w Twoim rozwiązaniu uśredniania kolorów,z dwóch linii efekt będzie taki sam jak w przypadku VBXE bez emulacji uśredniania PAL.

Ale w tym wypadku mniemam iż to właśnie było Twoim założeniem z powodu chęci uzyskania większaj ostrości i wyrazistości obraz.

1,591

(56 odpowiedzi, napisanych Sprzęt - 8bit)

Hej!

Podoba mi się prostota tego pomysłu, również  jakość obrazu i zarazem sama realizacja. Mam jedno pytanie dotyczące trybów które korzystają właśnie z miksowania kolorów w sąsiednich liniach (np. mix GR9/GR11). Jak takie tryby wyglądają przy zastosowaniu tego dekodera?

1,592

(9 odpowiedzi, napisanych Sprzęt - 8bit)

Hej!

Jak chcesz sobie sterować jakimiś I/O z poziomu cartridge to proponuje podłączyć sobie PIA (6520) albo VIA (6522), albo nawet 8255. Jeżeli chodzi o 8255 to nawet kiedyś Mikey o to pytał, w tym wątku:

http://www.atari.org.pl/forum/viewtopic.php?id=6886

1,593

(11 odpowiedzi, napisanych Programowanie - 8 bit)

@Fox... jest dokładnie tak jak piszesz, zapomniałem że na wyjściu każdego z kanałów jest zapętlony przerzutnik "D" :-)

I poniżej obiecane screeny z oscyloskopu i kodu który wyżej wkleiłem, legenda:

ch#1) [przebieg w kolorze żółtym] wyjście audio POKEY-a ---> częstotliwość generowana przez POKEY na wyjściu audio.

ch#2) [przebieg w kolorze cyjan] wyjście PIA ---> częstotliwość występowania IRQ (bit #0 przestawiony na wyjście, pochylone zbocza spowodowane przez filtr na płycie Atari)

AUDUF=$0000
http://seban.slight.pl/aa/IRQ_N%3D%24000.png

AUDUF=$0001
http://seban.slight.pl/aa/IRQ_N%3D%24001.png

AUDUF=$0002
http://seban.slight.pl/aa/IRQ_N%3D%24002.png

AUDUF=$0003
http://seban.slight.pl/aa/IRQ_N%3D%24003.png

AUDUF=$014B
http://seban.slight.pl/aa/IRQ_N%3D%2414B.png

ps) pomiary częstotliwości pokazane przez oscyloskop należy traktować z pewną rezerwą :) ot feler tego modelu/firmware przy niskich częstotliwościach :)

1,594

(11 odpowiedzi, napisanych Programowanie - 8 bit)

@Fox: w takim razie to co jest w Atariki:

http://atariki.krap.pl/index.php/Rejestry_POKEY-a

dokładnie chodzi o to:

dla zegara wejściowego o częstotliwości 1/28 lub 1/114 częstotliwości głównej: F = CLOCK/(2*(N+1)). 

okazuje się bzdurą?

--------------------> EDIT <--------------------

Ok, zrobiłem mały test... generalnie częstotliwość generowania IRQ  przez POKEY w tym wypadku jest równa:

F=CLOCK/(N+1) ... czy ma być +1 jeszcze dokładnie nie sprawdziłem... poniżej kod... oscylogramy za chwilę jak znajdę soft do mojego zabytkowego oscyloskopu.

    org    $2000

frq equ    $14b

st  sei
    inc    $d40e
    ldx    $d40b
    bne    *-3
    stx    $d400
    dex
    txs
    dex
    stx    $d301

    ldx    <irq
    ldy    >irq
    stx    $fffe
    sty    $ffff

    lda    #$03
    sta    $d20f
    
    lda    #%00011001
    sta    $d208

    ldx    <frq
    ldy    >frq
    stx    $d204
    sty    $d206

    cli

    lda    #$04
    sta    $d20e

    lda    $d302
    and    #[$04^$ff]
    sta    $d302
    
    ldx    #%00000001
    stx    $d300
    
    ora    #$04
    sta    $d302

    lda    #$a8
    sta    $d207

    jmp    *


irq    pha

;e   lda    #$01
;    sta    $d300
;    eor    #$01
;    sta     e+1
;    asl    @
;    asl    @
;    asl    @
;    sta    $d01f

    lda    #$01
    sta    $d300
:64 sta    $d40a
    lda    #$00
    sta    $d300


    lda    #$00
    sta    $d20e

    lda    #$04
    sta    $d20e

    pla
    rti

    run    st

1,595

(11 odpowiedzi, napisanych Programowanie - 8 bit)

Hej!

A mi wychodzi:

331 ($14B) dla PAL ( 23.4285391 Hz )
334 ($14E) dla NTSC ( 23.4324776 Hz )

10 CLK=15556.55:REM PAL
11 CLK=15699.76:REM NTSC
15 F=23.4
20 N=(CLK/(F*2))-1
25 N=INT(N):? "N=";N
30 F=CLK/(2*(N+1))
35 ? F;" Hz"

1,596

(19 odpowiedzi, napisanych Software, Gry - 8bit)

sorki za opóźnienie, ale gdzieś to tak schowałem że nie mogę znaleźć... ale jak tylko znajdę więcej czasu... to zrobię fotki i zgram tą dyskietkę.

1,597

(19 odpowiedzi, napisanych Software, Gry - 8bit)

Podzukam dyskietki, jak znajdę zgram i udostepnie.

1,598

(19 odpowiedzi, napisanych Software, Gry - 8bit)

czy był to może "EPROM Burner" autorstwa Roberta Kujdy?

1,599

(27 odpowiedzi, napisanych Sprzęt - 8bit)

o serial EEPROM się nie martw, od razu dostałbyś procki do zapisu i odczytu poszczególnych bajtów :) po strone sprzętu obsługa odczytu i zapisu jednego bitu, w sofcie zrealizowana transmisja całego bajtu i obsługa protokołu wybranej pamięci szeregowej.

przykładowe rej. kontrone karta

$d500 - <nr_banku
$d501 - >nr_banku

$d502 - serial flash register

bit#0: serial_clock
bit#1: data_in
bit#2: data_out

i to wszystko co potrzeba od strony sprzętu, reszta to napisanie procedur...


ldx <adr
ldy >adr
jsr eeprom_read

ldx <adr
ldy >adr
lda #value_to_write
jsr eeprom_write

1,600

(27 odpowiedzi, napisanych Sprzęt - 8bit)

Jest to jak najbardziej możliwe i nie jest wcale skomplikowane do wykonania. np. przełączane banki $A000-$BFFF (dowolnie wybraną komórką na stronie $D5XX, z możliwością odłączenia cartridge), dodatkowo mała pamięć serial eeprom do zapisywania ustawień. Pytanie ile taki banków po 8K jest potrzebne.

Do wyboru jeszcze przełączane banki w obszarze $8000-$9FFF, lub banki po 16K w obszarze $8000-$BFFF.