Egna characters och bakgrund i Basic 7.0

Diskussioner om Commodore 128

Moderatorer: Fanta_gbg, e5frog, stonan, Zlasher

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 31 december 2018, 16:06

Mozartkügel skrev:Det som stressar mig mest med c64 programmeringen för tillfället är bank switching / att fatta vart det lönas att på enklast sätt lägga stuff i minnet.


Jag brukar försöka lägga all grafik i översta banken $c000-$ffff. Då måste kernal plockas bort ifall det ska läsas i minnet men fördelen är att det går att lägga sprites som inte ska ändras under I/O-arean (som är krånglig att utnyttja annars och att det inte är något ROM-teckenset som syns i den banken. Så dubbla skärmminnen på $e000-$e800 och teckenset på $e800-$efff kanske är en bra start. Sprites på övriga platser $c000-$dfff och $f000-$ffbf. Då kan du ha programmet på $0800-$bfff utan en massa hål.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1538
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav TBC » 31 december 2018, 19:20

bjonte skrev:Jag håller med TBC. Detta är ett bra ställe att börja på.


Fast egentligen borde han väl börja med introt ;)
Användarvisningsbild
TBC
Mästare
Mästare
 
Inlägg: 297
Blev medlem: 4 september 2008, 16:44

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 31 december 2018, 21:24

TBC skrev:Fast egentligen borde han väl börja med introt ;)

Neeeeeej! Lyssna inte på TBC. Han viskar hemska ord i dina öron!
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1538
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 31 december 2018, 23:03

Mozartkügel skrev:Det börjar kännas som att jag småningom kommer att kunna få till stånd nått litet spel på en c64!

bjonte skrev:Det vore ju kul!


Hmm, jag menade kanske egentligen "en början på ett litet spel" så jag inte biter av mer än jag kan tugga. :lol:

TBC skrev:
bjonte skrev:Jag håller med TBC. Detta är ett bra ställe att börja på.

Fast egentligen borde han väl börja med introt ;)


Ah, ja, det finns så mycket arbete bakom kulisserna om man verkligen vill göra ett helt spel från början till slut även om det är ett litet spel. :shock:

Av nyfikenhet, har ni själva gjort nå spel till c64 då ni vet så många trick och verkar känna till sextifyran så bra?
Användarvisningsbild
Mozartkügel
Lärling
Lärling
 
Inlägg: 77
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 1 januari 2019, 00:27

Mozartkügel skrev:Av nyfikenhet, har ni själva gjort nå spel till c64 då ni vet så många trick och verkar känna till sextifyran så bra?

Jag har portat Bruce Lee II till C64 och jag har portat Cosmos också i samarbete med min bror. Jag lärde mig massor som jag inte visste innan men det finns otroligt mycket mer att lära.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1538
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 2 januari 2019, 22:42

Ooh! Imponerande och häftigt! Om jag skulle vara tvungen att välja ett c64 spel så skulle det vara Bruce Lee, jag älskar sånadär simpla flick-screen platformers. Jag har spelat Bruce Lee II lite grann då jag fick min U2+ men senare glömt bort det, nu ska jag nog prova det ordentligt pånytt. Jag läste också din "the making of bruce lee 2", herre jösses vilket engagemang! Hatten av! Jag svimmade tre gånger medan jag läste det och måste ta en tre dagars vila efteråt! :lol:

Skämt åsido, i egenskap av låtsasprogrammerare har jag funderat lite på att försöka knåpa ihop en CC65 setup (för c64) i totalt motsatt riktning till din totala perfektion och dedikering med Bruce Lee II, typ en KISS/Lazy coder/"Artsy fartsy knåpare/I only wanna have fun"-set up med bakgrundsuppritning, spelare med rörelse(sprite(s)), joystickinput, spela upp sid för musik och text för score och sånt. Sen är det alltid lätt att börja med den som grund för sitt nya småspel. Liksom alla beståndsdelar som behövs för ett spel samlade i ett. Jag skulle använda dina adressförslag från tidigare och hoppas på att aldrig behöva ändra på dem haha ;D En sorts template / boilerplate kodstruktur för sådana som vill göra små spel till sina gamla favoritapparater men inte är så proffsiga programmerare.

Jag har faktiskt sökt efter dylika templates för sextifyran över åren, men konstigt nog med tanke på 64:ans popularitet inte hittat någon. Jag antar att en hel del "custom kod" oftast behövs oavsett, och minnet är begränsat. Jag har också märkt att de flesta som håller på med spelutveckling på dessa gamla apparater är väldigt duktiga kodare och vill pressa systemen till sina gränser i motsats då till "spelknåpare" som mig. Men jag tror jag sakta mak ska försöka bygga upp en grund på cc65 både till c64 och vic-20. Jag borde egentligen börja med att försöka översätta dethär basicprogrammet till C/assembler på 128:an.

Hur som helst, stor respekt till din hängivelse till Bruce Lee II projektet! Making of artikeln var väldigt intressant läsbart också!
Användarvisningsbild
Mozartkügel
Lärling
Lärling
 
Inlägg: 77
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 3 januari 2019, 09:39

Mozartkügel skrev:Hur som helst, stor respekt till din hängivelse till Bruce Lee II projektet! Making of artikeln var väldigt intressant läsbart också!

Tack! Det var roligt att höra.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1538
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 15 januari 2019, 23:17

Tadaa! Jag lyckades knåpa ihop det helt själv med cc65 till c64 denhär gången, och det tog bara ett par, tre kvällar, jee! :party: En sak som tog en stund att klura ut var vad man skulle pokea in i d018 :o Som tur hittade jag till sist det bra förklarat i codebase64

//$D018 = %0001xxxx -> screenmem is at $0400
//$D018 = %xxxx111x -> charmem is at $3800


Nackdelen är att jag inte ännu fixade det med din minnesuppsättning och att jag inte riktigt orkade förstå mej på cc65 segmenten och cfg-filerna ännu, så jag har det framför mig. Här slänger jag bara in datan i C tabeller och malar in dem på rätt adresser med loopar. En kompis hjälpte mig också att optimera färgloopen så den målar upp allting i ett ögonblick.

https://www.youtube.com/watch?v=AY0g6H8gac4

bjonte skrev: Så dubbla skärmminnen på $e000-$e800


Hänvisar du möjligen till dubbel skärmbuffer eller är det nånting som brukar användas på c64?
Användarvisningsbild
Mozartkügel
Lärling
Lärling
 
Inlägg: 77
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 16 januari 2019, 07:27

Mozartkügel skrev:Tadaa! Jag lyckades knåpa ihop det helt själv med cc65 till c64 denhär gången, och det tog bara ett par, tre kvällar, jee! :party: En sak som tog en stund att klura ut var vad man skulle pokea in i d018


Jag har den här funktionen i ett macro för att räkna ut vad som ska skrivas dit. Den går i princip att porta rakt av till C.

Kod: Markera allt
macro vmcsb_value(.bitmap_or_character_set_addr, .screen_addr)
{
   return ((.bitmap_or_character_set_addr >> 10) & %1110) | ((.screen_addr >> 6) & %11110000)
}


Mozartkügel skrev:Hänvisar du möjligen till dubbel skärmbuffer eller är det nånting som brukar användas på c64?


Ja, precis. Det är inte ett krav men om mycket ska röra sig på skärmen så kan det vara bästa alternativet. Att inte ha två kan spara minne och gör att adresser till skärmminnet hålls konstanta så att koden blir enklare.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1538
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 18 januari 2019, 07:43

Hej, schysst! Tack för att du delade macron, nu behövar man ju inte ens tänka! :lol: Jag ser nog inte det riktigt framför mej nu just hur detdär med dubbla skärmbuffer kunde fungera på c64. Jag googlade lite om saken, men klarade inte av att sätta mig in i det för tillfället. Jag håller på och knåpar med Vic-20 parallelt så jag har lite många bollar i luften på samma gång.
Användarvisningsbild
Mozartkügel
Lärling
Lärling
 
Inlägg: 77
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 18 januari 2019, 07:54

Mozartkügel skrev:Jag ser nog inte det riktigt framför mej nu just hur detdär med dubbla skärmbuffer kunde fungera på c64. Jag googlade lite om saken, men klarade inte av att sätta mig in i det för tillfället.


Det är inte så krångligt. Man ritar i ena skärmen medan man visar den andra. När ritningen är klar växlar man så att man visar den man just har ritat och börjar rita i den man nyss har visat istället. Målet är att inte rita saker samtidigt som de visas, för då kommer det att se konstigt ut, som att nedre halvan av något har ändrats men inte övre. Genom att ha två buffrar behöver man inte oroa sig för var TVn ritar det man ändrar. Färgminnet går inte att växla på C64 så där finns alltid problematiken med när den informationen kan uppdateras utan att se fel ut.

Mozartkügel skrev:Jag håller på och knåpar med Vic-20 parallelt så jag har lite många bollar i luften på samma gång.


Vad roligt! Vad ska du göra på den?
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1538
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 18 januari 2019, 08:24

bjonte skrev:
Mozartkügel skrev:Jag ser nog inte det riktigt framför mej nu just hur detdär med dubbla skärmbuffer kunde fungera på c64. Jag googlade lite om saken, men klarade inte av att sätta mig in i det för tillfället.


Det är inte så krångligt. Man ritar i ena skärmen medan man visar den andra. När ritningen är klar växlar man så att man visar den man just har ritat och börjar rita i den man nyss har visat istället. Målet är att inte rita saker samtidigt som de visas, för då kommer det att se konstigt ut, som att nedre halvan av något har ändrats men inte övre. Genom att ha två buffrar behöver man inte oroa sig för var TVn ritar det man ändrar. Färgminnet går inte att växla på C64 så där finns alltid problematiken med när den informationen kan uppdateras utan att se fel ut.


Ahaa, trevligt att veta att det inte är alltför krångligt! Jag är iofs bekant med double buffering från mitt Lynx-kodande, men jag får försöka reda ut de tekniska detaljerna hur det görs på c64 senare.

bjonte skrev:
Mozartkügel skrev:Jag håller på och knåpar med Vic-20 parallelt så jag har lite många bollar i luften på samma gång.


Vad roligt! Vad ska du göra på den?


Jag håller på med denhär samma saken till att börja med, rita upp custom tecken som bakgrund och sedan ska jag försöka röra en gubbe på rutan. Jag fick en sån megalomanisk idé att om jag håller mig till en extremt simpel flick screen platformer (kanske arcade style med bara några levlar) så kunde jag göra mitt första c64 spel "Baron LoveJoy" både till c64, Vic-20 och Atari Lynx. :shock: :lol: Men det finns ju en del stuff som jag ännu inte kollat upp som musik (verkar nödvändigtvis inte vara så svårt då jag kollade på min kompis asm kod), packning av leveldata (urgh), kanske exomizer som jag hört talas om är lätt att använda + kassett och/eller diskett laddningsbild + musik skulle ju vara pricken på i:t. Det finns förståss mer som jag glömt bort. Jag hade tänkt undvika sprite multiplexing i mitt första spel.

Har du själv förresten nått roligt c64 eller annat 'retroprojekt' på gång?
Användarvisningsbild
Mozartkügel
Lärling
Lärling
 
Inlägg: 77
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 18 januari 2019, 12:44

Mozartkügel skrev:Jag är iofs bekant med double buffering från mitt Lynx-kodande, men jag får försöka reda ut de tekniska detaljerna hur det görs på c64 senare.


Det är bara att flytta på skärmminnet faktiskt. Du har ju satt det en gång men måste sätta om det efter att varje bild är färdigritad. Det bör göras på en plats som garanterar att bytet inte sker under uppritning av skärmen, i ett rasterinterrupt till exempel, eller åtminstone synkroniserat med rastret.

Mozartkügel skrev:Jag hade tänkt undvika sprite multiplexing i mitt första spel.


Det låter klokt.

Mozartkügel skrev:Har du själv förresten nått roligt c64 eller annat 'retroprojekt' på gång?


Ja, alltid. Jag håller på med ett flipperspel till C128 men jag tog nyss en paus för att försöka mig på att göra musik med samplingar.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1538
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Redreamer » 20 januari 2019, 08:54

Trevlig design på bana och sprite. Vad ska spelet gå ut på?
Varför behövde du köra dubbelbuffering?
Bra jobb så länge! =)
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1175
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 20 januari 2019, 22:51

bjonte skrev:Det är bara att flytta på skärmminnet faktiskt. Du har ju satt det en gång men måste sätta om det efter att varje bild är färdigritad. Det bör göras på en plats som garanterar att bytet inte sker under uppritning av skärmen, i ett rasterinterrupt till exempel, eller åtminstone synkroniserat med rastret.


Ja, jo, jag läste faktiskt också nån annanstans att det skulle vara lätt att göra i assembler, måste gräva fram nått exempel i nått skede. Det skulle ju inte skada om det är lätt att implementera.

bjonte skrev:Ja, alltid. Jag håller på med ett flipperspel till C128 men jag tog nyss en paus för att försöka mig på att göra musik med samplingar.


Hehe, jo det är nog så otroligt roligt att knåpa med dehär gamla apparaterna! :D Kul om c128 får lite uppmärksamhet, har det månne kommit ut någo nya spel exklusivt för den under 2000-talet? Nyfiken på slutresultaten både då det gäller flipperspelet och sampelmusiken.

Redreamer skrev:Trevlig design på bana och sprite. Vad ska spelet gå ut på?
Varför behövde du köra dubbelbuffering?
Bra jobb så länge! =)


Tackar! Men jag är ju först helt i början av processen, hehe. Jag hade tänkt att det skulle vara en simpel gammaldagsens flick-screen platformer (c64 bruce lee är ett av mina favoritspel), kanske t.o.m. arcade stil med bara några levlar. Stjärnan i spelet heter "Baron Lovejoy" som är en plump gycklare :lol: Det görs så imponerande spel till c64 nuförtiden att jag tänkte fokusera mer på att ha roligt istället för att försöka tävla mot dem. Sedan om nån annan tycker att slutresultatet är roligt så är det förståss extra kul!

Jag har kikat på redreamer devtråden och videon du postat ibland, det ser ut att bli ett roligt spel! Jag säger det samma, bra jobbat hittils!

Ja, nej, jag har nog inte gjort nått beslut om dubbelbuffering i dethär skedet. Om det är lätt att implementera så varför inte, men jag får nog läsa på lite om skärmuppritningen först isåfall tror jag.
Senast redigerad av Mozartkügel 21 januari 2019, 06:32, redigerad totalt 1 gång.
Användarvisningsbild
Mozartkügel
Lärling
Lärling
 
Inlägg: 77
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

FöregåendeNästa

Återgå till Commodore 128

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst

Banners

BOA Japon Mediapalatset Nostalgibutiken
Quartex Retro Overlays Retroplay Spel och sånt
Super Motaro Söders Serie & Skivhandel vintagegames.se RG 2016
cron