Few days ago I have received all the parts needed to start production of the latest version of the Vampire 600. I had some small problems in soldering but as always I received some nice tips from Kipper2k :) Rest of the team worked hard on improving the apollo-core, constantly searching and killing bugs. I m certain that you were able to find lot of videos and pictures lately about this project on some other places by other members of the apollo-team but I wanted to show my configuration in everydays work. Remember, this is not latest apollo-core I m testing and not even fastest or most compatible. It is compiled more than 20 days ago just to show that latest hardware design works nicely.
More pictures in Read More, Pictures, Files... section of this article.
In the matter of hours latest and final design with all hardware problems found before removed will be sent to production. This time I have done much better job in creating 3D model of the board by using STEP models.
Next logical step was to send few cards to other developers inside Apollo development team. This will speed things up lot more because so far I was the only one in the team who had actual hardware. Working in the dark for other developers was nightmare and I was stuck with constant testings and bug hunting with the Apollo core itself. With my limited knowledge I was able to help to some point but I was frustrated because I didn't had much time left for other things, like finishing final version of the Vampire 600 V2 board. Now, when they received their packages team can work properly and I can focus on sending latest design into production. I have sent boards to BigGun, ceiach, ShK and cgugl. Just to mention that this board will never enter serial production. It will be used only for development purpose.
Board sent to cgugl.
Board sent to ShK.
But this article is really about something else :) Kipper2k man from cold, cold Canada done some amazing work with current design in just two days. After me sending him design files I was so surprised to see how fast he is in soldering and getting everything running. IMHO best soldering skills that I have ever seen. From now on he will be sending more Vampire boards to the other developers.
So question is why we will succeed where everyone else failed? Because we are united in one goal to present something new and innovative to Amiga community. We are all from different parts of the world working as a perfect team for more than 15 hours each day. The same time we are acting more like family sharing our everyday stories and our experiences in various projects that's why makes it so fun. All of that with perfect guidance of BigGun and ceiach, developers who are able to motivate rest of us to learn more and contribute properly to this project.
Few months ago I was informed that there is another way to solder PCB, much faster way. Before that I didn't know that there is difference between soldering paste and flux or that such things as a PCB stencils exists. To tell you the truth I was completely unaware that there are some other methods of soldering than regular one. On the video below is my first attempt to solder PCB using stencil done yesterday.
Tools & Parts used: PCB
Soldering paste (Sn63/Pb37)
Solder paste spreader
IRDA soldering station
Selecting stencil: After reading a lot about various stencils I have decided to order each and every version that's available, also considered doing homemade version but eventually that was removed as an option because PCB is way too complex. So basically you can order stainless steel or stencil based on polyimide films (mylar or kapton). In the table below you can see my impressions regarding each of them.
~100Eur, in some cases more
Medium, stencil is not so flexible
Medium, one stencil can be used for building about 200 PCB
My vote goes definitely for polyimide film based stencils. Not just because the price is lower but because it is really tricky to apply soldering paste on stainless steel stencil where FPGA should be placed. Because low flexibility you will end up with too much paste there once you remove stencil. With polyimide stencils that is not the case. They bend nicely under solder paste spreader so you will have proper quantity of paste placed on components pads each and every time.
Soldering: Only important thing here is temperature profile you must follow if you don't want to destroy components. Each manufacturer states maximum temperature values that we can't exceed. What we need is temperature values who will solder component and not overheat it and that's something done over defined period of time. Also In each component we can find moisture so if we heat component too much or too fast component will crack. This is temperature profile I m using.
As you probably know all the time on various forums I was complaining that I can't put latest revision of the Vampire 600 V2 to the production since HDMI is not tested. For more than month I was waiting for HDMI SMD connectors and that really delayed everything. Yesterday I have received them and after some small adjustments to the existing codes found on the net we have definite prove that all regarding hardware design is done properly, especially differential pair impedance calculation needed for proper work. So don't expect real Amiga video out yet but what's interesting here is that HDMI signals are generated from slow Amiga 7MHz clock without using any external crystal oscillators. Another great news is that HDMI signals are transferred over 3m long cable.
Last few month you could find lot of images on the web regarding Phoenix core inside Vampire 600 V1 but those are the first official pictures from me and results of Phoenix core inside new accelerator Vampire 600 V2, smallest accelerator ever produced for Amiga. I must say that Apollo-team did great job and in last few years we were working so hard every single day. Happy days for Amiga are yet to come...
Since demand for Vampire 600 V1 was so high I decided to redesign the board, add some more features, bigger FPGA, make board smaller and in any way better designed. Real reason for doing this was high demand for V1 I was unable to fulfill. All day night I was soldering to produce enough boards and I just couldn't keep up with that. Also my problems with customs I have mentioned number of times on various forums. Another reason was bug we had in V1 regarding RESET, bug was solved later in code but I didn't liked the idea to continue development of that card who has hardware bug. In V1 we had small FPGA, at the time that was more than enough but after apollo-team started to port Phoenix core to Vampire design soon enough we end up with lack of LE in our FPGA. For emulating MC68000 8K LE FPGA was enough but after we decided to emulate MC68020 instructions each day this FPGA was telling us that we are wasting our time. This time we will try to not create the same mistake. For easier soldering we are going with FPGA build in BGA package. This FPGA also have some benefits because his PLL can directly accept 7MHz signal from Amiga motherboard so we don't need to use external crystal oscillator on the board to get system synchronization to the mentioned clock signal. Memory size and model will stay the same, so for FastRam we will have 64MB of SDRAM memory who is better designed now regarding traces length. PCB itself is done in 4-layers and that will secure better GND plane and such thing is important if we aim for higher frequencies. For voltage regulation this time switching regulators are used instead linear ones and that will ensure proper work with any Amiga power supply because it will give enough power no matter how core inside of FPGA become complex and how much current it will take. On the board more capacitors are added, and there also we pickup smaller sizes 0402. All of that ensured that this board with his size of 50mmX100mm have good chances to become fastest and smallest Amiga accelerator board ever produced. Designing such board was nightmare because FPGA pads pitch was 0.8mm so Via hole diameter between those pads needed to be 0.2mm and that is something hard to produce for most of the PCB manufacturers. I played a risky game here now knowing how much production of such board can cost and placed the price of the board to 90 Eur before quotation from PCB manufacturer is finished. But after so much work it is about the time to have some luck. Board can be pre-ordered on Amibay or directly contacting me. To understand complexity of this design please look at the pictures found in (Read More, Pictures, Files...) of this article.
URGENT UPDATE: March 29, 2015
Quick update to explain new situation.
As the Phoenix core getting bigger and more complex (having 3 instructions per clk as we speak) with future possibility to add FPU and get into never seen performance at least in Amiga world I had to change few things regarding design. This will affect the price since I just can't find a way to produce card for 90Eur and satisfy Phoenix core needs in the same time. Inside apollo-team we had 3 day long discussion about this. 10K LE Altera Cyclone III could easily fit in that price range but simply that is not enough for Phoenix. So new redesign is taking place and we will use 40K LE Cyclone III FPGA device instead and that is something I can't get cheap. What is discovered that price needs to go up to 120Eur now to cover everything. Also I have decided to cover all loses for early pre-ordered cards so this will not have any affect to those who already ordered and paid for their cards. So from now I can only accept 120EUR for pre-orders. Shipping for Europe 5EUR, rest of the world 10EUR.
OULU, FINLAND - October 27th, 2014 - Finnish Amiga Users Group recently
received offers for two separate Amiga 4000 computer donations, for giving
onwards to worthy Amiga causes. We are very grateful for these generous
offers and have coordinated them to the best of our abilities. The
machines and donations themselves have been handled by private people.
We are now happy to announce that the first one of the Amiga 4000 donations
is on its way to the recipient, Igor "Majsta" Majstorovic in Bosnia. Igor
has worked tirelessly and selflessly on Field-Programmable Gate Array (FPGA)
accelerator cards to bring a modern solution to speeding up our old Amigas,
and we hope this donation we facilitated helps him in that work. The
donation also includes Amiga 4000 accelerator board connectors, plentiful
accessories and some Amiga mementos as well.
UPDATE: November 21, 2014
Received two huge packages. I will write about the things I received in new article after I solve few problems with monitor. He is heavily damaged, cathode tube was moved from its place, most of the wires inside are disconnected, lot of bended pins. It is sad because monitor looks from the inside and outside just like he has left the factory just now. I was repairing it all day and made some progress, got to the menu screen but still he is not working. In the tiny space inside monitor case I left lot of my blood, nasty fingers cuts... Destroyed my hands totally, but hey, it can't get any better than to mix my blood with Amiga devices :)
This is the first public Phoenix core test. Despite some haters statements that this demo was written specially for Phoenix just to trick everyone that core is fast I must say that this is not true. Demo was tested in number of Amiga configurations and here are the results.
In fact you can test the demo on your system and report the results. You can find it in Read More, Pictures, Files... section of this article.
phoenix_demo4 - start from workbench
phoenix_demo4.bin - start from WinUAE selecting it as an main ROM file with 64MB of Motherboard fast.
You may noticed that 3 Vampire 600 boards are send somewhere but no one from pre-order list have been contacted. Don't be mad just read the story. On 21 Aug 2013 I became Apollo Team Member. What is Apollo you may wonder? Apollo-core is fastest FPGA core today and it is based on MC68K series of CPU. Again, you may ask why all of this is important for us? Yes we can run it inside Vampire accelerator series and get fastest Amiga accelerator ever produced. Now you know where are those 3 boards left. For past few days we are doing lot of work regarding optimization of the Apollo-core because original core can't fit into small FPGA used on Vampire 600. New core is taking shape, code named Phoenix, targeted at 100Mips and available as update for current core Vampire 600 is using at the end of November. What is my role in coding you may ask. I will be doing integration of Phoenix to Amiga Bus and few other things. So far I have created 500 lines of code and it seems that I will need to create 1000 more to get it done. All the time I was waiting for the opportunity to work with such names and to learn from them. Don't get me wrong but again I m proud that they recognized my hard work and invited me to the team. Final conclusion is that if all goes well there will be no point of building another accelerators instead FPGA accelerators. I must say that soon no one from other developers will be able to keep up with this.
UPDATE: September 11, 2013
After publishing this information's I noticed that too much people suggesting how and what needed to be done and why all of this is not possible. The same thing happened to most of the Amiga projects where developers just couldn't keep up with various demands. Adding some non standard features to the core usable for only few programmers takes time and most of the people will never notice or use that part. All of those comments created argue in Apollo team so we agreed that we will stop talking about complete project to the day we have first results. I didn't notice anyone contacting me about using schematics of Vampire 600 I published. So instead of talking what and how something should be done do it yourself. Enough said.
For some reason I had to see how all of this performs online and I m satisfied! Is it usable in any way? Yes it is! Like you can see on attached video simple web sites can be used, forums etc. Let me say that maybe 70% of the things you normally do online can be done. But, I have a feeling that all of this could be much better if I had opportunity to connect Amiga to different monitor. Strange thing is that MiamiDX didn't worked and it seems that he have some problems with DNS. For best performance I used Voyager and Aweb. I m disappointed to IBrowse because he was slowest so I don't use it at all. Yes I know that everyone said that he is the fastest one but not in my case. It seems to me also that Voyager have very dirty code with strong will to crash sometimes. On other side is AWEB solid and stable and with few tunings maybe can get most from new sites. Strange thing is that new browsers like OWB and NetSurf needs FPU and ixemul libraries optimised for FPU. Conclusion to this would be that developers are going in wrong way because soon we will have emulated MC68K inside FPGA capable of much more than MC68060 with FPU. On other side there is very interesting project called Merlin Web browser who works on regular MC68K and it has support for CSS it is not stable but it has potential for shore.
For some of you this may not look so strange at all but to me, person who actually never had an Amiga before, it was quite surprise to see Doom running on A600. Yes that's because Vampire 600 is doing acceleration but still I had so much questions in my mind looking at this. Without "real" graphic card, without any serious hardware and comparing that to minimum requirements for PC version gives me permission to say PC is just a trash, who stayed alive all of those years because people those days just don't know about anything else. To play PC version of Doom I had to spend serious amount of money back in the days and still game was not playable. On the paper 486 CPU is much better than older CPU's from MC68K series. Some versions are capable of 50Mips or more but for playing this type of games we needed graphic card, sound card and at least 8MB of memory so comparing Amiga 600 with all of this makes me smile. Small machine sitting on the table and able to perform much more than 486 in huge, heavy case with tons of cables and power consumption 10 times greater than A600.
After today's testing I think that I m proud to myself more than ever. Hey!!! I created my own hardware, in some basement, able to play 3D game, able to play Doom. Imagine!!!
As you may noticed some very interesting things are happened regarding this project but news about that I didn't publish on this site. One Vampire 500 was sent to robinson5 from retroramblings.net and it was the one that I used for my testings. This is maybe most important thing happened to complete Vampire FPGA project because we are now in situation that we have opportunity to exchange codes and to point each other what might be a problem. We have already exchanged few mails and codes and it is very interesting to me that we solved few problems but using different approach. It is normal that two people can think different and coding in VHDL is something that is easier to create than to understand what someone wanted to do with specific part of the code. Another great discovery from robinson5 was bad solder joint on A16 trace of Vampire 500 and that was the reason why my code didn't worked. Earlier I have discovered that there was problem with one resistor placed on 7Mhz clk trace so after solving those hardware barriers everything regarding code should not be such problem.
From the start of this project people on various forums are again against my projects talking that Amiga 500 uses MC68K to the max and that I will never be able to create something that is done for Amiga 600. What can I say about that, only few lines of code were needed to be implemented in old code and everything worked. Now we have 3 versions of the code and all of them are working fine and main differences are in solving accesses to MC8600 peripherals.