To jest retro! Silnik musi być stary. Zapominacie się Panowie :)

152

(348 odpowiedzi, napisanych Fabryka - 8bit)

Drum Machine is a tool to play specified samples once you press a key (HELP, START, SELECT, OPTION, BREAK and SHIFT), push joystick in specific direction or press a trigger. This is a tool I made for Pinokio. He used to use it on his chiptune concertos. Sample playing speed is very arbitrary because by design it was used to play only drum samples, not for the music nor playing tones.

Edit: Try /A $D600 /O COVOX

153

(348 odpowiedzi, napisanych Fabryka - 8bit)

I've never written NEOPlay for COVOX, however there are several compo works by Yerzmyey, Pinokio, V0yager and Wiecz0r with player working on COVOX or POKEY. It includes playing routine made by Epi for NEO Tracker. Look at the bottom of the site XL Digital

154

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

I'm not sure Lotharek described well this movie, because NEOPLAYH works with SoundBoard (available as VBXE core, or separate soundcard) but doesn't play through simple 4-channel COVOX.

155

(136 odpowiedzi, napisanych Zloty)

Vasco może teraz cytować niejaką Jandę zresztą Krystynę.

156

(31 odpowiedzi, napisanych Scena - 8bit)

Wrzuć na pigwę. Za chwilę nie będzie można napisać posta bez zgody całego forum na piśmie i poświadczonej przez notariusza.

157

(13 odpowiedzi, napisanych Programowanie - 8 bit)

W wersji ST też jest F551.

158

(13 odpowiedzi, napisanych Programowanie - 8 bit)

No niestety, bo nie ma łoktru z ST na jutubie.

159

(13 odpowiedzi, napisanych Programowanie - 8 bit)

W amigowej wersji na końcu "Arctic Antics" na rakiecie napisane jest "F551" - czy ktoś z ST mógłby sprawdzić czy u nich jest "SPIES IN SPACE" czy coś innego?

160

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

W ostatnim numerze Tajemnic Atari 10/93 https://tajemnice.atari8.info/10_93/10_93.html wydrukowany został program do transmisji danych między Atari XL/XE a Amigą 500.
W numerze pięknie opisano działania programów, zaprezentowano kilka obrazków przesłanych z Amigi i skonwertowanych z trybów amigowych do atarowego szesnasto-kolorowego GRAPHICS 9, ale też listingi programów dla Atari i dla Amigi razem z krótkim kodem źródłowym transmittera służącego do przesłania programu dla Amigi z Atari. (*)
Niestety zapomniano o schemacie kabelka łączącego obydwa komputery.

Analizując program dla Atari oraz źródło transmittera udało mi się odtworzyć schemat kabelka, który załączam.

Dla porządku przypomnę jeszcze autorów, gdyż w artykule nie zostali odpowiednio wyeksponowani:
- Paweł Rzucidło (RYMEK) - program dla Amigi
- Marcin Grochowina alias MAG(M) - program dla Atari i elektronika
- Piotr Mazur (PIER) - testowanie i elektronika

Jeśli dobrze pamiętam program był testowany na komputerach Atari 65XE oraz Amiga 500 z 1MB RAM i wszystkie opóźnienia w protokole dostosowane były do zegara tego komputera.

Schemat kabla, jak i oprogramowanie dostępne jest w archiwum użytków Atari Online w sekcjach:
- Telekomunikacja / AtoA Transmitter / AtoA Transmitter * http://atarionline.pl/v01/index.php?ct= … ransmitter
- Inne platformy / Amiga / Atoa 1.0.* http://atarionline.pl/v01/index.php?ct= … miga#Amiga

P.S. Znany jest też protokół komunikacji gdyby komuś przyszło do głowy napisać nowy kompatybilny soft.
---
(*) - Wersja HTML artykułu dostępna na stronie jest niepełna i nie zawiera listingu programu dla Amigi ani programu źródłowego transmittera. Wersja DJVU ma wszystko, prócz oczywiście schematu kabla.

161

(117 odpowiedzi, napisanych Programowanie - 8 bit)

Jest ta chora notacja:

sta lab2:$ffff,y

która niby ma zastępować:

lab2 = *+1
  sta $ffff,y

a jest kompletnie nieintuicyjna i zaciemniająca tylko kod - a już kompletnie nie wiem jak przy jej pomocy zrealizować np.:

lab2 = *+2
  sta $ffff,y

@tebe: Może lepiej byłoby mieć inną deklarację etykiety:

etyk
etyk+
etyk++

analogicznie do skoków @+ i @-. Oznaczałyby one odpowiednio *+0, *+1 i *+2.
W kodzie odwołujesz się oczywiście do lab (plus mówi tylko o modyfikacji bieżącego licznika adresu):

opcod sta msb
adr+  lda $FFFF,x
msb++ lda $F000,y
lo+
hi++
      sta $FFFF

Hę?

P.S. Analogicznie mogłoby działać lab-, lab--, itd., choć osobiście nie widzę eleganckiego zastosowania, ale może się komuś przyda.

Tysiące... w emulatorach Altirra i Atari800 :)

163

(124 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję. Bangla pięknie.

164

(124 odpowiedzi, napisanych Fabryka - 8bit)

Taki kod:

.enum bool
    no
    yes
.ende

    org $400

    lda #bool(no)
    lda #bool(yes)
    lda #bool.no
    lda #bool.yes
    lda #no
    lda #yes

maluje mi to:

        lda #bool(no)
test.asx (11) ERROR: Undeclared label NO (BANK=0)
        lda #bool(yes)
test.asx (12) ERROR: Undeclared label YES (BANK=0)
        lda #bool.no
test.asx (13) ERROR: Undeclared label BOOL.NO (BANK=0)
        lda #bool.yes
test.asx (14) ERROR: Undeclared label BOOL.YES (BANK=0)

a listing wygląda tak:

mads 2.1.7
Source: test.asx
     1
     2                     opt o+ h- c- ?+
     3
     4                 .enum bool
     5 = 0000                no
     6 = 0001                yes
     7                 .ende
     8
     9                     org $400
    10
    11 0400 A9 00            lda #bool(no)
    12 0402 A9 00            lda #bool(yes)
    13 0404 A9 00            lda #bool.no
    14 0406 A9 00            lda #bool.yes
    15 0408 A9 00            lda #no
    16 040A A9 01            lda #yes
    17
    18
    19                     end

a przecież wg dokumentacji:

mads napisał/a:

Do etykiet wyliczeniowych odwołujemy się przy pomocy składni:
enum_name (field)
lub bezpośrednio podobnie jak w przypadku odwołań do bloków .LOCAL, .PROC, czyli po nazwie typu oddzielone znakiem kropki występują kolejne pola, np.:
lda #portb(rom_off)
dta portb.rom_on, portb.rom_off

Czy to ładnie tak?

165

(9 odpowiedzi, napisanych Zloty)

Nie licząc psa.

166

(9 odpowiedzi, napisanych Zloty)

AS... napisał/a:

I cyk, jak zawsze dom muzyka, zarezerwowany ;)

A w domu muzyka, jak zwykle Szopen, Ogiński, Pan Tadeusz, Polonez i Etiuda.

167

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

Na pewno 12MB? A nie 1.2MB?

Edit: Wtórny analfabetyzm. Przepraszam, nie było tematu :)

A na frontonie szpitala proponuję umieścić "Ty który wchodzisz żegnaj się z nadzieją".

169

(707 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję za odpowiedzi.

Edit: Podłączę tu jeszcze aktualniejszą dokumentację do Sophii wziętą z AtariAge

170

(707 odpowiedzi, napisanych Fabryka - 8bit)

To jeszcze jedna uwaga. Kiedy robimy coś takiego:

  lda #%10000011
  sta GRACTL
  lda GRACTL
  and #%01111110
  sta GRACTL

to czasami sprajty są włączone, a czasami (losowo) wyłączone. Tak jakby ostatni zapis trafiał czasem też do rejestru GTIA a nie tylko do rejestru Sophii. Dopiero kiedy po tym zrobimy:

  lda #%00000011
  sta GRACTL

to sprajty zachowują się stabilnie. Optymalizacje z braku miejsca? Czy to tak działać nie powinno?

171

(707 odpowiedzi, napisanych Fabryka - 8bit)

Rzeczywiście!

1280 NSC LDX #$08
1290     STX CONSOL
1300 COL CLI
1310     LDA COLPM0S,X
1320     EOR COLRSH
1330     AND ATRMSK
1340     STA COLPM0,X
1350     DEX
1360     BPL COL 

Dziesiątki razy patrzyłem na tą procedurę i nie widziałem, że tam jest maskowanie.
Stokrotne dzięki Simius!

Edit: A COLPF1 i COLPF2 działały poprawnie bo przepisuję je sam bez maskowania na DLI.

172

(707 odpowiedzi, napisanych Fabryka - 8bit)

Simius napisał/a:

Najprostszy test, który wykonałem w BASIC - cztery pasy w kolejnych kolorach, w grafice 7, wyłączenie NMI i zapis rejestrów koloru sąsiednimi wartościami nieparzystymi i parzystymi - wykazał, że 8 bitowy kolor jest dostępny także przynajmniej dla rejestrów COLPF0 i COLBAK. Jak wyglądały Wasze testy?

Najprostszego testu nie zrobiliśmy, a może od tego należało wyjść.

Za to mam taki programik do testowania przeróżnych kombinacji i układów sprajtów i trybów multicolor/hires (anticgtiatest.obx w załączniku). Przy aktywacji Sophii (S) ustawiane są naraz bity HIRESBC i LUM0EN, a przy deaktywacji zerowane.
Sposób obsługi:
A - zmiana trybu ANTIC2 (hires GR.0) / ANTIC4 (multicolor GR.12)
XC - ustawienie CHACTL
G - zmiana trybu GTIA: %00 (GR.0/GR.12), %01-GR.9, %10-GR.10, %11-GR.11
01248 - "legalny" priorytet PMG
OP - dowolny priorytet PMG
M - PMG multicolor
5 - PMG 5 player
TAB - zmiana wzajemnej konfiguracji sprajtów i missili
INVERSE - inverse pamięci ekranu
strzałki prawo/lewo - poruszanie kursorem po rejestrach kolorów COLPM0..3 COLPF0..3 COLBAK
strzałki góra/dół modyfikują luminancję wybranego rejestru
CONTROL+strzałki góra/dół modyfikują chrominancję wybranego rejestru
S - włącza w konfiguracji Sophii LUM0EN i HIRESBC
V - włącza w konfiguracji VBXE XCOLOR
Poziome pasy 0,1..F to są wiersze wypełnione takimi wartościami $00, $11, $22, itd.
Pionowe pasy 0P1 2P3 to częściowo nałożone na siebie playery (0 to pas playera 0, 1 to player 1, P to player 0 nałożony na 1) a 0M1 2M3 (analogicznie ale missile) - TAB modyfikuje położenie tych pasów.

Test jaki wykonaliśmy to:
ANTIC2
GTIA %10 (GR.10)
Sophia włączona
i modyfikowaliśmy rejestry kolorów.

Edit: Co zaś się tyczy skomplikowanej logiki to rzecz jest prosta - logika niech sobie zostanie jak jest. Po prostu piksel zapalony idzie zawsze z COLPF1, piksel zgaszony z logiki. Oczywiście pozostaje problem updatu ale tego uniknąć się nie da.

173

(2 odpowiedzi, napisanych Fabryka - 8bit)

Dodałem jeszcze przełącznik /0 do aktywacji wbudowanej palety.

174

(707 odpowiedzi, napisanych Fabryka - 8bit)

Dwa spostrzeżenia po testach które wykonywaliśmy dzięki uprzejmości AtariFana.

Sophia2 rev.3

1. Przy uaktywnionym bicie LUM0EN 8-bitowe są rejestry kolorów COLPF1 i COLPF2, a reszta nadaj jest 7-bitowa.
2. Przy uaktywnionym bicie HIRESBC i włączonym trybie HiRes (2,3,F ANTIC-a) w pełni odseparowane faktycznie są kolory piksela zapalonego COLPF1 i piksela zgaszonego COLPF2. Natomiast kiedy kładziemy sprajta (co powoduje zmianę koloru piksela zgaszonego), wtedy starą modą podkolorowywany jest również piksel zapalony - czyli kolor brany jest ze sprajta, a luminancja z COLPF1. Wydaje mi się, że byłoby logiczne że kolor i luminancja piksela zapalonego brana byłaby z COLPF1 tak, jak w przypadku zwykłej grafiki niepodkolorowanej sprajtem. Dotyczy to i playerów, i missilli, i włączonego multicoloru sprajtów, i missili połączonych w piątego playera, i priorytetu 0.

Wydaje mi się, że to są błędy i prosiłbym o poprawki.

175

(2 odpowiedzi, napisanych Fabryka - 8bit)

Drobny programik dla SDX służący do załadowania własnej palety do Sophii2 (Sophia1 nie pozwala na takie ekstrawagancje).
Załączone palety pochodzą z programów G2F i AGS i z emulatorów.
Dostępne do ściągnięcia są .zip, .arc, .atr, .tar.bz2.

UWAGA!
1. Zawsze modyfikowana i aktywowana jest paleta #1. Po wyłączeniu komputera trzeba sobie ją znowu załadować.
2. Przy wyborze trybu YPbPr paleta jest konwertowana do YUV co może prowadzić do zaokrągleń o czym Simius pisze tu.
3. Przełącznik /0 nie ładuje niczego tylko aktywuje wbudowaną paletę #0.