takie cos zrobil Nosty, zaemulowal na avr pamiec atari, mial zapis i odczyt, w locie avr jeszcze te dane mogl przetwarzac... cuda panie.
@Pecus, bo jak xxl zrobi program to nie ma uja we wsi ;)
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
HDDRIVER 12.73 Najnowsza wersja sterownika dysków HDDRIVER 12.73 z ulepszeniami i poprawkami.
ABBUC SWC 2025: wszystkie linki do gier Zebraliśmy wszystkie dostępne linki do gier z konkursu ABBUC Software Contest 2025! Zagraj i oceń.
RastaConverter Beta 20 RastaConverter, popularny konwerter grafiki dla Atari, otrzymał aktualizację Beta 20 z nowymi opcjami linii komend i poprawkami.
Test7800 0.7.2 Nowa wersja eksperymentalnego emulatora Atari 7800, Test7800, wprowadza poprawki w emulacji procesora 6502.
Rogul dla Atari STE, kolejne wieści Twórcy gry Rogul na Atari ST/STE udostępnili pierwszy film prezentujący działający gameplay na nowej platformie!
atari.area forum » Posty przez xxl
takie cos zrobil Nosty, zaemulowal na avr pamiec atari, mial zapis i odczyt, w locie avr jeszcze te dane mogl przetwarzac... cuda panie.
@Pecus, bo jak xxl zrobi program to nie ma uja we wsi ;)
dlaczego to tak wyglada? wersja ZX-Spectrum zostala przetlumaczona na 6502, z wersji 6502 przepisalem go na 8088 (AtariPortfolio) a z tego na powrot przetlumaczylem na 6502.
jeden z najprostszych silnikow na GTIA, publikuje zrodlo, moze ktos zechce poeksperymentowac :-)
dane muzyki mozna sobie pociagnac z edytorow na zx spectrum... jest ich kilka do tego silniczka. w zalaczniku plik wykonywalny dla atari - no ewentualnie Altirra, inne emulatory moga nie grac tak jak trzeba.
smacznego
                opt h+l+o+
gractl          equ $d01d
consol          equ $d01f
skctl            equ $d20f
dmactl          equ $d400
nmien           equ $d40e
S_REG           equ $f0
speed           equ $f1
_channel        equ $f2 ; 4 byte
                org $2000
run_adr         sei
                lda #$00 
                sta nmien
                sta gractl
                sta dmactl
music_studio_stack
                tsx
                stx S_REG
                ldx #$03
_lch            lda _ch1,x
                sta _channel,x
                dex
                bpl _lch
_loop           lda skctl
                and #$04
                bne _cont
                ldx S_REG
                txs
                rts
_cont           ldx #$00
_load           lda (_channel,x)
                bpl _80_1
                lda _ch1,x
                sta _channel,x
                lda _ch1+1,x
                sta _channel+1,x
                lda (_channel,x)
_80_1            inc _channel,x
                bne _80_2
                inc _channel+1,x
_80_2            tay
                lda _nuty,y
                pha
                pha
                pha
                sec
                sbc #$01
                pha
                beq _80_en1
                lda #$08
_80_en1         pha
                lda #$00
                pha
                txa
                eor #%10
                tax                 
                bne _load
                tay ; =0
                lda music_speed
                sta speed
_iloop          tsx
_2kolej         lda $0101,x
                sta consol
                dec $0105,x
                bne _2kl
                eor $0102,x
                sta $0101,x
                lda $0106,x
                sta $0105,x
                lda $0104,x
                cmp #$20
                bcs _2kl
                inc $0106,x
_2kl            dec $0103,x
                bne _2kn
                lda $0101,x
                eor $0102,x
                sta $0101,x
                lda $0106,x
                sta $0103,x
                dec $0103,x
_2kn
                txa
                ;clc          ; too slow, replace with sbx
                ;adc #$06
                ;tax
                sbx #$100-$06 ; +6
                cpx S_REG
                bne _2kolej
            
                dey
                bne _iloop
                dec speed
                bne _iloop
                txs
                jmp _loop
_nuty   .byte $FF,$F0,$E3,$D7,$CB,$C0,$B4,$AB
        .byte $A1,$97,$90,$88,$80,$79,$72,$6C
        .byte $66,$60,$5B,$56,$51,$4C,$48,$44
        .byte $40,$3D,$39,$36,$33,$30,$2D,$2B
        .byte $28,$26,$24,$22,$20,$1E,$1C,$1B
        .byte $19,$18,$17,$15,$14,$13,$12,$11
        .byte $10,$01
music_speed     .byte $0f
_ch1            .word kanal1
_ch2            .word kanal2
    
kanal1  .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $08,$14,$08,$14,$05,$11,$05,$11
        .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $08,$14,$08,$14,$05,$11,$05,$07
        .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $08,$14,$08,$14,$05,$11,$05,$07
        .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $08,$14,$08,$14,$05,$11,$05,$07
        .byte $00,$0C,$25,$0C,$00,$0C,$25,$0C
        .byte $03,$0F,$25,$0F,$03,$0F,$25,$25
        .byte $08,$14,$25,$14,$08,$14,$25,$14
        .byte $05,$11,$25,$11,$05,$11,$25,$25
        .byte $00,$0C,$25,$0C,$00,$0C,$00,$0C
        .byte $03,$0F,$25,$0F,$03,$0F,$25,$0F
        .byte $08,$14,$25,$14,$08,$14,$25,$14
        .byte $05,$11,$25,$11,$07,$25,$25,$25
        .byte $03,$0F,$25,$0F,$03,$0F,$25,$0F
        .byte $05,$11,$25,$11,$05,$11,$25,$25
        .byte $00,$0C,$25,$0C,$00,$0C,$25,$0C
        .byte $0A,$16,$25,$16,$0A,$25,$0A,$25
        .byte $03,$0F,$25,$0F,$03,$0F,$25,$25
        .byte $05,$11,$25,$11,$05,$11,$25,$25
        .byte $00,$0C,$25,$0C,$00,$0C,$25,$0C
        .byte $0A,$16,$25,$16,$0A,$25,$0A,$25
        .byte $00,$0C,$25,$0C,$00,$0C,$25,$0C
        .byte $00,$0C,$25,$0C,$07,$05,$25,$25
        .byte $00,$0C,$25,$0C,$00,$0C,$25,$0C
        .byte $00,$0C,$25,$0C,$07,$25,$03,$25
        .byte $30,$30,$31,$30,$30,$31,$2D,$2D
        .byte $31,$2B,$2B,$31,$27,$31,$27,$31
        .byte $30,$30,$30,$30,$30,$30,$2D,$2D
        .byte $2D,$2A,$2A,$2A,$27,$27,$27,$27
        .byte $18,$1F,$18,$1D,$1F,$18,$22,$1F
        .byte $18,$1D,$1F,$18,$24,$1F,$22,$24
        .byte $18,$1F,$22,$1D,$1F,$18,$22,$1F
        .byte $18,$1D,$1B,$1F,$1A,$1D,$16,$1A
        .byte $18,$1F,$18,$1D,$1F,$18,$22,$1F
        .byte $18,$1D,$1F,$18,$24,$1F,$22,$24
        .byte $18,$1F,$22,$1D,$1F,$18,$22,$1F
        .byte $18,$1D,$1B,$18,$1A,$1B,$16,$1A
        .byte $ff
        
kanal2  .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $08,$14,$08,$14,$05,$11,$05,$11
        .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $08,$14,$08,$14,$05,$11,$05,$07
        .byte $00,$0C,$25,$0C,$00,$0C,$25,$0C
        .byte $08,$14,$25,$14,$05,$11,$25,$25
        .byte $00,$0C,$25,$0C,$00,$0C,$25,$0C
        .byte $08,$14,$25,$14,$05,$25,$05,$25
        .byte $1F,$0C,$1F,$0C,$1D,$1F,$00,$18
        .byte $03,$18,$1B,$18,$03,$18,$1B,$18
        .byte $1F,$14,$1F,$14,$1D,$1F,$08,$18
        .byte $05,$18,$1B,$18,$1F,$1D,$1B,$1D
        .byte $1F,$0C,$1F,$0C,$1D,$1B,$25,$18
        .byte $03,$18,$1B,$18,$03,$18,$1F,$18
        .byte $1F,$14,$1F,$14,$1D,$1B,$08,$18
        .byte $05,$18,$1B,$1D,$1F,$1D,$1B,$1A
        .byte $18,$0F,$18,$0F,$16,$18,$03,$13
        .byte $05,$18,$1B,$1D,$1F,$1D,$1B,$1D
        .byte $18,$0C,$1A,$0C,$1B,$18,$00,$1F
        .byte $0A,$1D,$1B,$1D,$1F,$1D,$1B,$1D
        .byte $18,$0F,$18,$0F,$16,$18,$03,$13
        .byte $05,$1D,$1B,$1D,$1F,$1D,$1B,$1A
        .byte $18,$0C,$18,$1A,$1B,$18,$00,$1F
        .byte $0A,$1F,$1D,$1B,$1D,$1B,$1A,$16
        .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $00,$0C,$00,$0C,$07,$05,$03,$05
        .byte $00,$0C,$00,$0C,$00,$0C,$00,$0C
        .byte $00,$0C,$00,$0C,$07,$05,$03,$02
        .byte $30,$30,$30,$30,$30,$30,$2D,$2D
        .byte $2D,$2B,$2B,$2A,$27,$27,$27,$27
        .byte $30,$30,$31,$30,$30,$31,$2D,$2D
        .byte $31,$2A,$2A,$31,$27,$31,$27,$31
        .byte $18,$1F,$31,$1D,$1F,$31,$22,$1F
        .byte $31,$1D,$1F,$31,$24,$31,$22,$31
        .byte $18,$1F,$31,$1D,$1F,$31,$22,$1F
        .byte $31,$1D,$1B,$31,$1A,$31,$16,$31
        .byte $18,$1F,$31,$1D,$1F,$31,$22,$1F
        .byte $31,$1D,$1F,$31,$24,$31,$22,$31
        .byte $18,$1F,$31,$1D,$1F,$31,$22,$1F
        .byte $31,$1D,$1B,$31,$1A,$31,$16,$31
        .byte $ff
        org $2e0
        .word a(run_adr)---
muzyka Mr.Beep
jaki 11 punkt. gdzie napisalem ze sprzedaje?
jesli wolisz 800xl zamiast 600xl to mozemy sie wymiec
aaaa... :-) dzieki
a prace pozakonkursowe przed kompo? pytam bo moze uda mi sie zlozyc kilka rymow w asemblerze do pokazania poza konkursem...
sobota. w punkcie 4 sa kompoty a w punkcie 3 kompo muzyczne? czy prezentacje pozakonkursowe?
sluszna uwaga.
a nie lepiej przeniesc tabele z opisami do Atariki? latwiej edytowac i poprawiac
---
dostalem tez uwage, ze lepiej wydzielic SparteDOS X z kartow (jest przelotowa), rozdzielic IDE Plus / IDEA
nie ma innego rozszerzenia ktore po wpisaniu 0x11xxx0 do portb pod adresem $5000 wlaczy 2kb ram.
tego chyba nie zrozumialem. jak?
    jsr podprogram
    TOP
    .byte par1,par2vs
a/
    jsr podprogram
    BIT
    .byte par1,par2czy
b/
    jsr podprogram
    .byte par1,par2w przypadku (a) przeciez zmienia sie znaczniki w w przypadku (b) trzeba korygowac stos
a Fox z dwoma niepublikowanymi zrobil to w 20 cyklach :-)
ror @
ror @
ror @
ror @
ldx #$f
sax high
arr #$e0
sta lowna AAge byl watek o mnozeniu przez 16 bez tablic (zmiescili sie w 28 cyklach)
tu wersja z niepublikowanym w 22 cyklach
      ldx #$f0    ;2
      asl @       ;4
      rol @       ;6
      rol @       ;8
      rol @       ;10
      sax low     ;14
      and #$07    ;16
      rol @       ;18
      sta high    ;22cardridge (ktorych jest pińćset rodzajow takich jak Sparta,Ram-Cart itp.) wrzucilem do jednego worka i nie sa to rozszerzenia softwarowe... w tym kawalku HW moze byc zapisany inny program niz DOS i tez bedzie dzialal... uwazasz inaczej przeslij mi na maila Sparta DOS X do wczytania z dyskietki.
te karty miedzy soba tez moga byc niekompatybilne np. ram-cart z basic xe ram-cart z sparta dos x ale nie wiem czy jest sens tak bardzo sie rozdrabniac - moze pozniej tak.
:-)
oprocz Altirra teraz Atari800 emuluje MapRAM...
to swietnie, ze gracze na Linuxach i Mackach tez beda mogli sie pobawic w ... [ chicho! sza! ]
zaznaczylem konflikt miedzy IDE Plus i Karin Maxi (problem opisany na Atariki). gdy tabela bedzie gotowa wszystkie konflikty zostana opisane.
---
zmienilem tez opis:
"- - funkcja zdublowana w calosci (jedno z tych urzadzen usunac)"
przykladowo jesli mam karta SpartaDOS X oraz IDE Plus to karta nie potrzebuje poniewaz IDE Plus ma wbudowana Sparte. podobna sytuacja z Qmeg i Ultimate1M.
albo cos takiego. przekazujemy do podprogramu parametry przykladowo dwa:
    jsr podprogram
    .byte $00,$00zwyczajowo podprogram powinien aktualizowac stos zeby ominac parametry po powrocie:
      lda PZER0
      clc
      adc #2
      tay
      bcc _1
      inc PZER0+1
_1    lda PZER0+1
      pha
      tya
      pha
      rtsa z niepublikowanym rozkazem TOP mozna to ominac:
    jsr podprogram
    TOP
    .byte $00,$00i podprogram wraca tak
    rtscaly czas wskazniki mamy prawidlowe
> Powinien, jako rozszerzenie softwarowe.
juz mowilem, mamy inne zdanie na ten temat i mozemy o tym dlugo i bezsensowie rozmawiac. skupmy sie na istocie:
usunac informacje na temat Qmega nawet jesli moze on miec wplyw na dzialanie / nie dzialanie innych rozszerzen? ktos kto bedzie decydowal sie na instalacje QMEGa byc moze bedzie szukal informacji na temat poziomu jego zgodnosci z rozszerzeniami ktore byc moze ma lub planuje zainstalowac.
mam inne zdanie ale wrocmy do tematu :-)
uwazasz, ze qmega nie powinno byc w tym zestawieniu?
ciekawy punkt widzenia.
co jesli wymienie MMU na takie w ktorym zapisany jest program zmieniajacy architekture atari.
co jesli wymienie dowolny uklad na dokladna kopie w ukladzie programowalnym
typowy problem tozsamosci obiektu ;-)
poza tym bardziej interesuje mnie to, ze to rozszerzenie (jak zwal tak zwal - gdzie napisalem sprzetowe? :D ale i tak bez lutownicy nie zainstalujesz) moze miec wplyw na dzialanie innych rozszerzen.
instalacja qmega (za instrukcja):
Aby zainstalować Qmeg'a (jak i dowolnie inny Os) potrzebne ną nam następujące części:
podstawka pod układ 28 pinów
mikroprzełącznik dwu-pozycyjny
trochę kabelków
kość z następnym OS Rom'em
butelka piwa
:-)
---
poza tym program zapisany w nowym romie moze miec wplyw na skladniki systemu jak rowniez sposob dzialania/nie dzialania innych rozszerzen. qmeg jest tu dobrym przykladem.
potrzebuje informacji na temat kompatybilnosci roznych rozszerzen do malego atari. mysle, ze moga to byc przydatne informacje
1.Cartridge (rowniez SpartaDOS X) 
2.Zegar 
3.Freezer 
4.IDE Plus / IDEA 
5.KARIN MAXI 
6.MapRAM 
7.Rozszerzenie pamieci (dowolne) 
8.SIDE 
9.Ultimate1M 
0.QMEG 
2  |   |
3  | ? | ? |
4  | - | - | ? |
5  |   |   | ? | x |
6  |   |   | x |   |   |
7  |   |   | ? |   |   |   |
8  |   | - | ? |   |   |   |   |
9  | - | - | x | *1|   | x | - | *1|
0  |   |   | ? |   |   |   |   |   | - |
   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
*1 - nalezy wylaczyc SpartaDOS X na jednym z tych rozszerzen? - brak danych 
- - funkcja zdublowana w calosci (jedno z tych urzadzen usunac)  
x - kolizja
*n - zgodna warunkowo
1.moze trzeba tabelke uzupelnic o jakies rozszerzenie, zmienic lub uszczegolowic wpis
2.moze trzeba podac informacje o czesciowej lub warunkowej kompatybilnosci wraz z warunkami
tabelka bedzie uaktualniana
---
jak wyglada kompatybilnosc:
SIDE - IDE+ (na poziomie SpartaDOS X - czy musi byc wylaczony i na ktorym rozszerzeniu)
zegarow na IDE+/SIDE/Ultimate1M
to jest celowe dzialanie. dzieki temu MapRAM dziala dokladnie tak samo na atari bez rozszerzenia pamieci i z dowolnym typem rozszerzenia pamieci (z oddzielnym sterowaniem pamiecia dla ANTICa).
artek na temat MapRAM:
no chyba wszystkie uzaleznione od wskaznikow zaraz po BIT.
nie za ambitny przyklad ale ciekawe zagniezdzenie nopow :) i w x roznica...
            lda granica
_1        dcp (licznik),y
            top
_2        inx
            top
            bcc _2
            bne _12 i 3 bajtowe NPO (DOP/TOP), spotkalem sie z nazwami SKB,SKW (skip byte/word) ale uwazam, ze takie nazwy sa mylace poniewaz rozkaz NPO wykonuje odczyt z adresu (moze wplywac na rejestry wrazliwe na odczyt), nie wplywa na znaczniki i rejestry - przez co do maskowania rozkazow jest lepszy od BIT.
efekt jest taki, ze samochod nie podaje pozycji, na lokalizatorze masz zawsze ostatnia pozycje i w zaleznosci od ustawien (m.innymi map zasiegu) alarm ;). nawet jak wrocisz na miejsce jaja sie zaczynaja jak wylaczysz zagluszacz i strerownik zacznie przekazywac dane... ogolnie takie zagluszacze to disco polo
atari.area forum » Posty przez xxl
Wygenerowano w 0.251 sekund, wykonano 17 zapytań