Skip to content

une petite api pour le C64 et CC65 (A télécharger pour ce dernier)

Notifications You must be signed in to change notification settings

Monos1984/happyc64

Repository files navigation

**************************************
***            Happy C64           ***
**************************************
Librairie de fonction en C pour programmer le commodore 64 avec le compilateur CC65
Ecrit par Loïc Lété (Jean Monos)

=========================
* Licence d'utilisation *
=========================
- La librairie ne peux pas être vendu.
- L'utilisation de la librairie dans les programmes commerciaux est autorisé.
- Le Droit auteur : Un petit "Fait avec HappyC64" Ou ce genre de chose est très apréciable. 
- Le code source de Happy C64 est présent, vous pouvez le modifier pour votre utilisation et le redistribuer sous les mêmes conditions.

==============================
* Changement de la librairie *
==============================
mise à jour le 10/09/2023

===============================================
============= Version 0.2.x.x =================
===============================================

===================================
* Changement 0.2.5.0 (10/09/2023) *
===================================


- Correction de la fonction RLE
- Ajout de la fonction hm_get_id_tiles(..) pour récuperer l'id tiles du buffer map.
- Ajout de la fonction hm_draw_meta_tiles(.....) 
- Ajout de la fonction wait_key_release();
- Changement de prototype dans le draw_texte pour passer de unsigned char * en char* pour les chaines.
- Correction de divers "cast" dans le module texte et D7.
- correction dans le generateur aléatoire. On passe avec le Srand de la lib.

===================================
* Changement 0.2.4.1 (19/10/2022) *
===================================
- Amélioration de la fonction draw_text_value_8(...).
- Amélioration de la fonction draw_text_value_16(...).

===================================
* Changement 0.2.4.0 (21/09/2022) *
===================================
- Ajout de fonction pour gérer une map en toute simplicité.

=======================
* Changement Hors Lib *
=======================
- Ajout du dossier cartridge qui contient deux fichier cfg, deux fichier objet 
- Ajout du logiciel mcart.exe recompilé pour fonctionner sur un os windows64bits.
 
======================
* Changement 0.2.3.5 *
======================
- Correction dans le header de la fonction set_sprite_multicolore_on()
- Ajout de fonction pour gérer le paddle. (Bêta et non documenté)
- Modification du makefile pour compiler vos projets en cartouche standard 8 et 16ko.
- Ajout de .bat de compilation

======================
* Changement 0.2.3.0 *
======================
- Ajout de la fonction get_color_map(...)
- Ajout de la fonction get_id_character(...) 

======================
* Changement 0.2.2.0 *
======================
- Activation de la fonction init_adr_irq();

======================
* Changement 0.2.1.1 *
======================
- Correction sur la fonction draw_sprite().

======================
* Changement 0.2.1.0 *
======================
- Ajout de la fonction wait_time(value); qui permet d'attendre un certain nombre de VBL.
- Amélioration de la fonction get_rnd() et get_rnd16().

======================
* Changement 0.2.0.0 *
======================
- Mise à jour du code source de la librairie. Le code source est séparé par theme.
- Diminution de la taille du programme dans la plupars des cas.  

===============================================
============= Version 0.1.x.x =================
===============================================

======================
* Changement 0.1.5.1 *
======================
- Correction de la fonction set_sound() pour jouer du son sur commodore 64.

======================
* Changement 0.1.5.0 *
======================
Ajout de fonction pour manipuler le mode bitmap
- Void draw_pixel(unsigned int px,unsigned int py)
- Void set_bitmap_color_map(unsigned char px, unsigned char py, unsigned char color_ink, unsigned char color_background)
- Void cls_bitmap_color_ram(unsigned char ink_color,unsigned char background_color)
- Void cls_bitmap()

======================
* Changement 0.1.4.0 *
======================
Ajout de trois fonction pour tester un bit dans un octet.
- get_bit(id,value)
- set_bit(id,value)
- unset_bit(id,value)

======================
* Changement 0.1.3.0 *
======================
- ajout de commande pour utiliser une extension REU simplement
- amélioration interne de la fonction draw_character_line_H()
- Ajout de get_rnd16(max_number)
- Ajout de set_shift_off()
- Ajout de set_shift_on()

======================
* Changement 0.1.2.0 *
======================
- Ajout du paramètre slow_wait_letter dans draw_text();
- Ajout de la fonction draw_bloc_text();
- Ajout de la fonction wait_key();
- Les define du joystick débute maintenant par un J_

======================
* Changement 0.1.1.0 *
======================
- Ajout de la fonction get_error() qui permet de renvoyer le code d'erreur d'un chargement de fichier.
- la fonction load_file(...) renvois le nombre d'octet chargé en mémoire. (Si 0 = une erreur)

======================
* Changement 0.1.0.0 *
======================
Grosse modification des noms de fonctions.

- load_pattern devient set_data_character()
- draw_full_charset devient draw_full_character
- draw_charset devient draw_character
- draw_charsetligne_v (et h) passe en draw_character...
 (note le terme charset est remplacé par character)
- set_pointeurs_sprites devient set sprite pointers
- draw_valeur_8 (et 16) devient draw_text_value_8 (et 16)
- set_pointeur_text devient set_text_pointer()
- activation de get_adresse_screen_memory


===============================================
============= Version 0.0.x.x =================
===============================================

=======================
* Changement 0.0.10.0 *
=======================
- Ajout de la fonction void rle_decompression(); qui permet de decompresser des datas en mode RLE.

----------------------
* Changement 0.0.9.0 *
----------------------
- Ajout de PEEKW() et POKEW() qui permet de lire une valeur 16 bits dans la mémoire.

----------------------
* Changement 0.0.8.0 *
----------------------
- Ajout de la fonction draw_charset_line_H() et draw_charset_line_V()
- Ajout de la fonction cls_color_map()

----------------------
* Changement 0.0.7.0 *
----------------------
- Ajout de la fonction draw_text();
- Ajout de la fonction set_pointeur_text();
- Ajout de la fonction draw_valeur_16() et draw_valeur_8() qui permettent d'afficher des valeurs 8 et 16 bits meme contenue dans une variable char ou int.
- modification interne du cls(id_tiles). On passe par un memset au lieu de boucle. Amélioration de vitesse.

----------------------
* Changement 0.0.6.0 *
----------------------
- Ajout de la fonction pour changer le background 3 pour le mode extended.

----------------------
* Changement 0.0.5.0 *
----------------------
- Ajout de la fonction load_file() 
- Ajout de la fonction save_file()
- Correction des adresses du timer A et B.

----------------------
* Changement 0.0.4.0 *
----------------------
- Correction de bug lord du changement de vic bank. La variable generique pour poser un tiles n'était pas mis à jour au bonne endroit.
- Ajout d'une fonction pour modifier l'adresse (internet) de la tilemap pour utiliser les fonctions propre draw_tiles.
- Changer de vic_bank et de pointeur de screen change automatiquement cette variable !

----------------------
* Changement 0.0.3.3 *
----------------------
- Le chargement des Assets (Sprite et charset) ne se font plus par boucle for, mais par memcpy !

----------------------
* Changement 0.0.3.2 *
----------------------
- Correction d'une parenthèse dans la fonction set_interruption_on();
- Wait VBL opérationel. (Ce n'étais pas le cas jusque la)
- Les fonctions du fichier cbm.h sont accecible.
 
----------------------
* Changement 0.0.3.1 *
----------------------
- Correction d'une erreur avec le choix de la couleur du paper
- léger Amélioration de vitesse pour afficher un tile à l'écran 

----------------------
* Changement 0.0.3.0 *
----------------------
Ajout de get_system() qui permet de tester si la machine est en PAL ou en NTSC

About

une petite api pour le C64 et CC65 (A télécharger pour ce dernier)

Resources

Stars

Watchers

Forks