Mostrando las entradas con la etiqueta cc65. Mostrar todas las entradas
Mostrando las entradas con la etiqueta cc65. Mostrar todas las entradas

viernes, 12 de diciembre de 2025

Vintage Computing Christmas Challenge 2025

Hay otro concurso de programacion simple donde la idea es hacer un dibujo en ascii con el codigo mas simple posible.

El meollo es c64, pero tambien acepta todo tipo de plataformas.



 

https://logiker.com/Vintage-Computing-Christmas-Challenge-2025


jueves, 23 de octubre de 2025

cc65-Chess

Chess portable hecho en cc65.

Keys: 

  • arrows keys
  • return

Lento el chess, lo mas simpatico es que es portable.

Esta bugoso, se comio su caballo, y el peon aparecio abajo.

Jugue dos veces, ya que se salto a las negras...

Se agradece el esfuerzo y desarrollo del juego, pero necesita mas trabajo.





https://github.com/StewBC/cc65-Chess




sábado, 4 de mayo de 2024

The Queen's Footsteps

Juego texto de aventura que al parecer fue bien recibido en la comunnidad.

Esta hecho con AWS que como otras herramientas de creacion de textos de aventuras puede tener destino diferentes plataformas

 



http://davbucci.chez-alice.fr/index.php?argument=varie/queen/queen.inc&language=English

https://marcogiorgini.itch.io/the-queens-footsteps-storytllr

 


lunes, 28 de enero de 2019

cc65 cheat sheet

1.
if a variable is declared not on the top of a function then:

line 34:     int i;

hello.c(34): Error: Expression expected
hello.c(34): Warning: Statement has no effect
hello.c(34): Error: `;' expected
hello.c(34): Error: Undefined symbol: `i'
hello.c(34): Warning: Statement has no effect

with c99 this error must not be, but still I'm getting it:

cl65 --standard c99 -t atari hello-c89.c -o hello-c89.xex 
hello-c89.c(12): Error: Expression expected

2.
cl65 -t atari hello.c -o hello.xex
target atarixl provides more free memory. (see 4)

3.
since version 2.13 environment variable is : $(CC65_HOME)

instead of: CC65_INC

4.
Segment `BSS' overflows memory area `MAIN' by 12345 bytes

One possibility is to change start address of your program. The default value is typically 8192, you can try decreasing it to 6144. You can do it by passing the -S 6144 option to the ld65 linker.


https://en.wikipedia.org/wiki/Data_segment

5.
https://cc65.github.io/doc/atari.html
Definitions of memory.

6.
https://www.cc65.org/doc/cc65-2.html
arguments for command line compiler.

-Cl Make local variables static 
-O Optimize code 
-Oi Optimize code, inline more code 
-o name Name the output file 

7.
https://www.cc65.org/doc/coding.html

1. Use prototypes
2. Don't declare auto variables in nested function blocks
3. Remember that the compiler does no high level optimizations
4. Longs are slow!
5. Use unsigned types wherever possible
6. Use chars instead of ints if possible
7. Make the size of your array elements one of 1, 2, 4, 8
8. Expressions are evaluated from left to right
9. Use the preincrement and predecrement operators
10. Use constants to access absolute memory locations
11. Use initialized local variables
12. Use the array operator [] even for pointers
13. Use register variables with care
14. Decimal constants greater than 0x7FFF are actually long ints
15. Access to parameters in variadic functions is expensive

8. Optimizing C array lookups
http://8bitworkshop.com/blog/compilers/2019/03/17/cc65-optimization.html


9. Fácil acceso a Peeks and Pokes" en C.
http://atariage.com/forums/topic/289164-cc65-news-os-structure/#entry4236915

10.
Advanced optimizations in CC65
https://github.com/ilmenit/CC65-Advanced-Optimizations

11.
Global variables
ojala todo sea variables globales asi usamos menos el stack


viernes, 9 de diciembre de 2016

The Commodore Puzzle Book: BASIC Brainteasers

Book by Gordon Lee, LEE, and Nevin B. Scrimshaw

Offers fifty puzzles, problems and games, suggests programs and approaches to the questions, and includes a list of the correct solutions.


domingo, 4 de diciembre de 2016

Scott Adams Driver

Antiguo post que deseo darle un revival a todo lo relativo a cc65

por devwebcl » Vie Oct 19, 2007 6:03 pm
Hello,

Hola,

Una vez mas jugando con el cc65 y Textos de aventuras pude portar el Scottfree

El problema surge despues de la compilacion la memoria disponible es muy pequeña, por lo tanto todos los juegos quedan "out of memory", sin embargo hay un pequeño juego de aventura llamado Cloak Darkness, suficientemente pequeño para ser portado a diferentes dialectos de juegos de textos de aventura (es similar al Hola Mundo).

El juego puede ser bajado desde http://devwebcl.atarionline.pl/cc65/cloak.xex


Como se puede ver es una liberacion bien alpha, donde no hay control del despliegue (como usualmente es en este tipo de juegos).

La idea final era ver si era posible algo con este parser , compilar y ser funcional en el a8.

sábado, 3 de diciembre de 2016

sábado, 2 de enero de 2016

First Chess cc65

Un ajedrez de  Pham Hong Nguyen que porté tiempo atrás.

Publicacion atariware:
existe varios codigos abiertos sobre ajedreces que intentan mas que nada enseñar a programar uno de estos -como TSCP http://home.comcast.net/~tckerrigan/ - en todo caso el First Chess http://www.geocities.com/axchess/firstchess.html es uno muy simple -que juega mal, capaz que sea mejor que el que aparecio en panorama bits :wink: - pero lo bueno que es trivial compilarlo en el cc65 y jugarlo :P

Buscando mas info para cc65, eonctré un sitio con una recopilacion exhaustiva de chess engines, frontends, etc.. Donde se menciona este port y muestran el screenshot de atari :P

https://chessprogramming.wikispaces.com/Firstchess

Lo exotico, es que este juego no fue creado originalmente para cc65, pero por su simpleza fue viable portarlo.


martes, 13 de octubre de 2015

Account/Cuenta Ghostbusters Atari

Basado en el codigo y trabajo de:
-------------------------- 
Based on code from:
    printf("  Original analysis: Zlin\n");
    printf("  http://goo.gl/8jgCvo\n\n");
    printf("  C++ Code: pararaum\n");
    printf("  https://goo.gl/EHS7aZ\n");

Hice un "port" a cc65:
--------------------------
I made a "port" to cc65:


Para mas detalles ver los posts originales:
--------------------------
For more details check the following posts:

http://manillismo.blogspot.cl/2015/10/cuenta-ghostbuster.html

http://manillismo.blogspot.cl/2010/02/ghostbusters.html

Archivo esta publicado en thread:
--------------------------
File is published in the following thread:
 http://atariage.com/forums/topic/32274-ghostbusters/#entry3343586


UPDATE1:

Como es sabido cc65 tiene varias plataformas como target, entre otras:
(cuales tambien existe Ghostbusters como juego):
--------------------------
As we know, cc65 has different target platforms, among them:
(the game Ghostbusters exits in these platforms as well)



UPDATE2:

Subí la fuente de este port a github:
--------------------------
I uploded the source code of this port at github:

https://github.com/devwebcl/cc65-samples/blob/master/src/ghostbusters/ghostbcc.c


miércoles, 27 de junio de 2012

Sieve of Eratosthenes

TODO: hay un bug en el codigo, probar lo nuevo en cc65.. la version de action ta mala :(

Sieve of Eratosthenes o la Criba de Eratóstenes

Byte: http://www.xgc.com/benchmarks/sieve_c.htm

TODO: revisar: probar: http://www.atarimagazines.com/v7n7/SuperSieve.html

FIRST ST PERFORMANCE TEST
http://www.atarimagazines.com/v4n6/STperformancetest.html
Computer Operating System Language Run Time (Sec.)
68000 Atari 520ST TOS C Digital CP/M 68K 3.8
68000 Apple Macintosh - C Manx 7
68000 Apple Macintosh - C Hippo L2 13
Z8001 5.5 MHZ Unix C 1.97
Z8000 Z-Lab Zeus Unix C 4.8
Z80 CP/M Digital Basic 15.7
Z80 CP/M MicroSoft COBOL 5115
6502 Atari 800 OS Rev.B ACTION! display off:
display on:
12.2
17.9
6502 Atari 800 OS Rev.B BASIC 389
6502 Atari 800 OS Rev.B BASIC XL 214
ADVAN COMPILER BASIC
http://www.atarimagazines.com/v4n12/Compiler.html
Advan BASIC is filled with shortcuts like this. By the way, it ran my version of the Sieve of Eratosthenes in 13.8 seconds. The MMG compiler took 9 seconds, BASIC XL took 67 seconds and Atari BASIC hasn't finished yet. If that isn't fast enough, you can rewrite key routines in assembly language from within BASIC. Advan BASIC recognizes assembler mnemonics almost as if they were BASIC keywords. Not only is this great for people who know assembly language, but it can be a teriffic learning environment too.

ADVAN OPTIMIZER
http://www.atarimagazines.com/v6n2/BASICBonanza.html
Advan BASIC was already pretty fast. Now it's the fastest BASIC in Atari history. In our Sieve Benchmark, the Advan Optimizing Compiler is about four times faster than the MMG Compiler, six times faster than regular Advan, 20 times faster than compiled Turbo-BASIC XL and 120 times faster than uncompiled Atari BASIC. In fact, it's more than half the speed of ACTION!- that's getting real close to pure assembly language.

Lights, Camera, ACTION!
http://www.atarimagazines.com/hi-res/v1n4/action.php

Language Compile
Time
Object
Code
Run
Time
BASIC
FORTH
Action!
C (Z-80)
---
3 sec
< 1 sec 132 sec
443
114
423
290
3140 secs
168 secs
18 secs
14 secs


-->KYAN PASCAL
http://www.atarimagazines.com/v4n7/kyanpascal.html
The resulting object file has a very rapid run-time. Ten iterations of the Eratosthenes Prime Number Sieve (see "First ST Performance Test," Antic, October 1985) ran in about 120 seconds with the screen on. With the screen off, the same program ran in just 80 seconds.

http://devweb.cl/atari/cc65/sieve_gg.c
http://devweb.cl/atari/cc65/sieve_gg.xex



PD; post pendiente desde 2009 :S

martes, 30 de noviembre de 2010

Guaton 1.0b

Este es un abandoware que encontré en mis respaldos. El clásico clon de pacman.

Lo empecé en a8 en Turbo Basic XL y terminé en Turbo Pascal 5.5. Quizás es un buen proyecto para hacer en cc65

jueves, 18 de noviembre de 2010

robotfindskitten.org

Me ganaron en la conversión, pero es una versión genérica 6502 y que compiló a la primera: http://devwebcl.atarionline.pl/cc65/rfka8.xex


La página original de este juego es http://robotfindskitten.org/
El código original del cual solo compilé esta versión para a8 es sacado desde: http://www.sporktania.com/rfk/
(acá esta las versiones para apple2 y c64).

Quizás el siguiente paso sería generar (o mejorar) usando más colores o algo de ese estilo.

Plexar was here