From duuqnd at stacken.kth.se Thu May 1 23:26:32 2025 From: duuqnd at stacken.kth.se (John Lorentzson) Date: Thu, 1 May 2025 23:26:32 +0200 Subject: [Antique-Hackers] =?utf-8?q?Cave_Story_f=C3=B6r_Solaris_=C3=A4r_?= =?utf-8?q?f=C3=A4rdigt?= Message-ID: <2a92d657-1085-45f8-8743-44aa60bd1758@stacken.kth.se> Cave Story har testats ganska noggrant och jag kan kalla senaste commit fb0490e0 för version 1.0. README filen är uppdaterad med korrekta instruktioner. Jag behöver fortfarande skriva klart bloggartikeln, så jag kommer nog fortfarande se ganska mycket av Cave Story tills jag är helt klar, men någon ny kod behövs inte längre. Stort tack till Hugo som stod ut med mig, och map (Magnus) som föreslog att använda select istället för usleep vilket räddade projektet. https://git.stacken.kth.se/duuqnd/cave-story-solaris -duuq- From hugova at stacken.kth.se Thu May 15 23:53:17 2025 From: hugova at stacken.kth.se (Hugo Ameln) Date: Thu, 15 May 2025 23:53:17 +0200 Subject: [Antique-Hackers] commodore64 multiplikation Message-ID: <99edc314-d031-441b-8ffd-52b95c0bc885@stacken.kth.se> Vi snackade lite om att implementera en generell multiplicationsalgoritm, mer specifikt https://en.wikipedia.org/wiki/Ancient_Egyptian_multiplication#Russian_peasant_multiplication Jag att jag har skapat en snabb implementation. Det här är otestad kod (som alltid bådar gott) men det ser riktigt lovande ut! -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot_20250515_234955.png Type: image/png Size: 135745 bytes Desc: not available URL: From duuqnd at stacken.kth.se Fri May 16 10:17:29 2025 From: duuqnd at stacken.kth.se (John Lorentzson) Date: Fri, 16 May 2025 10:17:29 +0200 Subject: [Antique-Hackers] Commodore 64 multiplikation In-Reply-To: <99edc314-d031-441b-8ffd-52b95c0bc885@stacken.kth.se> References: <99edc314-d031-441b-8ffd-52b95c0bc885@stacken.kth.se> Message-ID: <02e746fe-eb22-4bcd-b47f-015c83c80536@stacken.kth.se> On 15/05/2025 23.53, Hugo Ameln wrote: > Jag att jag har skapat en snabb implementation. Det här är otestad kod > (som alltid bådar gott) men det ser riktigt lovande ut! Den verkar inte fungera rätt. Först är jag inte säker på om returvärdet ska hamna i A-registern eller inte. Om den ska det har vi omedelbart problemet att ifall vi inte ska köra vår ADC VAL_B så kommer returvärdet bli det originella värdet på VAL_B, från innan något arbete utfördes. Det låter inte helt rätt. Om vi gör ADC:n så adderar vi VAL_B med det gamla VAL_B, och det kanske var meningen, men i verkligheten så ger det här resultat som inte riktigt liknar multiplikation. Resultaten blir väldigt udda, rutinen är inte kommutativ. Detta gäller även om vi antar att VAL_B är output. Vad det här visar (anser jag) är att vi behöver bättre verktyg för snabb testning av assemblykod. En 6502 REPL kanske. Om jag inte redan hade tallriken överfull med projekt skulle jag nog sätta igång med det... men jag kanske redan har kod för en 6502-emulator liggandes någonstans... -duuq- From duuqnd at stacken.kth.se Fri May 16 10:48:10 2025 From: duuqnd at stacken.kth.se (John Lorentzson) Date: Fri, 16 May 2025 10:48:10 +0200 Subject: [Antique-Hackers] Commodore 64 multiplikation In-Reply-To: References: <99edc314-d031-441b-8ffd-52b95c0bc885@stacken.kth.se> <02e746fe-eb22-4bcd-b47f-015c83c80536@stacken.kth.se> Message-ID: <8540d629-a4cf-4dd4-bee2-9fe8d09c4b84@stacken.kth.se> On 16/05/2025 10.44, Hugo Ameln wrote: > Du har rätt med att det inte funkar, jag har fått det och funka nu och > koden ser rätt så lik ut. Just nu ligger svaret i A registret det kanske > borde ändras i framtiden. Det är pushat med git om du vill ta en kikk! Det låter bra, jag tar en titt! P.S. Kom ihåg att använda knappen "Reply List" om du vill att mejlet ska gå till listan (och därmed arkivet) och inte bara mig. -duuq- From duuqnd at stacken.kth.se Thu May 22 13:20:49 2025 From: duuqnd at stacken.kth.se (John Lorentzson) Date: Thu, 22 May 2025 13:20:49 +0200 Subject: [Antique-Hackers] =?utf-8?q?User-side_compiler_har_f=C3=A5tt_en_?= =?utf-8?q?parser?= Message-ID: <147471f6-6849-4ed9-ad3f-73ab3f5f6eb1@stacken.kth.se> Med stor hjälp av boken Crafting Interpreters (gratis i webbformat på dess webbsida) har jag lyckats sätta ihop en parser som hanterar de syntax vi har bestämt oss om, korrekt operatorprecedens, och håller kvar i information om vart i källkoden som individuella noder kommer ifrån. Den är handskriven, plus ett par relativt simpla Lispmacros. Parsern genererar ett träd av noder som senare kommer konverteras till någon slags intermediate representation. I processen av att göra noderna redo att användas som syntaxträd har jag tagit bort den tidigare kodgenereringskoden som noder tidigare hade. Det arbetet kommer utföras på IR istället, och noderna kommer få metoder för att översättas till IR. Hur exakt det kommer gå till har jag inte bestämt än. -duuq- From duuqnd at stacken.kth.se Fri May 23 15:23:48 2025 From: duuqnd at stacken.kth.se (John Lorentzson) Date: Fri, 23 May 2025 15:23:48 +0200 Subject: [Antique-Hackers] =?utf-8?q?Program_f=C3=B6r_delta_backups_av_di?= =?utf-8?q?sk_images_=28till_Sun_Ultran=29?= Message-ID: <0203513e-d962-498e-8cb9-41fa57e045ad@stacken.kth.se> Jag började skriva ett "binary diff" program för ett tag sedan och nu är det fungerande. Det finns förbättringar att göra (t.ex. är block size hårdkodat till 8192 bytes), men den borde fungera för att göra backups av Sunens virtuella hårddisk utan att behöva spara en ny kopia av hela 2 GiB filen varje gång. https://git.stacken.kth.se/duuqnd/bindiff -duuq-