Commit Graph

72 Commits

Author SHA1 Message Date
giomba 85ac2cf971 refactoring: wip: move code segments 2021-11-07 20:37:44 +01:00
giomba 51477cff9d some code documentation + memset macro 2021-11-07 20:37:34 +01:00
giomba b19754f3d5 "snake" movement is more fluid
but not perfect, yet
2021-06-01 21:53:34 +02:00
giomba 61515025a5 stable bounce 2021-04-15 14:33:29 +02:00
giomba d13e88b0fd moustache notation 2021-04-14 11:24:36 +02:00
giomba 493d69f669 magic moustaches fixed 2021-04-14 09:50:46 +02:00
giomba a41ae70993 proper intro 2021-04-14 00:30:42 +02:00
giomba 05ed319d93 new demo/intro draft 2021-04-13 23:19:47 +02:00
giomba 2c4130899c updated memory map with new sid 2021-04-12 23:31:21 +02:00
giomba c8199e7144 updated sid tune
new sid tune is bigger than 4k, so charset had to be moved
now (part of) first half of the charset actually is used by the sid
and ignored by the VIC; chars had to be redefined
2021-04-12 23:28:34 +02:00
giomba a82c9e94fe disk and tape loader
the loader is a small program with liblzg only, which loads data from
the snake.pack.lz (from either disk or tape), inflates the ram, and
starts the game
2021-04-12 22:00:04 +02:00
giomba 2f6a4e6735 cartridge + prg binary added in distribution directory 2020-11-21 14:57:53 +01:00
giomba f81f087a13 fixed plain .prg version
actually it takes a "lot" of space more, but it is not a problem and it works,
anyhow a future version with a "fast" loader is required
2020-11-14 19:12:10 +01:00
giomba 55e0a550ea fixed font name 2020-11-14 17:40:30 +01:00
giomba 999844460a ported lzgmini_6502 for dasm, and embedded in this game's code 2020-10-04 20:58:08 +02:00
giomba bb17b78251 updated LICENSE 2020-10-04 17:59:30 +02:00
giomba fa2269afb8 compression routine for cartridge version, temporarily deprecates tape version 2020-10-04 17:51:35 +02:00
giomba d61a7bf284 dual version: prg + cartridge (8k) 2020-09-15 15:10:09 +02:00
giomba 8b8cb19651 current development repository added to readme 2020-04-23 19:01:05 +02:00
giomba 1a6f4bb078 link to the binary file 2020-04-23 12:34:23 +02:00
giomba f426a6d4d7 added distribution binary file .prg 2020-04-23 12:32:51 +02:00
giomba e67a84d669 small fix 2020-04-23 12:29:43 +02:00
giomba e548f48e72 added cute screenshot 2020-04-23 12:26:19 +02:00
giomba 72d5e6b33e to pass the level, you have to get at least 0x40 (64) points 2020-04-23 12:10:08 +02:00
giomba 541f3225c1 added some levels 2020-04-08 11:54:08 +02:00
giomba 86ec781787 levels rotation (first -> second -> ... -> last -> first -> ...) 2020-04-08 11:36:18 +02:00
giomba 977c3cf0e6 printString subroutine generalization 2020-04-08 11:03:03 +02:00
giomba 4498d045de level change + score management 2020-04-08 10:54:54 +02:00
giomba cd1820d834 level introduction screen 2020-04-08 09:15:25 +02:00
giomba 22a5feb2a1 level loading colors with memory saving
loading colors was done in a dummy way by reading color of each tile
from the RLE array; but actually a tile always have the same color, then
this info is redundant; anyhow the character set had to be reshaped
properly in order to make easy infer the tile color from the tile value
2020-04-06 22:53:28 +02:00
giomba 90cc0dbabd final restyling of the custom charset 2020-04-06 22:00:15 +02:00
giomba fcdea3cc08 charset organization improved + doc 2020-04-06 18:44:54 +02:00
giomba c33178ceac some better colors 2020-04-06 16:22:48 +02:00
giomba e828776a14 tiles loaded from level RLE binary now have color 2020-04-02 18:12:39 +02:00
giomba 5f85203028 commented code for level loading 2020-04-02 17:09:57 +02:00
giomba 5fb94c3162 level layout is unpacked on screen correctly 2020-04-02 16:17:48 +02:00
giomba f628645740 first level draft - level txt parser 2020-04-02 01:13:10 +02:00
giomba 70b2b7ad47 repository organization fix 2020-04-01 21:11:08 +02:00
giomba de38d95b74 Unused bug tracker 2018-09-22 11:10:16 +02:00
giomba 5d9248e580 Big memory and repository reorganization 2018-09-22 10:58:10 +02:00
giomba 868d1e6253 Moved gamereset routine to external file 2018-09-16 18:20:48 +02:00
giomba fcc479eaed Tabs to space, official vim adoption 2018-09-14 16:22:01 +02:00
giomba bb86656068 Moved costants to external file 2018-09-14 15:58:31 +02:00
giomba 68456fe39e Memory segments relocation and exposed bugs
- Declared uninitialized segment in zero page: used assembler directives
to reduce errors probability and improve code maintenance; now zeropage
variables addresses are automagically computed by assembler
- Added other debug messages, and rewritten some cycles for good readability and good software engineering
- Fixed more uninitialized stucture bug (maybe I had some sawdust in my
brain when I did this?)
- Fixed concurrency bug in home screen
2018-09-14 15:23:21 +02:00
giomba 299eee1257 Reorganized memory
Now program takes less space in RAM.
All variables, costants and Lists are moved before the SID song,
in a previously unused space (BASIC RAM).
SID song edit has been changed:
	- same song but slightly different
	- takes up a bit less than 4k
	- more catchy :-)
	- perfectly fits in $1000-$2000 and allows...
...the new custom charset to be put at $2000!
	- Taken TGGS font and properly customized with tiles
Now actual program starts at $2800.

Also added some useful code for assembler to output debug infos when
assembling with -DDEBUG=1

In the meanwhile discovered tremendous subtle bug due to uninitialized
structure (listX and listY). Fixed.

Memory map now is:
	+-------------------------------+
0000	| things in zero page		|
	|	and low RAM		|
	+-------------------------------+
0800	| BASIC autostart		|
	| then data (variables,		|
	|	costants and strings)	|	<-- this can be done better using segments. Reminder for the future.
	|				|
	+-------------------------------+
0E00	| listX				|
	+-------------------------------+
0F00	| listY				|
	+-------------------------------+
1000	| SID song			|
	|				|
	|				|
	+-------------------------------+
2000	| TGGS Custom font charset	|
	|				|
	+-------------------------------+
2800	| ACTUAL CODE			|
	|				|	<-- plus some garbage data, see above (segments TODO)
	.				.
	.				.
2018-09-10 21:39:53 +02:00
giomba 70b041cf14 Improved graphics
- Added multicolor graphic mode with custom charset, for text and tiles
- Added some debug options in Makefile

NOTE: code is functioning and correct, but really needs a big cleanup a
logical reorganization!
2018-09-10 15:41:12 +02:00
giomba 0932566285 Edit status bar text
- Removed debug infos (commented out)
- Added score label
2018-09-05 23:10:55 +02:00
giomba a1382611bc Joystick support (port#2) 2018-09-05 22:53:18 +02:00
giomba a15c924d53 Added skeleton for multiplatform development
Just added some preprocessor instructions and some sample code to show
how to use them. This should be useful for the future port on C16.
2018-09-05 22:03:20 +02:00
giomba 78ac2fffa9 Jammed my email address, since I don't want spam 2017-12-27 18:29:24 +01:00