526

(46 odpowiedzi, napisanych Programowanie - 8 bit)

@mono: zobacz "Edit 2" z posta 16.

mono napisał/a:

CLD sobie trzeba dodać przed obsługą IRQ, bo SIO liczy np. sumę kontrolną.

Rozwijając wypowiedź: przerwanie transmisji SIO aktualizuje sumę kontrolną używając ADC, więc D=1 robi kuku. Z drugiej strony, czy ktoś robi SED w czasie transmisji SIO?

Nie było mowy o tym, gdzie wpinamy poprawione IRQ. Być może pod wektor systemowy, więc OS zrobił już za nas CLD.
Nie pamiętam natomiast, gdzie powinno być CLD dla VBLKI.

Co do BRK, to nie jest czasem tak, że jak wykona się razem z IRQ lub NMI, to jednak znacznik B na stosie jest ustawiony i trzeba go sprawdzić na początku w przypadku IRQ oraz sprawdzić w ogóle w przypadku NMI.

mono napisał/a:

Jump if MInus: bmi albo jeśli za daleko to spl + jmp; analogicznie Jump if V Clear.

Rozwijając wypowiedź: to pseudorozkazy xasm (ale widziałem je też w innym asemblerze, chyba ca65), np.

 jmi target

to

 bpl skip
 jmp target
skip

Edit:

xxl napisał/a:

czy moze wystapic problem ze przy ustawionym I po rozkazie BRK procedura przejdzie do wykonywania jakiegos zasygnalizowanego przerwania IRQ?

Tak jest.

Nie używam BRK w produkcyjnym kodzie. :)

527

(46 odpowiedzi, napisanych Programowanie - 8 bit)

Dla pewności przerobiłbym jeszcze procedurę NMI, bo ZTCP w XL/XE działa ona na zasadzie "jeśli nie DLI, to VBLKI". Natomiast istnieje możliwość odczytania NMIST z zapalonym statusem przerwania, zanim odpali się obsługa NMI. Edit: i tu widzę problem: co zrobić, żeby to samo NMI nie obsłużyło się dwa razy: raz na IRQ, drugi raz na NMI.

Edit 2:

  asl NMIST ; strobes NMIRES
  jcs (VDLST)
  jpl (VIMIRQ)

W 400/800 klawisz Reset jest podpięty pod NMI (bit 5 w NMIST, ZTCP NMIEN na niego nie działa).

528

(46 odpowiedzi, napisanych Programowanie - 8 bit)

Tak bym zrobił. Tylko tego pierwszego pha chyba nie powinno być. Jeśli DLI nie jest krytyczne czasowo, to od razu zrobiłbym STA NMIRES.

529

(8 odpowiedzi, napisanych Miejsca w sieci)

Nie są w stanie. Staramy się oddać tę atmosferę. Mamy pełne zaufanie do reżysera, wszyscy do wszystkich.

530

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

qbahusak napisał/a:

stosując (...) niepublikowane rozkazy można osiągnąć wydajność Z80

Jakiś przykład?

qbahusak napisał/a:

6502 ma rozkazy wykonywane w max siedem cykli, a średnio cztery-pięć

Jak kiedyś robiłem statystyki z Atari800, to wychodziło mi, że raczej trzy-cztery.

maw napisał/a:

podkolorowywania atrybutami - gdyby Atari miało taki hires...

VBXE ma.

531

(118 odpowiedzi, napisanych Programowanie - 8 bit)

Sam widzisz, że ten nielegalny rozkaz czasem zawiesza procesor. ;)

epi napisał/a:

ZIP z ASMĄ byłby fajny, ale świeży trunk z SVN fajniejszy.

Zainstalowalem klienta SVN na andku i odpaliłem checkout ASMA po WiFi. Po pół godziny przerwałem. Karta SD chyba nie jest dobrym nośnikiem dla kopii roboczej SVN.

Ok, napisaliście już tyle absurdalnych "mądrości technicznych", że to przestało być śmieszne. Przeczytajcie coś, zamiast to wypisywać.

swinkamor12 napisał/a:

Na 68000 int jest 32 bit czyli jest to procesor 32 bitowy.

swinkamor12 napisał/a:

dla każdego kto kiedykolwiek cokolwiek robił w C, parę minut z gcc wystarczy by się przekonać że 68000 to procesor 32 bitowy.

Adam Klobukowski napisał/a:

flaga -mshort od gcc nie ma nic wspólnego z wydajnością.

Adam Klobukowski napisał/a:

Używacie typu short w C nie jest żadną szczególną optymalizacją.

swinkamor12 napisał/a:
sqward napisał/a:

Jeśli ktoś wie co robi, to -mshort daje lepszy performance gdy nie potrzebujesz 32 bitowych intów.

W C jest coś takiego jak short, jak już komuś bardzo zależy na optymalizacji.

Ale trzeba wiedzieć o czym się pisze...

No właśnie.

LOL

535

(27 odpowiedzi, napisanych Emulacja - 8bit)

seban napisał/a:

co cię pchnęło w kierunku D?

xasm napisany w asemblerze pod DOSa nie działał pod Linuksem. Szukałem języka, w którym mogłem go sensownie przepisać.

W temacie książek z ładnymi ilustracjami: http://learnyouahaskell.com/

536

(294 odpowiedzi, napisanych Bałagan)

Sikor napisał/a:

intro FOxa, poprawiane bodajże na którymś party, bo na emulatorze szło, a na real hardware niebałdzo

Dla niewtajemniczonych (w tym Sikora): chodzi o 256-kę na party Vasca, która wczytywała się w obszar pamięci, jak się później okazało, zajmowany przez... loader turbo.

537

(27 odpowiedzi, napisanych Emulacja - 8bit)

<opinia_perlowca>
Naucz się Pythona, Perla i Rubyego.
</opinia_perlowca>

Jeśli przypadkiem sięgnąłeś po "Python - programowanie", to książka jest beznadziejna.

538

(27 odpowiedzi, napisanych Emulacja - 8bit)

Perlowcy to ludzie otwarci na inne technologie. :)

539

(27 odpowiedzi, napisanych Emulacja - 8bit)

A czemu nie? Popatrz: https://github.com/pfusik/bumpong/blob/ … png2gr9.rb

Wcześniej próbowałem:
- Java - więcej klepania, trzeba kompilować potem uruchamiać, te operacje trwają
- C - więcej klepania (szczególnie obsługa błędów), trzeba kompilować potem uruchamiać

540

(27 odpowiedzi, napisanych Emulacja - 8bit)

SciTE + xasm + GNU Make + Atari800Win PLus + czasami Ruby do konwersji grafiki.

Zgadzam się z Larkiem w temacie dopałek i emulatorów.

541

(6 odpowiedzi, napisanych Fabryka - 8bit)

Też używałem writeatr, zdaje się pod Windows 98 zbootowanym do wiersza poleceń. Ale trzeba mieć stację 5,25 w PC. Drugi minus to ZTCP nie czyta gęstości pojedynczej.

Chociaż SIO2SD lub SIO2PC nie są najszybsze do zgrania dyskietek, to przydadzą się też później o ile zamierzasz używać Atari.

542

(124 odpowiedzi, napisanych Fabryka - 8bit)

Laoo: Twoje problemy rozwiązuje make i cygwin.

Sikor napisał/a:

wczytuje się skompilowany program w TB, siedzą sobie fonty pod $9C00, przy włączaniu bez BASICa o.k., przy wyłączeniu programowym BASICA - kicha, kaszanią się.

Samo odłączenie wbudowanego BASICa nie powoduje magicznego przeniesienia Display Listy i ekranu tekstowego, które przy włączonym BASICu są odpowiednio od $9c20 i $9c40. Po odłączeniu BASICa podnieś RAMTOP i otwórz ponownie edytor:

init lda #$ff
 sta $d301
 lda #$c0
 sta ramtop
 lda #12
 jsr cio
 lda <edev
 sta $344
 lda >edev
 sta $345
 lda #12
 sta $34a
 lda #3
cio sta $342
 ldx #0
 jmp $e456
edev dta c'E:',b($9b)

Jest jeszcze zmienna OS, która pamięta, czy BASIC jest podłączony. Nazywa się chyba BASICF i jest używana przy RESET.

544

(21 odpowiedzi, napisanych Miejsca w sieci)

słit

545

(118 odpowiedzi, napisanych Programowanie - 8 bit)

tebe napisał/a:

zostanie zinterpretowane jako tryb absolutny #

WTF?

546

(26 odpowiedzi, napisanych Zloty)

mazi napisał/a:

miejscem sztabu pownien byc pub a nie restauracja.

Dlaczego?

547

(26 odpowiedzi, napisanych Zloty)

Moje preferencje:

Za każdym razem z co najmniej tygodniowym wyprzedzeniem zakładamy ankietę dotyczącą terminu: np. na http://doodle.com/
po czym wybieramy termin, który pasuje jak największej liczbie osób.

W środku tygodnia, a nie w sobotę czy niedzielę.

Knajpa w centrum, w której słyszy się swojego rozmówcę (to jest może zbyt wygórowane wymaganie ;).

Spieszcie się, bo: http://technowinki.onet.pl/tablety/wind … m-rt/e35fn

Co roku jest pięć atarowych parties. Po co jeszcze te internetowe konkursy?

550

(1 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Napisz paragraf. :)