Página 1 de 2

Tutorial de Assembler para ATARI

Publicado: Sab Abr 13, 2013 10:59 pm
por fcatrin
Hola!

Como adelanté en un post por ahí, me lancé a escribir un tutorial de Assembler para ATARI. Aun falta mucho pero creo que ya tiene suficiente material para que los interesados vayan revisando. (Release early, release often).

Tratenlo con cariño, esto recién comienza:

http://franco.arealinux.cl/atari-assembler-paso-a-paso/

Re: Tutorial de Assembler para ATARI

Publicado: Dom Abr 14, 2013 2:23 am
por dogdark
y seguimos el hilo para estudiar gracias franco.

Re: Tutorial de Assembler para ATARI

Publicado: Dom Abr 14, 2013 11:30 pm
por Idk
Excelente! :mrgreen:

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 12:19 am
por bighead
se ve excelente :D

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 12:44 am
por renix
Si...excelente enfoque... no hay ningun texto asi... que yo tenga... y tengo varios :)

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 12:56 am
por xt5
muy buen tutorial, hay harta pega metida allí.

y como dice Franco, no hay que preocuparse de no entender a la primera, generalmente esta cosas requieren varias pasadas con tiempo de maduración entre medio.

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 11:52 am
por dogdark
uuu yo no sabia como aplicar el return dentro de una rutina, ahora se como se aplica y para que sirve, de a poco se aprende y por fin estoy entendiendo, esta muy bien explicado

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 1:23 pm
por fcatrin
dogdark escribió:uuu yo no sabia como aplicar el return dentro de una rutina, ahora se como se aplica y para que sirve, de a poco se aprende y por fin estoy entendiendo, esta muy bien explicado
Que bien! Esa es la idea!!

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 3:04 pm
por Nes_milio
Gracias Franco por el aporte... alguna vez estuve intentando aprender Assembler (era chico), y me costò un montòn lo bàsico. Aquì està bien explicado, veremos si le aplico nuevamente. La revancha.

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 5:59 pm
por foxer
Me estoy entusiasmando con el curso, creo que me estoy decidiendo a aprender assembler para el Atari, nunca supe como hacían aquel efecto tan aplicado en esos años, Rainbow parece que se llamaba. Me quedó clarito. Muy buena iniciativa la de este curso, esperando las próximas lecciones.

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 6:03 pm
por renix
Se las mandó franco...

Re: Tutorial de Assembler para ATARI

Publicado: Lun Abr 15, 2013 11:52 pm
por Manuelink64
Empece a leerlo y esta EXCELENTE, increíblemente bien explicado.
Yo se Assembler del 8085, PIC y Atmel, pero el Atari es mas complejo, y tu lo haces ver tan fácil, solo espero
que alguien no tan habido, pueda interiorizarse, quizás debería haber algún pre-requisito, como entender las funciones y aritmética booleanas, números hexadecimales, registros, etc

¿has hecho otros tutoriales?, me encantaría leerlos...y si fuese posible tenerlos en PDF ;)

Saludos!

Re: Tutorial de Assembler para ATARI

Publicado: Vie May 10, 2013 12:34 pm
por dogdark
miren muchachos yo uso el assembler editor y esta el adjunto y tengo problemas al grabar el proyecto en el disco uso los siguientes comandos

LIST (GATO)D:UNO.BAS

LIST (GATO)D:1UNO.BAS

SAVE (GATO)D:UNO.BAS

y con ninguno me graba en la disquetera solo el cassette me da resultados con

LIST (GATO)C:

esto me refiero a un atari real y adjunto el programa que uso, pensé que era porque no tiene el dos incorporado, también hice lo siguiente, carge el dos 2.5 y luego el archivo editor.com que viene en el disco de assembler y ni asi funciona la grabación en disco.
¿será el atr que cargue desde el pc hacia el atari?

Re: Tutorial de Assembler para ATARI

Publicado: Vie May 10, 2013 12:44 pm
por fcatrin
Sólo para descartar posibles errores... imagino que con

LIST (GATO)D:UNO.BAS

te refieres a

LIST #D:UNO:BAS

Intenté cargar el ATR, pero la opción A me pide un nombre de archivo, la opción B no hace nada, y la C me lleva al Microsoft Basic

Cómo lo usas?

Re: Tutorial de Assembler para ATARI

Publicado: Vie May 10, 2013 3:06 pm
por AsCrNet
Mijo no será que tiene de solo lectura el ATR desde el pc, ya que está usando el atari real :roll:

Saludos

Re: Tutorial de Assembler para ATARI

Publicado: Vie May 10, 2013 4:40 pm
por dogdark
franco si lo usas en el emulador debes tener el Basic habilitado y es la opción b luego te aparecerá EDIT y si me refería a

LIST #D:UNO:BAS

es que mi note no puedo hacer el # ahora te lo copie a ti para ponerlo acá en el foro jajajjaja

y ascrnet la verdad no se, porque yo lo traspase a la disquetera y desde ahí hago todo el procedimiento, no ocupo el sio para cargar programas, cargo directo desde diskettes en el atari real

Re: Tutorial de Assembler para ATARI

Publicado: Jue May 16, 2013 2:26 am
por dogdark
tengo una duda

tengo el siguiente codigo que es una monada que estoy haciendo para aprender assembler

coloco el fondo negro (poke 710,0), doy luminancia (poke 710,10), margen a 0 (poke 82,0)
e imprimo en pantalla barras ,,, pero me queda muy largooooo, como puedo pasar estos caracteres como un .byte

Código: Seleccionar todo

	* = $6000
inicio
	lda #0
	sta 710
	lda #10
	sta 709
	lda #0
	sta 82
	lda #$11
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
	lda #$12
	jsr $f2b0
loop
	jmp loop
	.word inicio
me refiero a los hexadecimales el 11 y el doce o sea dejarlos como .byte 11,12,12,12,12,12,12,12,11

me volvi loco trantando de hacerlo pero no me funciona con .byte algo hago mal
puse
inicio
lda #datitos,x
jsr $f2b0
datitos
.byte 11,12,12,12,12,12,12,12,11
y no me funciona, que hago mal??

Re: Tutorial de Assembler para ATARI

Publicado: Jue May 16, 2013 10:50 am
por AsCrNet
No te olvides que en Assambler tienes que hacer todo de forma manual. Lo que te falta es un ciclo, en ATARI BASIC se usa FOR para la función que requieres.

Código: Seleccionar todo

    ldx #0
LeerDATOS
    lda datitos,x
    jsr $f2b0
    inx
    cpx #8
    bne LeerDATOS

    RTS

datitos
   .byte 11,12,12,12,12,12,12,12,11
Usando el acumulador X para controlar la cantidad de byte a leer desde la etiqueta datitos, si no es el total de bytes siga leyendo.

Saludos

Re: Tutorial de Assembler para ATARI

Publicado: Jue May 16, 2013 12:11 pm
por dogdark
AsCrNet te agradesco por el codigo , pero tengo el problema que se repite y no se detiene la idea es que lea los hexadecimales y cuando llegue al ultimo se detenga y no se siga repitiendo, estoy recien aprendiendo el assembler perrin

en basic seria asi el codigo

Código: Seleccionar todo

10 gr.0
20 poke 710,0, poke 709,10
30 read a
40 print chr$(a);
50 if a=1000 then goto 5000
60 goto 30
5000 print "fin"
6000 data 11,12,12,12,12,12,12,12,12,11,1000
no va con un for si no con un if para terminar la ejecucion con ese valor

Re: Tutorial de Assembler para ATARI

Publicado: Jue May 16, 2013 12:47 pm
por fcatrin
Tendrías que definir un marcador para el fin de string. Normalmente se usa el "0" o algun otro valor inválido.

Modificando el codigo de AsCrNet podría ser algo así:

Código: Seleccionar todo

    
    ldx #0
LeerDATOS
    lda datitos,x
    cmp #0
    beq end
    inx
    jsr $f2b0
    jmp LeerDatos
end
    RTS

datitos
   .byte 11,12,12,12,12,12,12,12,11,0
Otra opción es dejar el largo parámetrico así:

Código: Seleccionar todo

    ldx #0
LeerDATOS
    lda datitos,x
    jsr $f2b0
    inx
    txa
    cmp largo
    bne LeerDatos
    RTS

largo
   .byte 9
datitos
   .byte 11,12,12,12,12,12,12,12,11