1

(13 odpowiedzi, napisanych Programowanie - 8 bit)

Jeszcze jedno pytanko:

ile dostępnych mamy linii na ekranie w NTSC? bo w PAL 240

2

(13 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki za podpowiedź.

Muszę spróbować przerobić BOMB JAKE tak żeby działało również pod NTSC.

Ma ktoś z tym doświadczenia, żeby napisać grę tak aby działała tak samo pod PAL i NTSC?



Czy player RMT można tak ustawić, żeby pod NTSC grał nieco wolniej? bo muza jest za szybka

3

(13 odpowiedzi, napisanych Programowanie - 8 bit)

Jaka jest różnica pomiędzy PAL a NTSC? (od strony programowej...np: jakie wartość przyjmuje rejestr VCOUNT)

4

(8 odpowiedzi, napisanych Programowanie - 8 bit)

candle:

Pewnie zrobię pod ten wynalazek obsługę myszy:)

Bo obsługa tej od AMIGI to jednak chyba zbyt duże obciążenie dla gry nawet jeżeli zrobić to tak jak napisał FOX:)


Swego czasu korzystałem z procki obsługi myszy zaczerpniętej z "TAJEMNIC ATARI" i było widać zauważalne spowolnienie działania gry...

5

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Candle:
Masz na myśli mysz PC podłączoną przez jakąś przejściówkę do portu joy-a w ATARI?

Jeżeli tak to byłoby to lepsze rozwiązanie....tylko muszę poczytać jak działają te paddlesy:P bo nigdy nie wykorzystywałem w grze

Pracuje nad grą znaną z 16-bitowców....gra typu RPG....mysz jest niezbędna do wygodnej obsługi....można od biedy joy-em ale to nie będzie ta sama przyjemność z gry...

6

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Szukam najszybszej możliwej procedury odsługującej myszkę (od amigi/atari ST) podłączaną do ATARI XL/XE?

W grze nie ma zbyt wiele czasu na nią....więc musi być maksymalnie zoptymalizowana:)

Ja znalazłem w necie taką, ale być może da się jeszcze szybciej?:

FastMouseRoutine
General Information
•    Author: John Maris (prepared by Mathy v. Nisselroy)
•    Assembler: Mac65
•    Published: MegaMagazine 7

Code
1000 ;MOUSE ROUTINE IN A DLI
1010 ; MAKE YOUR OWN DL WITH
1020 ;INTERUPT ENABLE, ETC.
1030 ;OR YSE THE INTERUPT IN
1040 ;POKEY TIME INTERUPT!
1050 ;
1060 ;PUBLIC DOMAIN 1994
1070 ;PUBLISHED ON MEGAMAGAZINE
1080 ;             POKEY MAGZINE
1090 ;             THE BEST OF…
1100 ;
1110 ;WRITTEN BY THE MISSING LINK
1120 ;
1130 ;OLDX = OLD X-VALUE MOUSE
1140 ;OLDY = OLD Y-VALUE MOUSE
1150 ;MXAS = X POSITION FOR CURSOR
1160 ;MMAXX=MAXIMUM X-SCREEN-POS
1170 ;MMAXY=MAXIMUM Y-SCREEN-POS
1180 ;MMINX=MINIMUM X-SCREEN-POS
1190 ;MMINY=MINIMUM Y-SCREEN-POS
1191 ;
1200 ;SET INTERRUPTPOINTER
1210     LDA # <MOUSE
1220     STA 512
1230     LDA # >MOUSE
1240     STA 513
1250 ;INIT MOUSE ROUTINE
1260     JSR MOUSEON
1270 ;INIT VBI ROUTINE FOR CURSOR
1280     LDA #6
1290     LDX # >VBI
1300     LDY # <VBI
1310     JSR $E45C
1320 ;ENDLESS LOOP
1330 DO  JMP DO
1340 ;
1350 ;
1360 ;THE MOUSEROUTINE
1370 MOUSE
1380     PHA
1390     TXA
1400     PHA
1410     TYA
1420     PHA
1430 MOUSEA
1440     LDA $D300   ;
1450     LSR A       ;MOUSE ON
1460     LSR A       ;PORT 1
1470     LSR A       ;
1480     LSR A       ;
1490     PHA         ;SAVE VALUE
1500     AND #3      ;GET X-VALUE
1510     ORA OLDX    ;
1520     TAX         ;
1530     AND #3      ;MAKE X-INDEX
1540     ASL A       ;
1550     ASL A       ;
1560     STA OLDX    ;SAVE AS OLD
1570     LDY MXAS    ;
1580     LDA MOUSETAB,X ;GET TABLE
1590     BMI MOUSY   ;ACTION? NO!
1600     BNE MOUSE1  ;YES! DECREASE
1610 MOUSE0
1620     INY         ;INCREASE
1630     CPY MMAXX   ;MAXIMUM XAS?
1640     BCC MOUSY   ;NO, EXIT
1650 MOUSE1
1660     DEY         ;DECREASE
1670     CPY MMINX   ;MINIMUM XAS?
1680     BCC MOUSE0  ;YES! INCREASE
1690 MOUSY
1700     STY MXAS    ;STORE XPOINTER
1710     PLA         ;GET MOUSEVALUE
1720     LSR A
1730     LSR A       ;SEE THE ROUTINE
1740     AND #3      ;ON THE XAS. IT
1750     ORA OLDY    ;IS THE SAME!
1760     TAX
1770     AND #3
1780     ASL A
1790     ASL A
1800     STA OLDY
1810     LDY MYAS
1820     LDA MOUSETAB,X
1830     BMI MOUSEX
1840     BNE MOUSE2
1850 MOUSE1.1
1860     INY
1870     JMP MOUSE3
1880 MOUSE2
1890     DEY
1900 MOUSE3
1910     CPY MMINY
1920     BCC MOUSE1.1
1930     CPY MMAXY
1940     BCS MOUSE2
1950 MOUSEX ;        END OF
1960     STY MYAS    ;Y-ROUTINE
1970     PLA         ;RESTORE
1980     TAY         ;A, X & Y
1990     PLA
2000     TAX
2010     PLA
2020     RTI
2030 ;
2040 ;THE Indextable 0=no action
2050 MOUSETAB
2060     .BYTE 255,1,0,255,0,255,255,1,1,255,255,0,255,0,1,255
2070 ;
2080 ;ENABLE DLI
2090 MOUSEON
2100     LDA #192
2110     STA $D40E
2120     RTS
2130 ;DISABLE DLI
2140 MOUSEOFF
2150     LDA #64
2160     STA $D40E
2170     RTS
2180 ;
2190 VBI
2200 ;PUT CURSOR ON SCREEN…
2210     JMP $E45F
2220 ;
2230 ;

7

(7 odpowiedzi, napisanych Bałagan)

xan:

dane wczytałem z pliku *.BMP:
           Image1.Picture.LoadFromFile(FileListBox1.FileName);



W sumie już sobie poradziłem z tym problemem w końcu...doszedłem metodą prób i błędów do rozwiązania...łatwo nie było

1. Wyciągnąłem palete najpierw:

    GetPaletteEntries(image1.Picture.Bitmap.Palette,0,255,paleta);
    GetMem(pal, sizeof(TLogPalette) + sizeof(TPaletteEntry) * 255);
    pal.palVersion := $300;
    pal.palNumEntries := 256;

2. Później szukałem koloru w tej palecie (i otrzymywałem index):

function get_index_palette(color: Tcolor): TColor;
label
   next1;
begin
    for i:=0 to 255 do begin
      red:= paleta[i].peRed;
      green:= paleta[i].peGreen;
      blue:= paleta[i].peBlue;
      r_col:= getRvalue(color);
      g_col:= getGvalue(color);
      b_col:= getBvalue(color);

      if red=r_col then
      if green=g_col then
      if blue=b_col then begin get_index_palette:= (i and 3); goto next1 end;  // only 4 colors on ATARI
    end;

next1:

end;

8

(7 odpowiedzi, napisanych Bałagan)

W programie, który piszę jest taka oto instrukcja:


             color0:= image1.picture.bitmap.Canvas.Pixels[0+hlp_i,hlp_ii+(iii)];


pobiera mi ona kolor pixel'a w formacie RGB z obrazka (obrazek ma palete 256 kolorów)
np: dla niebieskiego pixel'a otrzymuje $00FF0000
      dla zielonego                               $0000FF00 itp. 


Jednak mi jest potrzebny numer(indeks) w palecie kolorów dla tego pixel'a ......a nie już konkretna barwa w formacie RGB.

Jak uzyskać numer indeksu w palecie kolorów?

9

(9 odpowiedzi, napisanych Bałagan)

pajero:

Dzięki:) właśnie o to mi chodziło.

10

(9 odpowiedzi, napisanych Bałagan)

pajero:
Wysłałem na pocztę obrazek z przykładem:)


Spróbuje też sam zrobić w tym GIMP-ie zgodnie z twoim opisem.

11

(9 odpowiedzi, napisanych Bałagan)

Właśnie pracuje nad grą gdzie będzie bardzo dużo klatek przeciwników.

Chciałbym każdemu przeciwnikowi dorobić czarną obwódkę (wokół niego). Dzięki temu będzie zawsze dobrze widoczny podczas gry.


I tu mam problem jakim programem najłatwiej to zrobić (czy ktoś mógłby mi podać przepis krok po kroku jak to uzyskać)

Do tej pory wszystko robiłem w NEOPAINT i mi on wystarczał.

Teraz jednak nie wiem jak uzyskać taki efekt w tym programie.

12

(3 odpowiedzi, napisanych Programowanie - 8 bit)

W BOMB JAKE (BOMB JACK) multiplexing polega na rozmnażaniu duchów w kolumnie a nie tak jak to opisałeś w linii.

Np. Mamy 8 obiektów na ekranie (4-ry u góry i 4-ry na dole)...normalnie mamy za mało duchów PMG, żeby pokryć te obiekty (bo mamy tylko 4-ry). Jednak w odpowiedniej linii (przerwanie DLI) zmienia się pozycje i kolory duchów PMG i na dole mamy kolejne 4-ry obiekty pokryte.

Cały multiplexing polega na procedurze śledzącej jak układają się obiekty na ekranie i inteligentne rozkładanie duchów PMG.

13

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

Ciekawi mnie jakie aktualnie gry powstają na ATARI?

Pochwalcie się:P

Muszę wybrać następną grę do konwersji, a nie chce się powtarzać:)

14

(90 odpowiedzi, napisanych Fabryka - 8bit)

Ciekawe czy ten silnik dałoby radę w miarę łatwo przerobić na rysowanie w trybie 15 BASIC-a?

15

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

Bomb Jack na max-a wykorzystuje dostępną pamięć podejrzewam więc że jest konflikt polegający na zamazaniu podczas wczytywania BJ procki ładującej tego PICODOS-a:(

Bomb Jake to poprawiona wersja Bomb Jack'a na cartridge "CORINA" działająca tylko na nieoficjalnej wersji emulatora ATARI++. (szczegóły na razie pozostawmy tajemnicą:P)

16

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

Jak powstanie ta dopałka dla sprite'ów (bo tego najbardziej mi brakuje) to chętnie wykorzystam to w jakiejś grze:)

Jedyne co mnie martwi to to, że to będzie dla trybu graficznego czyli tylko 4 kolory będą. A 5-ty kolor w trybie znakowym sporo daje jednak...

Ale gdyby taka dopałka od razu mogła też podkładać PMG pod sprite'y żeby one były kolorowe to jakoś bym to przeżył:P

17

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

Dracon napisał/a:

A te wielgachne "duchy" w grze "Upiór" (bohater i jego przeciwnicy) to jak powstały, że działają na "zwykłym" Atari??

Animacja na czarnym tle i ruch w tępie żółwia tych sprite'ów....oto jak powstały

Ja myślę o czymś bardziej ambitnym, a do tego 6502 jest za wolny...a coś wiem na ten temat po napisaniu BJ.

18

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

Mnie się ten projekt bardzo podoba. Mam nadzieje, że będzie to kompatybilne z "CORINĄ". Mając coś takiego BOMB JAKE byłby jeszcze lepszy:)
Taki procek (lub blitter) zniósłby ograniczenia szybkościowe.
Od strony programistycznej w grach najbardziej brakuje dużej ilości i sporych rozmiarów duchów programowych.

Mam nadzieję, że dodatkowy procek znacząco przyśpieszy takie oto operacje w pamięci:

1) kopiowania bloków pamięci.
2) nakładanie 2 bloków pamięci na siebie (AND, OR, EOR) i tworzenie 3-ciego z tego.
3) przesunięcie bitów w obrębie bajtu. (od razu w całym bloku pamięci)
4) dekompresja danych w czasie rzeczywistym:)

19

(5 odpowiedzi, napisanych Programowanie - 8 bit)

Dokładnie. Muzę najlepiej pisać na 3 kanały i jeden zostawiasz na sfx-y.

20

(6 odpowiedzi, napisanych Programowanie - 8 bit)

Czy jest możliwe stworzenie poprawnego ATR o wielkości 720KB z DOSII+/D v6.4?


Próbuje to zrobić wykorzystując plugin PAJERO do TOTAL COMMANDER'a ale coś nie wychodzi chociaż pisze w helpie, że niby można.

Pilnie potrzebuje taki ATR.

21

(9 odpowiedzi, napisanych Programowanie - 8 bit)

epi: ale ja chcę tylko 64KB danego pliku wczytać:P

no to mogę bez straty czasu przejść do pisania programu:)

22

(9 odpowiedzi, napisanych Programowanie - 8 bit)

Czy systemowa procedura CIOV($e465) umożliwia odczyt jednego dużego pliku 128KB lub 512KB w kawałkach? np: 4 razy po 16KB

23

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

Witam

Pyt.1
Czy ktoś może spotkał gdzieś w internecie udostępnione kody źródłowe jakiś gier?
Chodzi mi tutaj najbardziej o jakieś gry, których najbardziej brakuje na ATARI a powstały na inne 8-bitowce.

Mając kod źródłowy łatwiej będzie mi się podjąć konwersji takiej gry.


Pyt.2
Poza tym mam pytanie do osób, które coś w tej chwili konwertują. Jeżeli to nie tajemnica to niech napiszą nad czym pracują i jaki jest stan zaawansowania prac. Może mi coś przypasuje to się przyłącze:)

24

(7 odpowiedzi, napisanych Bałagan)

xxl: trochę dziwnie się zapisuje z tego emulatora.

Mianowicie wybierasz Utility/Disassemble to File i wpisujesz ile bajtów programu ma zapisać.

Za pozycję początkową zapisu pamięci do pliku przyjmuje pierwszy adres który aktualnie masz wyświetlony w tym największym okienku.

Przetestuj to zobaczysz co mam na myśli.

25

(7 odpowiedzi, napisanych Bałagan)

Ja proponuje ten emulator:

http://nocash.emubase.de/c64.htm

dodatkowo ma fajne bajery i można podglądać wiele rejestrów C64, mapę ekranu, mapę pamięci kolorów itp.


Osobiście cały czas z niego korzystam przy konwersji 'BOMB JACK-a' i niedługo zaprezentuje efekty jakie pomógł mi osiągnąć:P