Apollo Guidance Computer which landed Apollo 11 at moon code is on GitHub

agc_view

AGC was digital computer for navigation and control of Apollo-11 spacecraft. It’s processor was made with discrete IC logic and 16-bit word running at 2 Mhz with 2K words of RAM and 36K words of ROM.

Recently the code which runs on AGC was published on GitHub based on manual re-entering of scanned papers. The sources are dated from April 1st 1969.

The retro computer lovers will be able to run the code on the Virtual AGC.

Even if you do not like retro computing, there is still something to learn when you look how the source code is documented.

 

TuxCon 2016 highlights – two days fun with open source hardware and software

tuxcon

TuxCon free and open source software and hardware conference was last weekend in Plovdiv.

This is local, small conference which once per year gather enthusiasts and people who love open technologies at one place.

The event started on July 9th at 11 o’clock with Trayan who spoke about Java Robotics or how do you program Lego Mindstorm in Java:

trayan

then Yassen spoke about the future of Jitsi Meet

jitsi

Damyan followed with serious topic explaining how different Linux distributions deal with security updates in a quite a funny way involving such a famous Bulgarian folk singer like Mr. Milko Kalaydjiev in Linux Matter (the video will worth watching).

milko2

Roland who come from Cambridge, UK specially for TuxCon presented us his ideas about the future of the education:

roland

Then we had lunch break with sandwitches and the famous TuxCon cookies:

cookies

After the lunch was one of the most anticipated talk this year: about the Retro Computer Puldin.

Puldin is local Plovdiv pride, the only computer designed from scratch in Bulgaria both hardware and software. On TuxCon 2015 we invited people who designed the hardware to talk, this year we invited the software developer teams. Mr. Nedialko Todorov who was director for this project talk about how the idea to make Puldin come and how it was realized.

puldin1

Puldin design started in 1988 at that time already IBM-PC was on the market with 8088 processor from Intel working at the lighting speed 4.77Mhz. The developers decided to make the new computer software compatible with IBM-PC, so files from IBM-PC disk can be read/written and cross-compiled. At that time all electronic developments should have used Bulgarian electronic components so they choose CM601 which was copy of Motorola 6800 – 8-bit processor.

They made their own BIOS, DOS, Pascal compiler, BASIC, text editor same as famous PE2 (all this written in assembler!).

orlin

Orlin Shopov who leaded the software development team at that time shared that they had to fit everything in 16KB of ROM memory and at the end they had no single byte free!

The result was that the BASIC code on Puldin (with 6800 @1Mhz) was running faster than same code written on IBM-PC (8088 @4.77Mhz).

The BASIC interpreter of Puldin was written by Todor Todorov more famous with the Eddie viruses he wrote later (a.k.a. Dark Avenger).

For this talk four members of the team come together:

puldin

From Left to Right: Dimitar Georgiev, Ivo Nenov, Nedialko Todorov, Orlin Shopov

Puldin computers were at TuxCon also:

comp

people could see what is inside:

inside1

or take autograph from the developers on the old user manuals 🙂

user

The next talk was no less interesting. Edmund come from Vienna to talk about FOSS tools used in FPGAs:

edmund

He explained why we also need open source IPs. The FPGA vendors offer IP blobs which are “free” to use, but they are huge and you actually pay them in the price of the bigger FPGAs you buy to use them. Good example was for HDMI IP which FPGA vendor give away for free but use many different modes and resolutions which you may not need but have to use. Open Source HDMI design tailored to your needs may fit in 10 times less resources.

In next lecture Lubomir talked how he is attempting to create 3D model based on 2D pictures taken with his phone, quite interesting topic and interesting results:

lubo

Then Dimitar show us how to build custom Android images:

mitko

Delian has announced to talk for OpenSCAD but instead of this he talked about his dream to move the manufacturing from China back to Bulgaria 🙂 and to do manufacture on demand with new technologies like 3D printers, DIY assembly machines.

delian

In the next talk George was talking for creating web sites with open source technology, he dedicated his talk to Ian Murdock

george

Stoyan shared in the next talk his experience with setting up corporate servers. He wanted to bet that in 90% of the public administration running Microsoft server solutions are set to default configuration with no cache enabled etc etc which effectively kills more than half of the performance potential hardware has. Anyone want to contest his statement?

stoyan

The first day closed with Lighting talks and interesting Quiz.

light

Day 2 continued in Olimex training building. We have just 50 seats there but around 70 people come 🙂

d2

Fortunately Dimitar Gamishev has bring 10 meter radio antenna with some Radio sniffer, so some people were there and enjoying listen to space stations communication and local police which obviously do not care to encrypt their channels 🙂

radio

 

ant

meantime Trayan made practical workshop how Lego robot is programming

day2

Peter present our attempt to make Robotic arm programmable with JavaScript

robko

Then we learn how to program FPGAs with our new ICE40 boards:

fpga

and we finished with the status of our DIY laptop:

lap

laptop

Special thanks to TuxCon organizers, sponsors and all people who come and were part of this wonderful event!

TuxCon 2016 schedule is now completed

tuxcon

TuxCon is only 49 days away! TuxCon is completely free event and every one is invited.

I got note from the organizers that the schedules for July 9th and 10th is now complete.

In Saturday the talks will be as usual in Plovdiv Fair “Kirov” hall and  starts at 11.00

Saturday July 9th:
11:00 – 11:30 Reactive Java Robotics and IoT, Trayan Iliev, Bulgaria
11:40 – 12:10 Jitsi Meet, Yassen Pramatarov, Bulgaria
12:20 – 12:50 Security updates of GNU/Linux distributions, Damian Damianov, Bulgaria
13:00 – 13:30 WELEARNERS “Make Create Learn Digital in Europe”, Roland A. Burger, Sweden
13:30 – 14:10 Lunch
14:10 – 14:40 Puldin retro computer, Orlin Shopov, Bulgaria
14:50 – 15:20 FPGA FOSS toolchain, Edmund Humenberger, Austria
15:30 – 16:00 How to calculate 3D pixel coordinates with 2D camera, Lyubomir Dinchev, Bulgaria
16:10 – 16:40 Android customization, Nikolay Dimitrov, Bulgaria
17.00 – Lighting talks:
OpenSCAD, Delyan Tsonev
Web sited with Drupal, George Atanasov

few words for the talks:

Trayan Iliev will talk about Java Robotics he will also make workshop in Sunday.

Jitsi Meet doesn’t need presentation as it’s very popular FOSS video conferencing software, Yassen Pramatarov will speak for the latest development with this platform.

Damian Damianov will speak for GNU/Linux security and what sane precautions we should take when use Linux distributions.

Roland Burger is our first guest speaker from University of Stockholm and will present his idea about the Digital Learning in Europe i.e. how to sparkle the interest for IT in kids in schools.

Orlin Shopov is one of the software developer of Puldin retro computer and he will speak about how it was born and probably we will see other members of the team who worked on it also.

Edmund Humenberger is our second guest speaker, he is from Austria and his interest is FPGAs and how to use them with free and open source toolchain.

Lyubomir Dinchev will try to introduce us to new approach for Computer vision with direct image processing trying to explain it without too much math

Nikolay Dimitrov will speak about the Android distribution for Amazon which is made in Sofia by MM Solutions.

It will be long day and it will end with Beer party at 20.30 in local pub in Plovdiv.

Sunday July 10th we will continue with three workshops at Olimex training building.

11:00 – 13:00 Workshop: Reactive Java Robotics and IoT, Trayan Iliev, Bulgaria
13:00 – 15:00 Workshop: Open source hardware robotics, Olimex
15:00 – 17:00 Workshop: Hands on FPGA, Olimex
Open Source hardware robotics workshop will be done with our recent experiments with Robot hand with ESP8266 WiFi link and controllable with JavaScript.

Hands on FPGA workshop will introduce our new iCE40 FPGA boards and surrounding modules with fast DAC, ADC, Digital IOs, VGA etc. All who participate will receive 20% discount code for ordering of these boards and modules.

TuxCon is only 86 days away :) with lot of interesting talks and workshops FPGA, Retro Computing, Robotics

tuxcon

TuxCon 2016 the conference for Open Source Software and Hardware technologies in Plovdiv is approaching.

In Saturday the organizers prepare dense program with 8 lectures, Lighting talks and ending with Free (not as in speech) Beer Party thanks to the event sponsors!

Edmund Humenberger (http://icoboard.org/) is one of our confirmed speakers, he is Open Source evangelist worked as a Open Source Expert for the European Commission and do currently work on bringing an open source FPGA toolchain to the world.

Orlin Shopov is one of the software developers of Puldin computers manufactured back in 1988-1992 in Plovdiv. He accepted our invitation to come and speak and have idea to invite and bring all other people who were involved in the design and production of this unique 100% made in Bulgaria (no clone of Apple or Oric like Pravetz) retro computer. This will be celebration for all Retro Computer fans who come.

Many other talks are submitted and we wait more to come by May 15th when is the dead line.

In Sunday at Olimex building we will have two workshops:

First is for  FPGAs, with introduction which talks about how FPGAs are made, where they are used, the history around them, the different ways of programming, HD languages, with practical work – using iCE40 FPGA and Open Source tools you will be able to understand the design process flow and to write your first program in Verilog and run it on the board.

We will give away 10 boards to random people who attend this workshop, so you can challenge your luck!

The second workshop will be with Robotics topic and we will keep it surprise by now, but will include competition and will also have prizes.

Retro Computer Puldin – the only Bulgarian 8-bit computer developed from scratch

10175944_310895412452913_2992340338690784455_n

The first lecture at our Workshop in January 10th was about Puldin retro computers, so I will take this opportunity and write few words about it.

Puldin is big sentiment for me at least, because this is 100% pure Bulgarian development, while the “Pravetz” brand was copy of Apple ][ (Pravetz 8A, 8C, 8M), Oric (Pravets 8D) and IBM-PC (Pravetz 16) the Puldin computers were build from scratch both hardware and software and were produced in Plovdiv!

Puldin was produced in 4 modifications 601-A/U/M/T, the RAM memory was 64KB, the ROM was from 4KB up to 68KB depend on the model, the video output could be connected to normal TV, there was LAN card, Printer centronics output, Cassete input, RS232, Floppy disk, etc.

Back in 1987 the General Manager of the state owned factory for membrane keyboards ZSSU (“Zavod za Senzori i Senzorni Ustroistwa”) Slavei Papachev start looking for suitable device to manufacture to fill the factory capacity and decided that computer would be something worth to make. He asked the government agency “State Committee for Science and Development” for help and they connect him to NIPL “Programno osiguriavane” – small company within Sofia University. Together ZSSU and NIPL made joint venture named Abacus and start working on new computer with name PULDIN ( Puldin is ancient name of Plovdiv where ZSSU is located).

klav_pl

This membrane keyboard was the reason Puldin computer was designed and produced 🙂 unfortunately this also is the worst user experience keyboard I have worked with 🙂 there was no tactile click feed back so you basically don’t know if you pressed the key, fortunately later models had connector for external IBM-PC keyboard with keys, which make the work easier.

As you can see Puldin was born very late in 1988 there are already lot of computers on the market including IBM-PC with 16 bit processor running at the remarkable 4.77Mhz 🙂 but the goal which ABACUS sets is to build computer with components which are produced completely in Bulgaria, at that time the Semiconductor Plant in Botevgrad is producing Motorola 6800 copies named CM601, so the choice was obvious the computer will be 8-bit and using CM601 (6800) family.
In the communist times there was no free currency exchange so to buy components from outside was expensive and unreliable. The designs had these choices:

  1. Designers must use Bulgarian components only
  2. If this is not possible for some reason, then they should try to use Russian components
  3. if still not possible they must try to use components from other communist countries like Czechoslovakia, Poland, Hungary, East Germany, etc.
  4. only if nothing else is possible then designers can use components from Taiwan, USA etc., but this will make the later production and components sourcing incredible complicated process.

Four engineers start working on the hardware: George Ginov, Ventsislav Gatev, Svetlozar Peichinov and Spas Georgiev. For one year they passed through prototypes and the computer hardware was ready for production.

On our workshop I invited George Ginov (the guy with the mustache at left side on the picture below), who still works in Plovdiv and he spoke how the PCBs of Puldin were made 🙂 it was interesting to hear about the problems they had, both in the design stage and later in production (manually matching memories with same timing to may work together) the quality of the Bulgarian semiconductor components was not the best.

10922541_310894539119667_6738443065401649104_n

The real masterpiece work on Puldin was done though in the software. There are six heroes who did this and the interesting thing is that all they were students when they wrote the firmware for peanuts and just to prove that they can do it. These are: Orlin Shopov, Ivo Nenov, George Petrov, Todor Todorov and Leonid Kalev.

The software team got one decission – to make Puldin compatible with IBM-PC, so to may read IBM-PC disks they made UniDOS which basically do same like MS-DOS does on IBM-PC, then made their own Assembler, BASIC, Pascal, Editor, Diagnostic tools, even DBase equivalent, which worked same way on both IBM-PC and Puldin, so one could develop on any of these computers and then to move the code across these two platforms using Pascal P-code long time before Java portability was invented!

Interesting thing is that all software was written on Assembler and Pascal, and the Puldin Pascal compiler was written itself on Turbo Pascal for IBM-PC which was the best compiler for PC at that time.
Here I found Russian site which backup information for Puldin computers and have the sources for all compilers and tools used in Puldin http://pyldin.narod.ru/software.htm

Puldin production started in 1988 and between 30 and 50 000 pcs were shipped mostly to Russia. Then came 1989 and the communist system collapsed, the whole economy stopped working as it used to be in the old times and most of the factories were closed.

Sure in ZSSU worked many talented people who lost their jobs, but started new ones in the private sector: George Ginov with 3 other ZSSU employees made Slectra PCB small company which designs and produces PCBs, another ZSSU employee – Dimitar Filipov made Philiks-M company which now produces membrane keyboards and actually duplicate what ZSSU did producing before the collapse, another ZSSU employee Encho Pondev made Taurus93 company which also makes membrane keyboards and panels.

From the team who made the software I can find that only Orlin Shopov seems to have stay in Bulgaria – this guy used to be legend, he wrote Eagle DOS for Apple ][ (Pravetz82) and UniDOS for Puldin, duplicating what Bill Gates did for Apple IBM :))) unfortunately he was born at the wrong place in the right time, so he now is selling computers http://www.eagle.bg/ instead to run billion USD software company. I will try to contact and invite Orlin on one of our next workshops I’m sure he have lot of interesting stuff to share for the old times 🙂

The guy who wrote the Assembler BIOS and Basic ROM for Puldin – Todor Todorov became more famous with his virus works instead of what he did for Puldin http://virus.wikia.com/wiki/Dark_Avenger

Here are more pictures of Puldin:

10930858_310895405786247_5651377839255358094_n

524181_310895425786245_6483860320592704115_n1908491_310895539119567_8252736978785453243_n

10434071_310895482452906_5571764255475939382_n10922531_310895499119571_3670431660978648066_n10929550_310895569119564_5244697016681908987_n

UPDATE 13-01-2015: After the blogging I sent e-mail to Orlin Shopov and got his reply today, he confirms that he can attend one of our next workshops!

Retro Computer Memories: Sinclair ZX81

Image

ZX81 is home computer produced by Sinclair Research.

It was launched in 1981 and was designed as ultra low cost entry level home computer.

While the Apple ][ cost about $1300 at that time, ZX81 was just $100 and could be bought also in form of kit so you can solder it yourself.

Here is picture of ZX81 kit content:

Image

ZX81 was designed to be small, simple and cheap. It uses TV tuner so you connect it to your TV and in 8KB of ROM it holds BASIC interpreter which have 1KB of RAM memory!

Its distinctive design brought its designer, Rick Dickinson, a Design Council award.

The unexpanded ZX81’s tiny memory presented a major challenge to programmers.

Simply displaying a full screen takes up to 768 bytes, the system variables take up another 125 bytes and the program, input buffer and stacks need more memory on top of that.

Nonetheless, ingenious programmers were able to achieve a surprising amount with just 1 kB. One notable example was 1K ZX Chess by David Home, which actually managed to squeeze most of the rules of chess into only 672 bytes! http://users.ox.ac.uk/~uzdm0006/scans/1kchess/

The ZX81 conserved its memory to a certain extent by representing entire BASIC commands as one-byte tokens, stored as individual “characters” in the upper reaches of the machine’s unique (non-ASCII) character set.

Let’s see what is inside:

Image

nice red soldermask laquer 🙂

Image

Image

surprise: the top side have no protection mask – remember the PCB have to be cheap and soldermask cost money, as the components are soldered only on the bottom side there is just bottom solder mask.

As you can see from the picture above the ZX81 have just few ICs and all glue logic is in ULA Ferranti chip in the left of Z80. The two small ICs in the right side are the RAM memory and the big chip with the window is 8KB of UV-light Erasable ROM where the BASIC interpreter is.

I like ZX81 as it’s master piece for it’s time – showing how one home computer can be produced on budged and to be profitable.

RETRO COMPUTER MEMORIES: Acorn BBC Micro model B and Acorn BBC electron

Image

Image

BBC Micro and Acorn Electron – I like these two computers from my retro vintage computers collection as there is interesting story around them.

Everyone has heard for ARM processors, the fastest growing architecture, they are everywhere: in phones, tablets, handheld devices, GPS navigators, media players, set top boxes and in most of Android devices. Nova days we have even Cortex-M0 ARM processors for $0.30 which penetrates the holy territory of the 8-bit processors.

If you now ask yourself What ARM processors do have with the above retro computers, the answer is simple, because of these computers ARM processors were designed in first place.

How this happend:

Back in 1970s Chris Curry is Cambridge University professor with interest in the microprocessors, he launched together with his friend Herman Hauser two companies: first with research in the microcprocessors named Cambridge Processor Unit Ltd (CPU) and another named Acorn Microcomputer with aim to make mini computer based on the CPU processors.

According to Curry the Acorn name was choosen so it appear before Apple in the telephone directory, which show which company they were influenced at that time.

Some engineers joined to work in Acorn Computers and one of them Sophie Wilson designed few computer systems there. These were primary laboratory oriented kits with LCDs, keyboards, processors which allow laboratory exercises to be completed with students – looking same as Olimex’s development boards now 🙂

In 1979 Curry influenced by ZX81 computer launch decided also to move to home computer design and this is how Acorn Atom was build. Based on 6502 as any other home computer at that time.
After the Atom was released Curry and the team started thinking for more powerful processor, Hauser suggested compromise 6502 with enhanced peripheral co-processor which to unload 6502 from the part of the tasks so they designed the next version Proton.

BBC in 1981 selected Proton for their educational program and the computer was renamed to BBC micro. Acorn sold more than 1.5 million BBC microcomputers and this helped the company to make enough profit to start working on their own processor. With the launch of IBM PC in 1981 and the Apple Lisa Acorn saw that they need more powerful processor, first attempt was to contact Intel to licensee 268 and improve it, but Intel refused so they as University professors decided that its not so hard to make their own 🙂

At that time everyone has put efforts to make processors which machine language is close to higher level programming languages i.e. so named CISC (complex instruction set computing) processors. The idea was that programming language would be easy to translate and execute faster if the machine language instructions are close to it. This lead to very complex implementation of the processor, long signal paths, which didn’t allow high frequencies (most processors at that time run at 1-2Mhz) and it was taking about 100 man years to develop something like 6502. Acorn had no such resources so they went to different route – to make RISC (reduced instruction set computing) processor which was easier to develop with smaller budged and team. Sophie Wilson set about developing the instruction set, writing a simulation of the processor in BBC Basic that ran on a BBC Micro with a 6502 second processor. Another benefit from the RISC architecture came the smaller paths to implement and the higher frequencies and lower power supply the RISC processor required compared to CISC processor. First RISC processors were running at 4Mhz and the power consumption was less than CISC.  Smaller size also means less cost to manufacture.

It convinced the Acorn engineers that they were on the right track. Before they could go any further, however, they would need more resources. It was time for Wilson to approach Hauser and explain what was afoot. Once the go-ahead had been given, a small team was put together to implement Wilson’s model in hardware.
The official Acorn RISC Machine (ARM) project started in October 1983, with Acorn spending GBP 5 million on it by 1987. VLSI Technology, Inc were chosen as silicon partner, since they already supplied Acorn with ROMs and some custom chips. VLSI produced the first ARM silicon on 26 April 1985 — it worked first time and came to be known as ARM1. Its first practical application was as a second processor to the BBC Micro, where it was used to develop the simulation software to finish work on the support chips (VIDC, IOC, MEMC) and to speed up the operation of the CAD software used in developing ARM2. The ARM evaluation system was promoted as a means for developers to try the system for themselves. This system was used with a BBC Micro and a PC compatible version was also planned. Advertising was aimed at those with technical expertise, rather than consumers and the education market, with a number of technical specifications listed in the main text of the adverts. Wilson subsequently coded BBC Basic in ARM assembly language, and the in-depth knowledge obtained from designing the instruction set allowed the code to be very dense, making ARM BBC Basic an extremely good test for any ARM emulator.

In 1982 Acorn released budged version with lower cost of BBC micro called BBC Electron, it was with co-processor IC ULA which had inside all logic and peripherals of BBC implemented.

Unfortunately Electron come to the market late as meantime Commodore 64 wiped all competitors in 8-bit scene, Atari and many others went in bancrupcy in 1985, Apple was about to sink also, same happen with Acorn. Olivetti take it over, but the new processor activity was kept in such secret that Olivetti even didn’t know that they buy it.

Good move from Acorn management was to present the new ARM processors to Apple and they decided to use it in their handheld Newton device as were impressed by the price, power and performance of this new chip, so Apple and Acorn began to collaborate of developing the ARM so they formed new company ARM Ltd in November 1990 where Acorn Group and Apple had each x 43% and the VLSI was both investor and first ARM licensee.

Now back to our retro computers:

Image

Here is how BBC Micro looks on bot:

Image

and back:

Image

Note the many peripheral chips, this was one of most advanced computers at that time, it had, LAN, Graphics co-processor, Audio co-processor, needles to say some of most interesting games were on BBC micro 😉

Image

The BBC Electron

Image

bot:

Image

inside:

Image

as you can see all glue logic and peripheral were fit inside custom chip :

Image

which allow BBC Electron to be sold under 200 GBP, sure this didn’t help to complete the mighty Commodore 64 which wiped all 8-bit market, but the research to make newer faster better processor for the Acorn computers lead to the design of one of most successful architecture at our time ARM

Previous Older Entries