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

lunes, 10 de agosto de 2026

Circulos, Lineas Bresenham

Una necesidad/pregunta recurrente de antaño es como dibujar de forma rapida y correcta lineas y circulos y Bresenham lo hizo cuando trabajaba para IBM basandise en Midpoint circle algorithm, y depsues aparecieron varias forks.

https://web.archive.org/web/20260414031310/https://schwarzers.com/algorithms/

https://en.wikipedia.org/wiki/Bresenham's_line_algorithm

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

100 GRAPHICS 8
110 COLOR 1
120 A=160
130 B=80
140 R=50

150 X=0
160 Y=R
170 U=0
180 V=4*Y
190 D=3-2*R

200 IF D>=0 THEN 250

210 GOTO 280

250 D=D+4-V
260 V=V-4
270 Y=Y-1

280 PLOT A+X,B+Y
290 PLOT A+X,B-Y
300 PLOT A-X,B+Y
310 PLOT A-X,B-Y
320 PLOT A+Y,B+X
330 PLOT A+Y,B-X
340 PLOT A-Y,B+X
350 PLOT A-Y,B-X

360 D=D+6+U
370 U=U+4
380 X=X+1

390 IF X<=Y THEN 200

 

https://forums.atariage.com/topic/306038-fast-atari-basic-circle/

 

https://forums.atariage.com/topic/301993-missile-command/

I've been reverse-engineering Missile Command off and on. It's one of the many on my to do list.

 

Rob does a similar technique of a linear question found in Activision's Laser Blast, Fishing Derby, and Pitfall!

 

Look at my reverse-engineering of Laser Blast. It may help.

 

Start looking at label .determineAttackerLaserDirection. This is where David Crane determines the direction of the attacker laser and the slope. Then in the kernel at .drawLeadShipKernel he uses the tankLaserSlopeFractionValue to increment tankLaserSlopeIntegerValue. When a carry is determined (i.e. time to increment the integer value) he sets the HMM1 register to fine adjust the tanks laser.

 

Despues salio un algoritmo con antialiasing:

https://en.wikipedia.org/wiki/Xiaolin_Wu's_line_algorithm

 



https://manillismo.blogspot.com/2024/11/compu-programas-atari-utilitarios.html

 

domingo, 5 de julio de 2026

Clues

Una columna de los primeros años de Analog Coputing llamada Our Game.

Enseñaba a programar Basic haciendo un juego en conjunto.




viernes, 3 de julio de 2026

Gusano Gloton

Pequeño gran juego de Microbyte.

Una version minimalista de Worm of Bemer. 

Juego original? chileno.




 


5 REM up 46 - W
6 REM down 62 - S
7 REM left 63 - A
8 REM right 58 - D

10 GRAPHICS 2:? #6:? #6;"        OOOO@"

15 ? #6:? #6;"--------------   "
20 ? #6;" el gusano gloton"
25 ? #6;"--------------------"
30 ? #6:? #6;"    ELIJA RAPIDEZ"

40 ? #6;"       (1-9)"

50 INPUT Z:IF Z<1 OR Z>9 THEN RUN
60 DIM S(999):GRAPHICS 0:POKE 752,1
70 SETCOLOR 2,13,0:SETCOLOR 4,4,0
85 SCR=PEEK(88)+256*PEEK(89)
89 POSITION 1,12:? "OOOO@"
90 FOR K=1 TO 4:S(K)=1:NEXT K

100 A=4:B=1:X=12:Y=5:U=SCR+481:GOSUB 500
105 POKE 764,255
110 IF PEEK(764)=255 THEN 110

114 REM
115 REM ***** LOOP *****
120 F=X:C=Y

130 X=X+(PEEK(764)=62)-(PEEK(764)=46)
140 Y=Y+(PEEK(764)=58)-(PEEK(764)=63)

145 IF X=F AND Y=C THEN 120
150 IF X>=0 AND X<24 AND Y>=0 AND Y<40 THEN 165
160 POSITION 15,11:? "GAME OVER"
162 POSITION 2,21
163 IF PEEK(764)<>33 THEN 163
164 RUN
165 P=PEEK(SCR+40*X+Y)
170 IF P=47 OR P=32 THEN 160
180 IF P=0 THEN 200
190 L=L+P-16:GOSUB 500
200 POKE SCR+40*X+Y,32:A=A+1:IF A=1000 THEN A=1
205 S(A)=(X-F)*40+Y-C:POKE SCR+40*F+C,47
210 IF L THEN L=L-1:GOTO 440
220 POKE U,0:U=U+S(B):B=B+1:IF B=1000 THEN B=1
440 SOUND 0,6,13,13
441 SOUND 1,0,0,0
442 FOR K=1 TO 100-Z*10:NEXT K
443 SOUND 0,0,0,0
444 SOUND 1,11,13,13
445 GOTO 120
497 REM
498 REM ***** SUBRUTINA *****
499 REM
500 M=SCR+INT(RND(0)*24)*40+INT(RND(0)*40)
510 IF PEEK(M) THEN 500
520 POKE M,INT(RND(0)*9)+17:RETURN

 

viernes, 19 de junio de 2026

Pingu

Juego del mismo autor de Wombel que parece ser un spin-off para publicarlo en otra revista alemana Computronic, con algunos cambios (ambos de 1987)

 

jueves, 12 de marzo de 2026

Sargon: a computer chess program

 Libro de Sargon chess que para 1978 fue un gran evento para entender como se programaba un juego de ajedrez.



sábado, 28 de febrero de 2026

NRX demo caracteres ASM

Simple prueba para ver movimiento no suave XD

El desafío constaba solo de mover caracteres reconociendo el mapa, programacion 101, pero en assembler es mas latero.

Proximo paso seria usar PMG, pero quedo congelado sin ETA.


lunes, 16 de febrero de 2026

Time Lost

Entretenido libro que trae unos juegos simples en Basic (type-in).

Lo mejor es que trae un comic introductorio a estos mismos juegos.
Hay que reconocer que no son dibujos del nivel de DC o Marvel, pero se agradece el esfuerzo:






domingo, 21 de diciembre de 2025

TinyELF Basic

Proyecto de ejecutar lenguaje basic en 2600, pero de manera mas avanzada que el original, incluyendo poke, teclado, entre otras caracteristicas.






https://forums.atariage.com/topic/386052-tinyelf-basic-for-the-atari-2600/


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


viernes, 25 de julio de 2025

Computacion 2001, Radio Yungay

Fake?

Al parecer segun Parche Negro es original... por confirmar.

Despues de mucho tiempo por fin dumpearon audios del programa de computacion de Radio Yungay donde compartian programas de computacion para usarlo en cassettes.

1.



2.



viernes, 23 de mayo de 2025

ANTIC Interview 451 - FastBasic

Entrevista hecha a dmsc, en especial respecto a su FastBasic

https://ataripodcast.libsyn.com/antic-interview-451-daniel-serpell-fastbasic

Snippet:

...
169
00:21:10,300 --> 00:21:16,540
He asked me, for example, I want to go display list through. I want to do display list through.

170
00:21:16,540 --> 00:21:20,940
How we can implement that? Ah, we can implement that sentence.

171
00:21:20,940 --> 00:21:25,100
Or he also said, I wrote this program, but it's too big.

172
00:21:25,740 --> 00:21:31,260
What if we add a new abbreviation so we can write this chart?

173
00:21:32,060 --> 00:21:38,220
Okay. We can write a new abbreviation to the compiler to make the, the text chart.

174
00:21:38,220 --> 00:21:42,380
A new, new abbreviation to help make the, the, the programs even shorter.

175
00:21:43,340 --> 00:21:51,340
Exactly. So it feels like cheating
...