Tag: atari basic

Kontrolka RAMdisku 2, Turbo DOS a ine

Pokus o napravenie nefunkcnosti LED kontrolky rozsirenej pamati sa dnes skoro skoncil tragicky, ked moje Atari po jednom hardverovom zasahu zacalo pekne dymiet, resp. konkretne 14 pin obvodu PIA. Pocitac ale funguje.

Po dlhej dobe sa mi podarilo zfunkcnit magnetofon XC-12, par hier som si aj vyskusal nahrat, vyskusal som stare dobre systemy na svojej 800xe – RAMcopy cart, turbo 2000, universal turbo a pod. Neviem preco som v minulosti nepouzival TURBO DOS.. Ide o DOS, ktory priamo z BASICU umoznuje ukladat a nahravat BASIC programy do TURBA 2000.. Skvele :) Na skusku som si nejake moje male BASIC programiky nahral najprv z PC do Atari, potom na pasku cez CSAVE/CLOAD a potom do TURBO 2000.

V najblizsej dobe sa bude asi riesit problem s LEDkou a taktiez S-VIDEO.

Kurz Atari Basicu 0.3

Napiste program, ktory z dvoch zadanych cisiel vybere vacsie.

VSTUP: A, B

VYSTUP: C (vacsie cislo, nez A, B)


10 INPUT "A,B";A,B
20 IF A>B THEN C=A
30 IF B>A THEN C=B
40 PRINT C

V knizke bol uvedeny priklad s podmienenym prikazom a skokmi.


10 REM MAXIMUM Z DVOCH HODNOT
20 INPUT "A,B";A,B
30 IF A>B THEN GOTO 60
40 C=B
50 GOTO 70
60 C=A
70 REM
80 PRINT "MAX:";C
90 END

Nabuduce: Napiste program, ktory z troch zadanych cisiel vybere najvacsie.

Kurz Atari Basicu 0.2

Tento priklad je jednoduchy, v podstate nasobenie, ktore uz ovladam.

Priklad 0.2

Vypocitajte hrubu mzdu pracovnika na zaklade znalosti hodinovej mzdy a poctu odpracovanych hodin.

VSTUP – HOMZ, OH

VYSTUP – HM


10 REM HRUBA MZDA
20 INPUT "HODINOVA MZDA";HOMZ
30 INPUT "ODPRACOVANE HODINY";OH
40 HM=HOMZ*OH
50 PRINT "HRUBA MZDA=";HM
60 END

Dalej predpokladajme, ze pracovnik ma zrazky 5% z hrubej mzdy. Pouzijeme novu premennu SR. V nej bude vyska zrazky zo mzdy


10 REM CISTA MZDA - %5 ZRAZOK
20 INPUT "HODINOVA MZDA";HOMZ
30 INPUT "ODPRACOVANE HODINY";OH
40 HM=HOMZ*OH
50 SR=HM*0.05:REM VYPOCITANU HRUBU MZDU VYNASOBIME 5% A VYSLEDOK ULOZIME DO SR
60 CM=HM-SR:REM ODCITAME
70 PRINT "CISTA MZDA:";CM
80 END

V HM mame napr 12000 (48*250).. 12000*0.05 = 600, to uz je premenna SR.. Ked dalej odpocitame 12000 (HM) – 600 (SR), vide nam hodnota CM.

Program som si este skusil upravit:


10 REM VYPOCET CISTEJ MZDY SO ZVOLENYMI ZRAZKAMI V %
20 INPUT "HODINOVA MZDA";HOMZ
30 INPUT "ODPRACOVANE HODINY";OH
35 INPUT "ZRAZKY V % - 0.00 - 1.00";ZRAZKY
40 HM=HOMZ*OH:REM VYPOCET HRUBEJ MZDY
50 SR=HM*ZRAZKY:REM VYPOCET ZRAZOK
60 CM=HM-SR:REM CISTA MZDA
70 PRINT "CISTA MZDA:";CM
80 END

Kurz Atari Basicu 0.1

Je rok 2009 a je to smiesne. Ataricko som prvy krat pouzival niekedy v minulom storoci, mohol som sa ucit Basic, no nemal som na to chut, vlohy, atd. Dnes som si v Turcianskej kniznici v Martine pozical knizku Basic pro zacatecniky. Priklady mi pripadaju velmi jednoducho opisane, mam si konecne ako co precvicovat. Jednotlive priklady by som tu chcel opisat, aj mne samemu sa zidu v buducnosti. Budu usporiadane podla zlozitosti a napisem ich vzdy po tom, co ich sam pochopim.

Priklad 0.1

Jednou z najjednoduchsich uloh je zamena dvoch premennych. Ak je napriklad A=10 a B=15, tak po zamene bude A=15 a B=10. Cielom prikladu je uvedomit si, ako dochadza k priradeniu hodnoty premennej a ze po priradeni urcitej premennej je povodna hodnota premennej ztratena.

VSTUP: A, B

VYSTUP: A, B, C


10 REM ZAMENA
20 INPUT "A,B";A,B
30 C=A
40 A=B
50 B=C
60 PRINT "A=A";A,"B=";B
70 END

Zacinam sa ucit Action!

Dokonca aj na polskych forach stale zije debata o tomto programovacom jazyku. Z literatury, ktoru mam, citam len chvalu o rychlosti a jednoduchosti. A ano, programovaci jazyk ACTION! je naozaj slusne rychly, na moje zaciatocnicke ucely by to mohlo stacit. Niekedy v juni tohto roku som v Atari Basicu napisal jednoduchy program EUROKALKULACKA :), ktory prepocita staru, Slovensku menu na Eura. Pomaly robim prevod do Action, zaklad je hotovy, len som este nemal cas poriadne si prestudovat literaturu, ktoru mam doma, ale z rychleho prelistovania viem, ze to nebude problem.

Skusal som nejake priklady kompilovat v PC programe Effectus, no tam su jasne problemy, program nepozna urcite vyrazy z klasickeho Action! a pod a vsimol som si, ze je vyrazne pomalsi, ako originalny Action!. Zase klasicky Action!, aspon ten, co mam doma, nepozna sinus, cosinus.. Teda priklad opisany z knizky mi nesiel, zastavil sa pri funkcii cos, ktoru tam bola pouzita. Toto su klasicke priklady toho, preco ma vzdy programovanie odradi. Preto som sa v podstate vykaslal na Assembler, kedze nebolo za akychkolvek okolnosti mozne ucit sa krok za krokom postupy z literatury (3 papierove knizky), pretoze MAC65 mi nikdy nesiel, cartriidge verzia MACu65 fungovala inac, ako ta v knihe a MADS, ci XASM zase nechapali zapis opisany z knizky..

Hadam s Actionom taketo problemy nebudu, dokoncim programcek a mozno, ak to pojde, vytvorim nejaku textovku, demo alebo nieco podobne. Samozrejme, nie hned.

Otazky pre skusenych

1. Ktory assembler na Atari mi umozni skocit do basicu, pouzit podprogram v strojovom kode a navrat spat do assembleru?

2. Dajme tomu, ze mam skusobny priklad.. (poke 710,10)

org $0600
sta #10
lda 710

Ako to vlozim cez prikaz USR(1536) do Atari Basicu? Konvertovat z roznych sustav cisla uz viem. Aj ako zapisat data, len potrebujem presny priklad, aby som sa pohol dalej. Vdaka.

FOR..NEXT v ASM

Studujem, studujem a myslim, ze zacinam chapat. Ucim sa prakticky z kuskov kodu, nejakej literatury na internete a pod. Chyba mi pevna ucebnica, uz aby bola tlaciaren.

Vsetci vieme, ako funguju v Atari Basicu FOR..NEXT. S troskou pomoci som si to skusil v Assembleri. Hlavne som chcel pochopit, ako to funguje a pridal som este nejake efekty z druheho prikladu.

	org $2000
	ldx #0 ;tu zacina nieco ako for.. (zober 0 do x)
	lda #$61 ;vezmeme hex znaku a
opakuj	sta $bc40,x ;vloz hex a x na adresu
	inx ;zvys o jedno
	cpx #40 ;vypiseme 40 krat
	bne opakuj

loop lda 20
	sta 710 ;poke 710..
	iny
	beq loop

	jmp *

Musim prist, ktory prikaz reaguje na stlacenie klavesy, resp. ako vlozit znak A napriklad do stredu prveho riadku..

Stiahnut 1 priklad (znak a)

Stiahnut 2 priklad (40 znakov a)

Stiahnut 3 priklad (plus zmena farieb pozadia)

Ucim sa Atari Basic

Viem, znie to smiesne, ale ked som ho flakal v detstve, chcem to dohnat teraz. Nie je to zlozite a mam uz napisane prve tri, velmi kratke programiky. Ucim sa vacsinou uz z hotovych basicovskych programov, z Atari literaturi a ked nieco vytvaram, pisem uz sam, nepotrebujem ‘napovedu’. Kedze mi dobre nefunguje XC12, musim si vzdy fotakom cvaknut vylistovany program, pripadne zapisat. Chcem pisat viac a viac a pozliepat to do nejakeho amaterskeho Basicovskeho dema :)

XC12, Atari Basic a ATARI klub MARTIN

Situacia s magnetofonom XC12 je poloruzova.. Vymenila sa gumicka, namazal sa a vyhodil sa jeden zbytocny kolik (sluzil, ako kladka), ale magnetofon stale zadrhava kazety, resp. ked sa toci, kazdu polotacku trosku spomali a potom zase ide normalne. Bude treba vymenit hlavu.

Studujem ATARI BASIC, hlavne adresy, poke, peek a PMG. nie je to nic zlozite, len mi treba viac literatury k tymto veciam.

Pamatam sa, ze v roku 2003 skoro v Martine vznikol ATARI KLUB, presnejsie v AMAVETE, mohol som organizovat stretnutia, ale nevyslo to..

Dufam, ze zajtra mi pride epromka s q-megom, teda hned s troma q-megmi – naco je dobre davat tam tri verize q-megu?

Dalsi upgrade master

Zohnal som asi dalsich dvoch ludi, ktori by mali zaujem o hardverove upravy Ataricka a nasiel som kontakt na dalsieho Poliaka, ktory robi podobne upravy (stereo, 1mb, sio2pc). Dnes som oprasil Atari Basic, neskutocne lahucky jazyk.