![]() |
![]() |
![]() |
|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
![]() |
|
Thread Tools |
![]() |
#1 |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]()
Following on from this thread, this will be an occasional chronicle of my AIM-65.
https://www.vintage-radio.net/forum/...90#post1561390 The next stage is to see how the modern clone of the AH5050 interface works when it arrives. https://retro-spy.com/product/aim-65-i-o-board/ It will save me a lot of time wiring up interfaces on veroboard. I may start simply, trying an external terminal to control the AIM65. Then on to cassette storage. I am looking forward to hearing again that lovely screeching noise the cassette interface makes. And finally, if I have the energy, getting an old Commodore 1541 5 1/4” disk drive working. All should be possible as long as the elderly tech keeps going. If it all works, I will take it to the Cambridge Computer History Museum “Retro Computing Fair” in October, driving some of my signature pen plotters, alongside various other retro computers. But let’s get it working properly first! -Jeremy
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
![]() |
![]() |
![]() |
#2 |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]()
By the way, part of my repair required a new 6532 "RIOT" chip. I ordered quite a few from China and now have a significant surplus, all tested, if anyone here gets stuck.
If you do order from China, avoid the "clean pulls", of which some were faulty. There is another chap doing NOS and all those were fine, at the same price as pulls.
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
![]() |
![]() |
![]() |
#3 |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]()
By the way, has anyone got any hints on how to do the following:
I want to output character strings on the TTY/serial port to control the plotter. But I still want programme control via the inbuilt KBD and display. It may be easiest to embed these characters in a Basic program, to allow some control. I can't find any way of outputting characters from the serial port in Basic while still controlling the AIM-65 with the inbuilt keyboard and display. It seems as if control has to be passed from KBD to TTY, and that won't work. There are instructions in the user manual on how to swap listing output from printer to tape punch (via TTY) but again, you seem to have to pass full control to a teletype. And I sold my ASR33 4 decades ago! Ideas? thanks -Jeremy
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
![]() |
![]() |
![]() |
#4 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,106
|
![]()
Just looking through the BASIC user manual
http://retro.hansotten.nl/uploads/aim65/aim65_basic.pdf I see from section 'F' that it has the common ability to call a machine-language program from BASIC with a statement like X=USR (N) ...where N is presumably the start address (in decimal) of the code you want to call and X possibly the value returned by the machine language code on exit. So maybe that's your way out - a mainly BASIC program which calls a small machine language program to output the required serial codes 'straight to the metal', assuming you know the base address and chip type of the UART used. The machine code itself could perhaps be contained in a DATA statement and read out of there and POKEd into RAM during the initial setup, and then called by a USR statement from within the main program loop whenever you want to output one character to the serial port. |
![]() |
![]() |
![]() |
#5 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,106
|
![]()
Just realised the above USR mechanism doesn't necessarily have a mechanism by which to pass a byte to the called subroutine but you could maybe poke the value to a RAM byte and have the machine language routine pick it up from there and write it out to the UART.
If the UART is relatively simple you could maybe even do everything with simple POKEs to and PEEKs from its various register addresses. |
![]() |
![]() |
![]() |
#6 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,106
|
![]()
And I've also just sheepishly realised there isn't even a UART in this system, looks like a case of having to bit-bang serial on the port pins of one of the 6522s (Z32). I'm veering back towards the idea of machine language subroutines called from BASIC...
|
![]() |
![]() |
![]() |
#7 |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,200
|
![]()
In some variants of basic the address for the USR code was poked into specific memory address, then X is passed to that USR code as an argument. I don’t know if the aim65 used this method.
|
![]() |
![]() |
![]() |
#8 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,106
|
![]()
You are right in this case, having looked in more detail at appendix 'F' of the BASIC manual linked to in #4 (starting at PDF page 83) there is a full explanation of how parameters are passed to and from machine language routines. It turns out that neither X or N in
X=USR (N) are the execution address of the machine language code, which instead has to be POKEd into two system variable bytes prior to execution of the USR statement. (Just as you said). |
![]() |
![]() |
![]() |
#9 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,106
|
![]()
One further bit of info, from page 8 of the BASIC manual it appears that all output from PRINT statements etc is (or maybe isn't) mirrored to the printer which is presumably on the serial port. That could obviously get in the way of anything you try to use the port for yourself, so you'd have to turn that off.
You can toggle the output to the printer on or off by holding down CTRL and typing the word PRINT while at the BASIC command prompt. What isn't made clear, unfortunately, is whether PRINT output mirroring to the printer is ON or OFF by default. I would have thought that OFF would be the sensible default otherwise you'd soon run out of paper. |
![]() |
![]() |
![]() |
#10 |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]()
After some digging...
All the routines for sending bytes to the serial/TTY port are in the Monitor rom. These can be called from a small assembler program. This in turn can be called via the USR(n) command from Basic. In the end. I think the best description of how to do this was in Target magazine for May/June 1980. Page 6 - "RS232". http://retro.hansotten.nl/uploads/ai...ayJune1980.pdf This shows a way to just toggle the bytes in RAM that steer data to either the display/printer or the TTY/serial port. This way you can send a burst of data to the TTY port then get back to normal display operation. I think I have most of the answer now! I just need to get my head around the best way to get this into the machine and save it for future use.
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
![]() |
![]() |
![]() |
#11 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,106
|
![]()
Place the machine language code in a BASIC DATA statement, and READ it and POKE it into the relevant RAM locations at the start of your BASIC program? A bit ungainly but it will allow you to save the machine language code within the body of a BASIC program.
The ZX81 didn't have a specific binary load or save feature so there was a common trick whereby a modest amount of machine code would be embedded in a REM statement, since BASIC didn't care what went between the REM statement and the end of the REM line. I don't know if you could do something similar here. |
![]() |
![]() |
![]() |
#12 | |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]() Quote:
When I get a bit of time I will experiment! I am awaiting the interface board from the US. Once that arrives I can at least use cassette storage for programs, and possibly even crude floppy disk storage. But one step at a time! I'll be at the Newbury Rally on 25th June, and Royal Wootton Bassett on the 2nd July, with stalls at both, if anyone wants to say hello and chat! -Jeremy
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
|
![]() |
![]() |
![]() |
#13 |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]()
I was debugging serial comms (RS232), and yet another 74 series chip is faulty. This time a 74LS38 (Z5) , which, of course, is one of the few I have none of! Two on order.
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
![]() |
![]() |
![]() |
#14 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,196
|
![]()
I'll hopefully be at Newbury again tomorrow, too.
I did have a quick look through my 74 TTL collection, but 74xx38 also seems to be one of the few I don't have either, otherwise I could have brought you some for you in the meantime. And not sure there's many sellers with a large range of 74 TTL etc. at many rallies these days. |
![]() |
![]() |
![]() |
#15 |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]()
An update...
The AIM-65 is still working nicely. The RS232 port is now working fine, and can drive an HP pen-plotter. I found the details of how to do it at the link in post #10 above and it all worked and was running all weekend at the Cambridge History of Computing Museum Retro Computing Festival. The AIM-65 was running bare - no case, and still survived. I let visitors make up pictures on the plotter using HP/GL commands from the AIM-65 keyboard. I also had to (re) learn how to get programs on and off tape. Rockewell's user guide has a helpful listing of short assembler routines to put test tones (Sync) on tape to check operation. The cassette machine was one I got from the late, and much missed Mike Edwards (Crackle) who was the guru on ITT/KB equipment. A learning point was that it's best to turn off the inbuilt printer before loading programs into Basic rather than just into memory locations. The poor machine runs out of clock cycles and drops data coming from the tape if it's also running basic. I met a number of UKVRR folk at the event which was excellent. Drop a note below if you were one of them! Now to finish fitting the AIM-65 into its nice plastic case and box up the power supply separately. I have decided not to fit the psu internally, despite space being available, as it runs quite hot and adds a lot to the overall weight. Thanks all for your help. It was nice to be able to demo the fruits of my labours. And today I have also been able to thank the kind donor, a good friend, and let him know that the machine lives on. -Jeremy
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
![]() |
![]() |
![]() |
#16 |
Tetrode
Join Date: Aug 2020
Location: Wallington, Greater London, UK.
Posts: 78
|
![]()
Yes I was one of them (Ian), great to see the AIM-65 working, as I mentioned I learnt 6502 machine code on the AIM-65, before moving on to the Atom and BBC.
|
![]() |
![]() |
![]() |
#17 |
Heptode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 920
|
![]()
Good to meet up Jeremy, if you remember we talked about the good-old-days on BT, and about Taxan plotters
![]() Cheers Phil |
![]() |
![]() |
![]() |
#18 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,349
|
![]()
I tried to fight my way to see the AIM-65 a few times but, was beaten back by the crowds! Shame we did not get a chance to meet but, it was great to meet everyone I did. The presence of so many radio enthusiasts was noted by the organisers - I suggested it might be due to this corner of the forum...
|
![]() |
![]() |
![]() |
#19 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,196
|
![]()
I only had a brief look at the AIM-65, noticing that it was in such clean condition that I'd wondered if it was actually a replica! plus all the amateur radio equipment.
It wasn't too busy in there on Sunday mid-afternoon, but I only visited the main hall for a short while this time, with so much going on in the 'classroom' And I only took one quick photo of the AIM-65 + the adjacent HP-85B (attached). It wasn't until afterwards, when I looked through the CfCH published listed of exhibitors that I realised Jeremy was exhibiting these, so unfortunately didn't get to meet you again - I think I'd spoke to someone else who was demo-ing one of the vertical Roland plotters and its built-in HV static-charge generator! system to hold the sheet in place. |
![]() |
![]() |
![]() |
#20 |
Nonode
Join Date: Mar 2008
Location: Virginia Water, Surrey, UK.
Posts: 2,801
|
![]()
Sorry to have missed you. The AIM-65 seems to have spent most of its life in a cardboard box and looked unused when I found it. But it was still faulty in various places. The HP machine is the rather rarer HP86B, with inbuilt HP-IB and separate monitor (easier to see).
All the HP flat-bed plotters use that same electrostatic paper hold-down.
__________________
Jeremy, G8MLK, BVWTVM Friend, VMARS, BVWS Secretary. www.pamphonic.co.uk www.bttt.org.uk |
![]() |
![]() |