SHARP PC-1500A
Sve koji imaju i sa nostalgijom se sjećaju tog džepnog kalkulatora mogu se podsjetiti koliko je to bila revolucionarna naprava:
40 sati rada sa jednim punjenjem baterija
300 bauda prenos programa i podataka na kazetofon
5,6K memorije
10 puta sporiji od ZX Spectruma
uz dodatak originalnog plotera (+cmt interface) mogao je iscrtavati rezultate na 60mm traci
Upornim radom i disasembliranjem sistemske memorije uz upotrebu originalnog manuala dobilo se:
sa 4MHz oscilatorom ubrzanje 150%
predefinirana upotreba tastature i dodani HR znakovi (+grčki i drugi korisni znakovi)
ugradnjom 128K rama dobilo se 28k rama za BASIC, 2*32K RAM diska, 2*16K za sistemske programe
preuređenjem protokola za kazetofon, ubrzanje komunikacije ukupno 4,2 puta (cca 1200 bauda)
optocouplerski interface za PC (u svrhu spremanja i printanja programa na PC-u)
isprogramiran compiler asembelerskih naredbi (koje se prevode kao basic) u slobodnih 3,2K sis. mem.
isprogramirane dodatne basic naredbe (množenje polja=100 puta brže, višeprogramska organizacija, itd.)
rad sa više basic programa u memoriji te jednostavna mogućnost editiranja pojedninog BASIC bloka
.... i na kraju je još ostalo slobodno 21K za sistemske programe
Implementiranjem algoritama napravljeni su
brza furierova transformacija FFT
frekvencmetar (50-16000Hz) na CMT ulaz / digitalizirani osciloskopski prikaz ulaza
DC analiza mreža (metoda petlji - elementi su otpornici, naponski izvori,..)
AC analiza mreža (slična je svojedobno prodavana od strane Viktora Keslera). Ova verzija koristi brza matrična množenja, redimenzioniranje polja u memoriji i drugo - elementi petlji su R, L, C, Naponski izvori, Zavisna naponska pojačala sa amplitudnom i faznom karakteristikom koja se može zadati funkcijom, ...
program za organizaciju i kompiliranje novih BASIC naredbi te njihovo aktiviranje.
program za izvršavanje asemblerskih naredbi korak po korak (čak i po sistemskom romu)
program za prekidanje bilo kojeg asemblerskog programa (čak i u zatvorenoj petlji)
program za spremanje i učitavanje programskih blokova iz RAM diska (2*32K)
itd...
Ako ima zainteresiranih koji su htjeli, ali nisu nikad uspjeli napraviti nešto slično slobodno ćemo razmjeniti iskustva (mada je dobar dio već zaboravljen). Većina bitnih stvari je zapisana. Inače, cijela pamet stane na jednu dodatnu karticu (slobodan slot) koja košta oko 400kn. Dodana programska memorija je podržana baterijom (jer je u RAM-u). Nedostatak sklopa je mogućnost pada sustava zbog praznih baterija za backup. Sustav se tada može podići ukucavanjem 1K jednostavnog basic loadera te uz pomoć optocouplerskog PC interface-a učitati za sat vremena mašinski program (2K) za rad sa kazetofonom. Nakon toga se učita ostatak dodatnih sistemskih rutina (za par minuta).
Sve sheme (memorijskog proširenja, CMT interface-a) i program za DOS (spremanje i učitavanje programa sa prastarog PC-a umjesto sa kazete) se može besplatno dobiti na zahtjev (sheme koštaju koliko i kopiranje i poštarina).
Popis pridodanih basic naredbi i funkcija (vlastiti programi)
Blok naredbi za višeprogramsku strukturu (definitivno potrebne kada imate 28K programske memorije)
CLM - naredba - briše zadnji BASIC blok iz programske memorije
SEM - naredba - otvara novi BASIC blok u programskoj meoriji (merge blok)
MOV - naredba - kopira traženi programski BASIC blok na zadnju poziciju
LML - naredba - list zadnjeg programskog bloka
CSV - naredba - sprema jedan ili više programskih blokova u nizu na CMT
Komande koje ubrazavaju rad sa poljima (100 puta)
CLD - naredba - poništava dimenzioniranje određenje varijable - selektivno
COPY - naredba - kopira polja u polja (300 puta brže nego BASIC komandama)
SUM - naredba - zbraja dva polja
SUB - naredba - oduzima dva polja
MULT - naredba - množi polje sa poljem
MULF - naredba - množi polje sa koeficijentom
MULA - naredba - množi polje sa poljem i doda ga
MULS - naredba - množi polje sa poljem i oduzme ga
Naredbe za zadavanje fukcija koje se mogu mijenjati (bez promjene programa)
KOD$ - funkcija - tokenizira string u string sa basic tokenima (kodira basic naredbe)
EXEC - naredba - izvršava funkciju zapisanu u stringu npr EXEC A="SIN(B)"
EXEK - naredba - izvršava LET komadnu u stringu npr EXEK "A=SIN(B)"
Komande za pojednostavljenje programiranja kod inputa i grananja
CODE - funkcija - keyboard input jednog karaktera uz čekanje na input
CASE - funkcija - serijski komparator - daje broj koji odgovara prvoj ispunjenoj komparaciji
CHANGE - naredba - input koji nudi vrijednost varijable na izmjenu
Ostalo
DPEEK . funkcija - word PEEK
DPOKE - nareba - word POKE
OSC - naredba -digitalni jednobitni oscilogram CMT ulaza
DISP - naredba - uključenje i isključenje displaya
BREAK - naredba - onemogući break
CUP - funkcija - očitava poziciju grafičkog kursora
SOUND - naredba - parametarska zavijajuća sirena
SCREEN - naredba - sprema ili vraća grafički sardržaj ekrana u slobodni RAM (za brze animacije)
HEX$ - funkcija - pretvorba u hexadecimalni broj
DEK - funkcija - obrnuto od HEX$
ASM - naredba - komanda kojom se definira start i kraj asembliranja asembelrskih naredbi
Sve navedene komande zauzimaju samo 6,8K. Tek sa ovim dodatnim komandama imate pravu komociju u programiranju. Integrirani asembler omogućava asembliranje direktno u RAM (između programa i varijabli), a najvažnije je da se asemblerske naredbe komotno mogu mijenjati (dodavati i brisati). Testiranje asemblerskih rutina može se obaviti sa postavljanjem mrtvih petlji iz kojih se izvučemo upotrebom vlastitog programa BREAK-INT. BREAK-INT omogućava pregled stanja registara u trenutku prekidanja programa.
Više podataka o PC-1500A možete naći na stranici http://www.pc1500.com/ . Tu možete naći i PC emulatore raznih SHARP pocket computera te programe za spremanje i učitavanje sa PC-a (preko sound kartice)
19.07.2008. Važna obvijest za sve posjednike tog računala:
Velika je vjerojatnost uništenja kalkulatora zbog korozije pod utjecajem agresivne kemikalije koja se razvija raspadom gumenastog ostojnika između PCB pločica. Prvi znakovi su čudne sjene na LCD display-u. Hitno treba obaviti čišćenje i zamjenu tog odstojnika. U protivnom se može nepovratno uništiti LCD te kontaminirati tiskane pločice do te mjere da se ne mogu više očistiti.
Na slici je izgled mutiranih odstojnika izvađenih iz dva kalkulatora:
Radio Shack TRS80 - Američka verzija nema tog problema jer tamo nije ugrađen odstojnik.
|