Thread View: alt.folklore.computers
1 messages
1 total messages
Started by d8... Jan Gustavsson
Sat, 13 Oct 1990 22:29
Acorn Atom
Author: d8... Jan Gustavsson
Date: Sat, 13 Oct 1990 22:29
Date: Sat, 13 Oct 1990 22:29
92 lines
5276 bytes
5276 bytes
I'm posting this for a friend who can't post to Alt groups. Please don't send any email to me, but to him at the address in his signature. Jan. ============================================================================= One of the funniest (though certainly not the most powerful or user-friendly!) machines it's ever been my pleasure to hack was my first own computer - the Acorn Atom. I bought mine back in 1982 by air mail from the British manufacturer. It cost me about 200 pounds, which was about what I could afford (I was in high school att the time). I think the alternative was a VIC-20, but the introduction of the VIC was delayed by several months, and in the mantime, three classmates who had bought Atoms persuaded me to buy one instead. I didn't regret my decision - although the Atom wasn't nearly as good for games, I must have learned lots more about computers from the Atom than I would from the VIC. I'm a bit surprised that I haven't seen any mention of the Atom on this group, since it was very fun to hack. Perhaps it's because it was rather unknown outside Britain (and even there it was soon replaced by Acorn's BBC computers). Anyway, if some old Atom hacker is reading this, I'd be very glad to hear from you! The machine was based around a 1 MHz 6502 with 6 K of user RAM and 6 K of video RAM. To me, who'd only been using a ZX 80 with 1 (!) K and my school's ABC80 with 16 K before, this was really rather much, especially since you could put both programs and data in unused parts of the video RAM (though that made the picture look 'snowy'). It also had a real keyboard (which the ZX 80 hadn't) and high-res graphics (which neither the ZX80 nor the ABC 80 had). The Basic (in ROM) was a strange mixture of powerful and primitive features. In some ways, it looked like your usual Tiny Basic (just twenty-six integer variables and twenty-six one-dimensional arrays allowed). On the other hand, the integers were 32 bits long, you had a DO-UNTIL construct, symbolic labels (written as lower-case letters, which showed up as inverted upper-case on the screen) and a lot of almost C-like operators. The operators were fun: ?A meant the byte at address A, A?B the byte at address A+B, !A the word at address A, and so on. $A meant the CR-terminated string starting at A, with the consequence that to concatenate two strings you had to use the really weird syntax $A+LEN(A)=$B. Also, you could abbreviate all commands and write e.g. G. instead of GOTO. This made the programs rather difficult to read, but saved a lot of space. The code tended to look like this: 300m!D=!A+!B+4;F.J=4TO!D+4S.4 310D!J=0;N.;W=D-4 320F.J=4TO!B S.4;c=0;G=B!J 330Q=A!L*G+C+V!L;V!L=Q%H 340C=!/H;N.;V!L=C;N. 370DO!D=!D-4;U.D!!D<>0;E=D;D=A;R. (This example is from the manual, with the witty title 'Atomic Theory and Practice', but most of my own code looked more or less the same). Note also that the Basic used semicolon instead of colon to separate statements - just to add to the confusion! You could also get a floating point expansion ROM; it added 26 floating point variables %A, %B,..., %Z, floating-point functions and special floating point commands like FIF (floating-point IF). The trouble was it was so incredibly slow - calculating a trigonometric function took several tenths of a second! Perhaps the best feature was the inline assembler. Anywhere in your Basic program, you could put assembler code in square brackets. When you executed this part of the program, the code was assembled and put in memory at the location specified by Basic variable P. All Basic variables were accessible from assembler, too, and you could even use the Basic to do some primitive macro assembly. Apart from being fun, assembler was also sorely needed on a machine as slow as this. The worst feature was probably the casette interface - at 300, bauds, it took almost seven minutes to load the Forth interpreter from tape. One small mistake, and it crashed, and you had to reload it... I could go on raving for hours about the nice things you could do with the Atom: hunting through the ROM with a disassembler was great fun, I've still got my notes of interesting routines and POKE's (or, rather, ?'s), but I think I'd better leave that to another time... My trusty Atom has long since been replaced by other, more useful computers. But I still take it out from the cupboard every now and then, connect it to my TV and power it on... Magnus Olsson | \e+ /_ Dept. of Theoretical Physics | \ Z / q University of Lund, Sweden | >----< Internet: mag...@thep.lu.se | / \===== g Bitnet: THEPMO@SELDC52 | /e- \q
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads