1

Temat: VSP - C64 VIC II bug


https://news.ycombinator.com/item?id=5314959

ktoś potrafi wytłumaczyć na czym polega ten "bug" VIC-a pozwalający na scrollowanie bitmapy

przerzuca dane z granicy strony? takie sprzętowe kopiowanie danych?

niektóre układy VIC wymagają poprawki aby "bug" działał inaczej powodują zwiechę

korzystają z tego dema, jak i gry np. ostatnio zrealizowany Super Mario Bros, na youtube gość testując Ultimate 64 puścił SMB na 48 MHz i widać było że scroll przestał działać, konieczne docyklowanie

Ostatnio edytowany przez tebe (2020-10-13 18:28:01)

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

2

Odp: VSP - C64 VIC II bug

właściwy link od yt https://www.youtube.com/watch?v=DJgB7_02wXk

tebe napisał/a:

ktoś potrafi wytłumaczyć na czym polega ten "bug" VIC-a pozwalający na scrollowanie bitmapy

przerzuca dane z granicy strony? takie sprzętowe kopiowanie danych?

nie znam tego buga, ale wydaje mi się że nie chodzi o kopiowanie danych tylko o sprzętowy scroll obrazu.
Być może chodzi o scroll z wykorzystaniem tzw "badlines":
https://www.c64scene.pl/viewtopic.php?f=4&t=3034



https://csdb.dk/release/?id=120810
https://www.lemon64.com/forum/viewtopic.php?t=48352

Ostatnio edytowany przez Cyprian (2020-10-13 15:55:52)

Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.appspot.com

3

Odp: VSP - C64 VIC II bug

Hej!

@TeBe a to nie LFT o tym dawno pisał? Chodzi Ci może o to: https://www.linusakesson.net/scene/safevsp/index.php

life is complex, it has both real and imaginary components.

4

Odp: VSP - C64 VIC II bug

tak, to jest to co opisuje LFT

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

5

Odp: VSP - C64 VIC II bug

no to jeszcze jeden link do kompletu (tym razem opisujący sprzętowe rozwiązanie "problemu"): http://wiki.icomp.de/wiki/VSP-Fix

w tym linku jest link do opisu tegoż efektu, ale u mnie link nie działa więc używając wayback machine można to przeczytać:

https://web.archive.org/web/20160623184 … e_3.14.htm -> sekcja 3.14.6 - DMA DELAY

Ostatnio edytowany przez seban (2020-10-13 22:30:00)

life is complex, it has both real and imaginary components.

6

Odp: VSP - C64 VIC II bug

VSP pozwala zglitchować VIC'a-II aby zaczął czytać dane później niż na początku danego rzędu, stąd też druga bardziej techniczna nazwa dla tego efektu: DMA delay. A więc możemy kazać VIC'owi zacząć wyświetlać od 1, 2 .. 8 znaku, na końcu dostajemy zapętlone dane które już trzeba ofc zmodyfikować. Scroll jest o 8 pikseli - char, więc aby był płynny korzystamy z normalnego sprzętowego przewijania o max 7 pixeli.
Profity: szybkość, w tym podlinkowanym filmie to widać, zwykle jedna linijka rastra, potem na 8mej troszkę więcej i po przewinięciu całego ekranu - 40 znaków duży 'spike' - przepisywanie color ramu.
Przy znakach to jeszcze pół biedy ale trick chodzi też na bitmapach dająć duże oszczędności:
https://codebase64.org/doku.php?id=base … l_scroller

Przyznam szczerze, że nigdy owej rutynki nie zakodowałem, znam tylko wysokopoziomowy opis więc mogłem coś pominąć.

Źródła:
https://codebase64.org/doku.php?id=base … ioning_hsp
https://codebase64.org/doku.php?id=base … l_scroller

Ostatnio edytowany przez Nitro (2020-10-15 19:30:39)

7

Odp: VSP - C64 VIC II bug

dzięki za rozjaśnienie smile

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

8

Odp: VSP - C64 VIC II bug

Do usług wink Istnieje również 'patent' na przewijanie w pionie, można połączyć jedno z drugim i uzyskuje się zaawansowany trik o nazwie AGSP - any given screen position - dowolny scroll pion/poziom.

takie sprzętowe kopiowanie danych?

Nie istnieje żaden sposob na uzyskanie trikowe jakiejś formy kopiowania pamięci - blitowania.
Jedyna droga to użycie rozszerzenia pamięci - REU które udostępnia sprzętowe DMA - 1 bajt/1 cykl. Otwiera to drogę to masy kolejnych sztuczek.

Ostatnio edytowany przez Nitro (2020-10-17 13:09:27)