Programowanie w Kick C dla Commodore plus/4

Ten materiał jest dodatkiem do czteroodcinkowej serii o programowaniu w języku KickC.  Pokazywałem jak zacząć tworzyć grę dla C64. Tutaj zobaczcie jak można zastosować ten język, czyli odmianę C do pisania dla Commodore plus/4.

screen.jpg

Pisząc grę na C64 przyszło mi do głowy a czemu by nie zastosować tego języka do pisania programów dla C+4? Przecież to taki sam procesor i assembler no i bardzo podobna architektura. Jeśli by dobrze ustawić zarządzanie pamięcią to dało by się automatycznie kompilować programy dla plus-czwórki.

No i okazuje się że się da. Kluczem jest tzw plik dla linkera. Nie jest to taki linker jak znamy np z kompilatorów GCC czy podobnych. Tutaj mowa jest o pliku wsadowym który Kick Assembler dostaje niejako od Kick C i używa do odpowiedniego zarządzanie blokami pamięci. Brzmi może enigmatycznie, ale jest raczej prostym zabiegiem, co zobaczycie w filmie.

Tutaj wklejam tylko krótki program, który piszę i uruchamiam w filmie. Możecie zgadnąć co robi, spróbować go skompilować, albo obejrzeć film na naszym kanale. Zapraszam.

#include <multiply.h>
#pragma link("linking.ld")

byte* SCREEN = $0c00;
byte* COLORRAM = $0800;

byte* BGCOLOR = $ff19;
byte* BORDERCOLOR= $ff15;

void main (){
	*BGCOLOR = $0 ;
	*BORDERCOLOR = $0;

	for (word i=0; i<40*25 ; ++i){
		SCREEN[i]=$a0;
	}

	for (byte j=0; j<8; j++){
		for (byte i=0; i<16 ; i++){
			word m=mul8u (40,j);
			COLORRAM[m+i]=(j<<4)+i;
		}
	}
}

Carrion

 



Categories: Artykuły, C plus/4, Film, Programming

Tags: , , , , , , ,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: