The C64/128 sprite editor Sprdef2 (runs under Windows) is now available for download. Screenshot and link is available here: https://github.com/Anders-H/Sprdef2/blob/main/README.md
Category: Retro
-
Resurser för Commodore 64-utveckling
Om du som jag skriver program för Commodore 64 på fritiden, är denna sida ett register över de verktyg du behöver.
Utvecklingsmiljöer
Programmeringsspråk
Commodore DOS
Dokumentation
All about yout C64 – online help
Programming sound and music on yout Commodore 64
Commodore BASIC tokenized file
Editorer, musik
Editorer, grafik
Emulering
Övrigt
För min del har jag skrivit bok om Commodore BASIC 2.0 second release, och jag håller på att arbeta med en sprite editor.
-
Några knep för att få fart på Commodore BASIC i C64
Commodore BASIC 2.0 på Commodore 64 har några kända prestandaproblem, och denna enkla kod har implementerat några stycken:
10 S=TI 20 X=0.01 30 FOR A=0 TO 255 40 REM 50 REM 60 REM 70 X=X+0.01 80 POKE 16384,A 90 REM 100 REM 110 REM 120 NEXT 130 S=TI-S 140 PRINT "TIME" S 150 PRINT "RESULT " XProgrammet startar en tidtagning och 256 gånger görs en flyttalsberäkning och ett heltal skrivs till en minnesadress (16384). Programmet tar 327 jiffies i tid. (En jiffy är ungefär 1/60 sekund.)
Att hitta ett radnummer tar tid, så om man optimerar genom att radera alla REM-satser, blir exekveringstiden istället 299 jiffies.
10 S=TI 20 X=0.01 30 FOR A=0 TO 255 70 X=X+0.01 80 POKE 16384,A 120 NEXT 130 S=TI-S 140 PRINT "TIME" S 150 PRINT "RESULT " XOm man dessutom lägger alla radnummer tätt ihop, försvinner faktiskt en jiffie till.
0 S=TI 1 X=0.01 2 FOR A=0 TO 255 3 X=X+0.01 4 POKE 16384,A 5 NEXT 6 S=TI-S 7 PRINT "TIME" S 8 PRINT "RESULT " XAtt tolka ett heltal tar tid, så genom att skapa en variabel innehållande adressen 16384 behöver tolken bara göra det arbetet en gång.
0 S=TI 1 X=0.01 2 N=16384 3 FOR A=0 TO 255 4 X=X+0.01 5 POKE N,A 6 NEXT 7 S=TI-S 8 PRINT "TIME" S 9 PRINT "RESULT " XDetta skalar bort ytterligare 81 jiffies, så att programmet nu inte tar mer än 217 jiffies. Den sista optimeringen vi kan göra, är bara lämplig när arbetet som utförs inte kräver att bildskärmen är aktiv. Genom att stänga av bildskärmen, försvinner en tidskrävande arbetsuppgift, vilket gör att processorn kan lägga mer fokus på BASIC-programmet. På adress 53265 ligger normalt värdet 27, vilket betyder att skärmen ska vara aktiv. Genom att sätta 11 på adressen, stänger man av skärmen, när arbetsuppgiften är klar, kan man aktivera skärmen igen genom att återställa värdet till 27.
0 POKE 53265,11 1 S=TI 2 X=0.01 3 N=16384 4 FOR A=0 TO 255 5 X=X+0.01 6 POKE N,A 7 NEXT 8 S=TI-S 9 PRINT "TIME" S 10 PRINT "RESULT " X 11 POKE 53265,27Vi är nu nere på 205 jiffies för samma arbetsuppgift, vilket är 63% av ursprungstiden på 327 jiffies. BASIC är fortfarande lite för slött för att vara användbart när datorspel ska byggas, men om man väljer BASIC i kommersiell mjukvara, är det viktigt att göra rätt.
De delar av Pirates! som inte kräver realtidsexekvering är faktiskt skrivna i BASIC, och även spelet Artworx Strip Poker var skrivet i BASIC.
-

Disabling loading turbo to make C64 programs work on the TheC64
On a TheC64, you would normally load a program from a disk image rather than a physical disk. If the program consists of a single file, everything is usually fine. But if several files make up the program you want to load, a custom loader is usually involved, and the built in TheC64 turbo will make the program unloadable.
TheC64 solves this problem by looking at the ending characters in the name of the active disk image. The first disk image in my copy of the Comaland 100% demo is not called image1.d64 but image1_adro.d64. The presence of the characters “ad” tells the TheC64 to inactivate the built-in disk turbo, that makes most multipart software fail during load. The presence of the characters “ro” tells TheC64 that the disk is read-only, which makes most abandonedware work.
The manual describes all of the character combinations that the TheC64 understand. You can control joystick ports, among other things. As a TheC64 user, you should make it a habit to add “ad” before the file ending in the image that holds your programs, and “_adro” to the end of any image you download from the C-64 Scene Database. -

Åtta avsnitt av “Inte en singel”
Det har hunnit bli åtta avsnitt av podcasten “Inte en singel” som jag gör tillsammans med Henrik Andersson. I varje avsnitt lyssnar vi på en skiva – åtminstone på låtarna som inte släpptes som singel – och recenserar både musiken och valet av singlar. Avsnitten finns samlade här (MP3/RSS) och på YouTube. Det senaste avsnittet filmade vi.
-

Preserverad SID-musik från 1988
I samband med att jag lämnade staden och flyttade till landet, så gjorde jag mig av med alla mina Commodore-maskiner. Jag passade på att preservera en liten del av mina disketter, men jag kunde inte rädda allt. En av disketterna innehöll fyra SID-låtar som jag programmerade 1988 med Rock Monitor och en sample rip från Funky Drummer. Rock Monitor var en vidareutveckling av Sound Monitor med stöd för samples. Båda programmen var anpassade för att underlätta SID-programmering.
Dessa fyra filer är kanske inte mitt stoltaste ögonblick som musiker, men eftersom det är historia så måste det såklart delas. Samtliga är packade som programfiler med Sledge Hammer. Dessa två är originallåtar:
“Ibburd”:
“The Lennart Song”:
Dessa två är covers. Om jag minns rätt så programmerade jag dessa mest för att lära mig monitorn:
“Push it”:
“Romance d’amour/Du är den ende”:
Hämta prg-fil. Samplingarna låter aningen bättre på en riktig Commodore 64 än i en emulator. Mycket nöje!
-

Sprdef 1.7
Version 1.7 of the Commodore 64 sprite editor for Windows, Sprdef, allows the user to scroll and flip a sprite and fixes a bug with thumbnail updates.

Sprdef version 1.7 Features:
- Undo/redo buffer
- Single color/multi color sprite edit
- CBM prg Studio integration
- BASIC import/export
- Keyboard first editing or mouse first editing
Download: http://winsoft.se/files/SetupSprdef.exe
Sprdef requires .NET Framework 4.8 or later.
-

Commodore 128 Hello world!
Några exempel på hur man kan skriva “Hello world” på den mångsidiga Commodore 128 (1985).
-

Skärmbyte på arkadspelet
Jag äger en nytillverkad klassisk argadmaskin som spelar Jamma-kassetter, där skärmen tyvärr gav upp. Som synes klarar arkadspelet antingen vertikala eller horisontella spel med digital styrning. Jag använder den för vertikala spel.

Det var enkelt att skruva loss den gamla skärmen och sätta den nya panelen på plats, men jag upptäckte naturligtvis lite för sent att jag satte den nya panelen 1,5 millimeter för långt till höger.

Framför skärmen sitter två glasskivor med ett motivtryckt papper emellan, för att dölja skärmens kant.

Här är glasskivorna på plats och listen som håller fast dem är fastskruvade. Här såg jag mitt lilla misstag, men beslutade mig för att skruva ihop den ändå, och justera panelens position i sidled vid ett senare tillfälle.

Så här ser spelkassetterna ut. Idag finns även nytillverkade spelkassetter med flera spel på, men typiskt innehåller kassetterna spel från Pac Man- och Galaga-eran. Så här ser den ut med Ms. Pac Man laddad:

Så nu är det bara att stoppa in en femma och köra igång!

Följ mig på Instagram för fler äventyr:
-

Sprdef 1.5
Sprdef är en sprite-editor för Windows 10 som används vid spelutveckling för Commodore 64 med Windows som utvecklingsmiljö. Version 1.5 integrerar med CBM prg Studio, har undo/redo-buffer, fungerar i både single- och multicolor-läge och kan importera/exportera BASIC-data. Ladda hem programmet här.

Skärmbild av Sprdef 1.5. -

E.T. for Atari 2600
The Atari 2600 was a home gaming console from 1977. The 2600 was a rather primitive machine compared to the later Commodore 64 (1982), but it supported hardware sprites and color graphics, which the Sinclair ZX didn’t. But the introduction price was rather high. $199 back then corresponds to more than $800 today.

Many games were released for the 2600, but one of the most talked about, E.T., was a huge commercial failure. You play as the alien E.T. on Earth, and the objective of the game is to help E.T. get home. Every move you make costs energy, but you can pick up pieces of candy to gain energy.

First, you need to pick up three parts that make up a special phone that can be used to contact the home planet. You can swap 9 pieces of candy for a part, if you like. The parts are found in pits that you fall into, and can levitate out of. To levitate, press fire so that E.T.’s neck is stretched, and when the neck is stretched, you simply levitate higher by pushing the joystick forward.

E.T. has three lives. E.T.’s friend Elliot can bring him back to life when he dies. There is a special object that persuades Elliot to give E.T. a fourth life if it is carried. The game contains two protagonists, a scientist and an FBI agent, who can capture E.T. or steal phone parts from him. If you manage to find all three phone parts, you need to locate a place where the phone works. And after finding this place, you have to locate the place where the spaceship lands, and stay there and await the ship. If you succeed, you progress to the next level where the objective is the same, but the conditions are harder.

The game looks quite good for its time, but it is it is rather buggy and unpredictable. You can fall into a pit without any warning, and it is sometimes rather hard to get out of a pit without falling in again. The best thing about this game, is that you can chat with a friend while playing – the game does not require full attention. This video shows how to complete the first level:
