ebook img

Atom News 1996 Number 1 PDF

40 Pages·1996·0.88 MB·
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Atom News 1996 Number 1

AOM 016005 18800408 e (8 ШИП 31 | DISR 99-0 SAM үү үрүү. A \ AAP AWA АР UW -р. 2 UIT DE FEDERATIE / VAN DE REDACTIE FEDERATIE VAN ATOMCLUBS NEDERLAND - BELGIE. Voorzitter : Secretaris: Penningmeester: P.v.Kuik J.Hartog T.Rutten Zuideinde 54-a Keyenbergseweg 60 Berkenlaan 24 1843 JP Groot-Schermer 6871 WK Renkum 3737 RN Groenekan tel. 0299-67.19.02 tel. 0317-31.37.57 tel.0346-21.34.95 fl. 25,00 Contributie 1996 Atom Computerclub ; Giro 5244293, Redactie Atom Nieuws Redactieadres A.N. Ledenadministratie B.Tossaint 043-343.16.75 B.Tossaint T.Rutten W.Truijen 00-3289564792 Fatimaplein 85 Berkenlaan 24 R.Leurs 0345-57.29.70 6214 TW Maastricht 3737 RN Groenekan tel. 043-343.16.75 tel.0346-21.34.95 UITERSTE DATUM INLEVERING KOPY VOOR NR. 15-2 : 1 JUNI 1996 Clubwinkel ATOM-BULLETIN-BORD speciaal v. ATOM-in-PC J.Hartog R.Bronsdijk Unicorn BBS (H.Derksen) Keyenbergseweg 60 026-422.55.06 in de gebieden 6871 WK Renkum inloggen op ATOMFILE en ATOMMESSAGE de tel.0317-31.37.57 tel.020-651,28.16 laatste versies ATOM-PC - systeemsoftware . VAN DE REDACTIE . Even leek het erop dat dit een Roland-nummer zou worden . Maar toen kwam er toch nog een seintje van Leendert en werd ikzelf geconfronteerd met een aantal oude programma's om een man met beperkt gezichts-vermogen aan bezigheden te helpen. En, beginnen we dus welgemoed aan ons derde lustrum !!. Voor de toekomstvisie , zie pagina 22 Mede naar aanleiding van een hartekreet van Henri Derksen, deze keer weer eens een ledenlijst met de nieuwe telefoonnrs.erbij. Namens de redactie Bruno Tossaint N.B, De inhoud van de regio-schijf volgende uitgave INHOUDSOPGAVE / UITNODIGING JAARVERGADERING p. 3 INHOUDSOPGAVE Pag. Titel Schrijver 2 Uit de federatie 2 Van de redactie 3 Inhoudsopgave 3 Uitnodiging Jaarvergadering 4 -5 True-CPU R.Leurs 6 - 10 Atom een rekenwonder R.Leurs 11 - 17 Going round in circles L.Bijnagte 18 - 21 Geschiedenis v.h. floating p.project L.Bijnagte 22 - 24 Contributie 1996 ; ja nog een keer R.Leurs H.Derksen 25 - 28 ATOM-in-PC reset extension vector R.Leurs 29 - 33 XMS-geheugen R.Leurs 34 - 37 Grote letters B.Tossaint 38 Noodkreet van een schrijver L.Bijnagte 39 Ledenlijst 40 Regioadressen en regionieuws 8.0,0,-0809-088 VOORJAAR (990 DATUM : 27 APRIL 1996 ‚van ca. 10.00 tot ca.17.00 u. PLAATS : PAROCHIECENTRUM ,Melkweg 5,DE BILT. Op de A27 de afslag Utrecht-Oost,maar let vooral op de kleine witte aanduiding -VEEMARKT-, de Biltse Rading afrijden tot de splitsing Groenekan/Bilthoven ‚hier r.a. ,20 meter verder 1.а. Voor busreizigers : Vanaf Utrecht CS lijn 57,stopt op de Melkweg DEMO's: о.а.% R.Leurs : ATOM IN PC, verbeterde versie * L.Bijnagte : ATOM-in-PC onder Windows Willy Truijen aanwezig met diskarchief, gal's en Eprom en wat verder ter tafel komt Tevens Jaarvergadering Federatie van Atomclubs Nederland-Belgie Het Bestuur van de Federatie. _p. 4 TRUE-CPU R.LEURS TRUE-CPU ofwel de waarheid omtrent OSBYTE #08 Geheel terecht wees Sjaak Geene me op de vorige landdag dat OSBYTE/O8 niet altijd de juiste waarde retour geeft. Dat komt doordat OSBYTE4#08 niet echt bepaalt welke processor in het systeem aanwezig is. Ergens in het operating systeem is opgeslagen welke processor їп onze Atom draait en op welke snelheid. De oorspronkelijke bedoeling was dat, voordat de eprom geprogrammeerd werd, daar de juiste processorinformatie ingezet wordt. Dat is in de meeste gevallen nooit gebeurd, grotendeels omdat velen hun operating system eprom direct door Willy Truyen hebben laten klonen. Daarmee meldt bijna iedere OSBYTE#08 іп Nederland welke processor in Willy's Atom draait. Inmiddels hebben Leendert Bijnagte en ik een aantal routines gedemonstreerd om te bepalen welke processor werkelijk in uw systeem draait. Een van deze routines heb ik uitgebreid om ook de kloksnelheid te meten. Deze snelheid wordt berekend door gebruik te maken van een externe tijdbasis. Met behulp van pc-commando #19 (geluid maken) wordt de PC voor 2/18e seconde geblokkeerd voor de Atom. De Atom laat een geluid produceren met frequentie 0 (niet om aan te horen) en stuurt direct daarna een byte naar de pc. Zolang de pc bezig is met het maken van het geluid wordt dit laatst verzonden byte niet gelezen. De Atom hangt dan niet vast, maar verhoogt ondertussen steeds een teller. Afhankelijk van Atoompjes klokfrequentie bereikt de teller een hoge of een lage eindstand. Hierdoor weten we dus wat de snelheid is. 160 INX;BNE LLLINY;JMP LLI 10 REM TRUE CPU 170:LL2 LDA @#00;JSR #FFC8 20 DIM LL9,O09,Vv9 180 LDA @10;JSR #FFC2 30 FOR A=0 TO 9 40 LL(A)=#FFF;0O(A)=#FFF;VV(A)=#FFF 190 LDA @0;CPY @45;BMI LL3;ORA @#02 200:LL3 PHA;SED;LDA @#99;CLC;ADC 50 NEXT A;PRINT $21 @#01;BMI МА 60 FOR A-0 TO 1 210 PLA;ORA @#01;JMP LLS 70 Р=#В00 220:LLA PLA 80[ 222:LLS LDY #ES;LDX #E4:PLP 90:LLO LDA @I1:JSR #FFC2;BCC LLO 224:LL6 RTS 95 STX KEA;STY #ES;PHP 230:004 СМР @#08;BEQ LLO;IMP (VVO) 100 LDA @#00:JSR AFFCB;LDA @#19:JSR #FFC8 260:000 LDA #220;5ТА VVO;LDA #221;STA VVO+1 110 LDA @#00;JSR ert ;LDA @2:JSR #FFC8 270 LDA @OO4%256;STA #220;LDA 120 LDA @#00:JSR #FFC! ;LDA @#19;ISR @OO4/256;STA #221;JSR 006 ЖЕЕСЕ 280 JMP (VV) 130 LDA @#00;ISR #FFC8;LDA @2JSR #FFC8 290:002 LDA #4FA;CMP @#4C;BNE ООЗ 140 LDX @#00,ТХА;ТАҮ;$ТА #B8I0 300 LDA #4FB:STA VVI;LDA #4FC:STA 150: LDA /B8ID;AND @#10:BNE 112 TRUE-CPU R.LEURS р.ә vii) 310:003 LDA @000%256;STA #4FB;LDA @OO0/256;STA #4FC 320 LDA @#4C;STA #4FA 330:006 ISR LLO;PHA;JSR #F7DL;};! #ODOA0B1I=:PP + 4 340 $P — "Proccssor: 65";P «P LEN РД 350 NOP;PLA;LSR A;PHA;BCC OOS:LDA @CH'C”;JSR #FFF4 360:005 JSR #F7DI:l:$SP ="02 @ ";=PP +LE N P;;NOP 362 PLA;LSR A;LDA @#0L;ADC @#00;JSR #F80B 364 JSR #F7DI:l:SP= "M ilz;P=P+LEN P;IP=#II0A0A0D:P=P+4;[ 366 LDA #1FFC;JMP #FFF4 370:VV0 BRK;BRK 38V0V I:; ];?P= L L6%256:P01=-LL6/256=:PP+ 2 390 NEXT A:PRINT $6 400 LINK O02;EXIT Eventueel saven met “FRUE-CPU.RUNB”0 0 СОО B94 Na het runnen van dit programma geeft OSBYTE/08 altijd de juiste processor informatie terug. OSBYTE #08 opvragen processor gegevens invoer : geen uitvoer: accu bevat volgende informatie: 0” Zu 6502 65С02 1 MHz 2 MHz gewijzigde registers: Accu en vlaggen Met vriendelijke groeten, Roland Leurs Telefoon: 0345-572970 Hooge Hoeven 62 Fidonet: 2:285/226.9 4191 MN Geldermalsen Aconet: 77:8500/504.32 _P: b АТОМ EEN REKENWONDER R. LEURS De Atom, een rekenwonder? kanttekeningen bij een breuk in de Atom door roland leurs Eind vorig jaar verscheen een artikel van Leendert Bijnagte met daarin uitleg over de opslag van floating point getallen. Ofschoon het lijkt dat er alleen een typefoutje inzit, moet ik helaas constateren dat er enkele fouten in het verhaal zitten. Als u het hele verhaal gelezen en begrepen heeft dan moet ik u helaas teleurstellen: u heeft het niet begrepen... Het begon zo onschuldig; halverwege pagina 15 van AN95-4 staat de binaire notatie voor - 0.046875: 0111.1100.0100.0000.0000.etc. Echter de onderstreepte "0" blijkt in de praktijk een '1' te zijn. О, typefoutje … Totdat ik voor het Atom terminalprogramma de floatingpoint uitbreidingen begon te schrijven. Bij de conversieroutines van Atom FP-notatie naar Intel FP- notatie en omgekeerd begonnen de problemen, sommige getallen werden wat de waarde betreft goed omgezet, maar het teken bleek verkeerd te zijn. Een lange zoektocht naar de ware gang van zaken begon. En met onderstaande resultaten. In het nu volgende stuk geef ik alleen de verbeteringen aan. Op Henri's Unicorn BBS staat het hele artikel herschreven. Biz, £3 Hoe dat op te lossen - het biasbit: "Een '1' geeft aan dat er vermenigvuldigd moet worden, zijn antipode de '0' geeft aan dat delen de bedoeling 15." Exponent - Het biasbit is dus het teken van de exponent Blz. 14 Voor de fractie Het linkerbit is 70”, wat aanduidt dat het getal positief is; ... In het voorbeeld: Nu nog even afwerken: het getal is positief, dus het tekenbit wordt '0'. De exponent hadden we bepaald op 7, dus het eerste getal is 1000,0111. Het bias bit staat op vermenigvuldigen, dus wordt "17. Blz. 15 De binaire notatie voor -0.046875 is 0111.1100.1100.00----0 Biz. 16 Voorbeeld: 0.75 "Het biasbit staat op delen .." Intel werkt niet met een biasbit maar noemt dit ATOM EEN REKENWONDER R. LEURS p. 7 gewoon het tekenbit van de exponent. Intel bedoelt met bias de basiswaarde die bij de exponent wordt opgeteld. Leendert noemt dat zelf halverwege deze bladzijde 'de basiswaarde'. U ziet, het valt achteraf toch wel mee met de fouten, alleen zijn ze dermate belangrijk dat het hele begrip, de hele theorie er mee valt of staat. Eigenlijk ben ik wel blij met de fouten want nu heb ik alles precies moeten uitzoeken en nu begrijp ik het ook echt. Nu u toch geinteresseerd aan het lezen bent zal ik ook meieen de omrekenroutines die Leendert beloofd heeft eens tonen. Deze versie werkt op den Intel 80x86: title Conversie Intel8 -» Atom floating point CSEG SEGMENT PARA PUBLIC 'CODE' ASSUME CS:CSEG, DS:CSEG, ES:CSEG, SS:CSEG ORG 100H START PROC NEAR JMP INTOM ATOM DQ o INTEL DQ -0.046875 INTOM: MOV АН,ВҮТЕ PTR INTEL[7] ;LAADT MANTISSA IN AX:BX:DX MOV AL,BYTE PTR INTEL[6] MOV BH,BYTE PTR INTEL[5] MOV BL,BYTE PTR INTEL[4] MOV DH,BYTE PTR INTEL[3] моу DL,BYTE PTR INTEL[2] моу Cx,11 ;LAADT TELLER LB1: SHL DX, 1 ;SCHUIF LINKS RCL BX,1 RCL AX,1 LOOP LB1 ¿ELF MAAL DOEN SHL АХ,1 ;EVEN OPSCHUIVEN MOV CL,BYTE PTR INTEL(7} ;LEES TEKEN VAN INTEL SHL CL,1 ;SCHUIF TEKEN IN CARRY RCR AX, 1 ;SCHUIF TEKEN IN MANTISSA моу ВҮТЕ PTR АТОМ[1],АН ;ATOM MANTISSA WEGSCHRIJVEN моу BYTE PTR ATOM[2], AL MOV BYTE PTR ATOM[3],BH MOV BYTE РТВ ATOM[4], BL MOV AH,BYTE PTR INTEL [7] ;LAADT INTEL EXPONENT MOV AL,BYTE PTR INTEL[6) MOV CL 4 ;LAADT TELLER SHR AX,CL ;BEPAAL EXPONENT AND AX, 7FFH ¿ALLEEN ONDERSTE 11 BITS SUB AX, 1022 ¿ATOM EXPONENT BEREKENEN PUSHF ¿SAVE CARRY SHL AL,1 ;EVEN PLAATSMAKEN VOOR BIAS POPF ;HAAL CARRY TERUG RCR AL, 1 ¿ZET CARRY ALS BIAS XOR AL, 80h ; INVERTEER MOV BYTE PTR ATOM[0} AL :BERG ATOM EXPONENT OP RET Pe 8 АТОМ EEN REKENWONDER R. LEURS START ENDP CSEG ENDS END START Het runnen van dit programma is ietsie onhandiger dan normaal is bij een pc. Start het programma met DEBUG INTOM.COM <enter> en vervolgens het commando G < enter> om hel programma te starten. Vervolgens kunt u het resultaat onderzoeken met D 100 <enter>. Voorbeeld van deze debug-sessie: debug intom.com -d 100 74BE:0100 ЕВ 11 90 00 00 00 000 0-00 00 00 000 0 00 00 00 _............... 8 Program terminated normally -d 100 74BE:0100 ЕВ 11 90 7C CO 00 00 00-00 00 00 00 000 0 00 00 ...|............ 74 U ziet op de adressen vanaf 0103 de hexadecimale waarde staan voor Atom's notatie van het getal -0.046875. 7C СО 00 00 00 = 0111.1100.0000.0000.00---0; voor ons een bekend getal. Het programma ATEL.COM werkt op dezelfde manier, alleen wordt daar een Atom getal naar Intel notatie omgerekend. Aangezien het de afgelopen weken toch te koud is geweest om te schoffelen in mijne hof heb ik ook reeds een aantal floating point functies in de Atom terminal verwerkt. En dit werkt heel goed. Voorlopig alleen nog voor 80387 en hoger. Aan de uitbreidingen voor de 80287 wordt nog gesleuteld. Een van de mooiste testprogramma’s is deze: 10 REM GONIO GRAPHICS 20 ZERO;DIM M30,LL3,P(-1);PRINT $21 30[:LLO \ Opgeven van floating point commando 40 LDA @#00;ISR #FFC8;LDA @#62,JSR #FFC8;TYA;JSR #ЕЕС8;СРҮ @0;BNE 111 50 JSR #FFC8:ISR #FFCS,RTS 60 :LLI LDX ФО 70 :LL2 LDA 4605,X;JSR #FFC8:INX:CPX @5:BNE 112 ATOM EEN REKENWONDER R. LEURS р. 9 80 :LL3 JSR #FFC5;STA #605,X;INX;CPX @10;BNE 113 90 RTS;};PRINT $6$12 100 Y=0;USR LLO ПОТЕ A=0 THEN PRINT "Geen coprocessor aanwezig !"”;ЕХІТ 120 IF А=1 THEN PRINT "80287 coprocessor aanwezig."; EXIT 130 IF A=2 THEN PRINT "80387+ coprocessor aanwezig."" 140 KADER 19,6,60,4,5,/3; CURSOR OFF 150 PRINT " Kies een grafiek of breek af met < ESC» " 160 $M=" Tangens Sinus Cosinus " 170 PDMENU 35,10,9,3,D,#47,$M,A 180 IF А=0 THEN TXMOD;EXIT 190 CLEAR 21;XSTYLE #FOFO;COLOUR 7;ESCAPE-OFF 200 XLINE 0,100,16003; X9LI,NE 0,250,639,250 210 TIME;PRINT ' 220 FOR Z=100 TO 250 STEP 150 230 MOVE 0,2, 240 FOR X=0 TO 1279 STEP 2;%A=RAD X 250 IF Z=100 THEN GWINDOW 0,175,639,0;COLOUR 2 260 IF Z=250 THEN GWINDOW 0,349,639,174;COLOUR 3 270 IF Z=100 THEN Y=A+7;LINK LLO;GOTO 310 280 IF A=1 THEN %B=TAN 96A 290 IF A=2 THEN %B=SIN %A 300 IF A=3 THEN %B=COS %A 310 DRAW (X/2),+% %B(*-Z75 ) 320 NEXT X 330 TIME:PRINT';GWOFF 340 NEXT Z 350 ESCAPE=ON;LINK ZFFE3;TXMOD;GOTO 140 Dit programma laat afhankelijk van uw keuze een sinus, cosinus of tangens grafiek zien. Tevens krijgt u grofweg de tijd te zien die nodig is voor het tekenen van die grafieken. Met behulp van de coprocessor op een 80486dx2/66 pc kan de tijdwinst behoorlijk oplopen. In 20-50% van de tijd die de Atom zelf nodig heeft worden de goniometrische functies uitgevoerd en afgebeeld op het scherm. Verder kunnen we nu, indien die behoefte bestaat, gebruik maken van de Intel 64 bits floating point notatie, dus grotere nauwkeurigheid. Helaas niet toepasbaar in welk huidig Atom programma dan ook. Er ligt nu nog een behoorlijke klus op ons te wachten. De floating point rom van de Atom moet nu aangepast of herschreven worden om gebruik te maken van de floating point commando's van de pc. Macht u hier informatie over hebben of wilt u er aan meewerken laat het dan even weten. -p.19 АТОМ ГЕМ REKENWONDER R.LEURS Voorlopig kunnen we alleen op ietwat omslachtige wijze profiteren van de nauwkeurigheid en snelheid van pc's floating point processor... U wilt ook experimenteren? De betreffende files die in dit artikel genoemd zijn kunt u halen op Henri's BBS; download het bestand "ATOMx87.ZIP". Dit bestand bevat de volgende files: INTOM.ASM Source van conversieprogramma van intel8 - atom fp ATEL.ASM source van conversieprogramma van atom -> intel8 fp INTOM.COM geassembleerde versie van INTOM ATEL.COM geassembleerde versie van ATEL ATOM311.COM terminalprogramma met 80387 floating point ondersteuning *.RUN diverse demonstratieprogramma's voor Atom met 80387 BREUK.TXT gewijzigde versie van Leendert's artikel uit AN95-4 Met vriendelijke groeten, Roland Leurs Telefoon: 0345-572970 Hooge Hoeven 62 Fidonet: 2:285/226.9 4191 MN Geldermalsen Aconet: 77:8500/50432

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.