Yesterday I made the first real Kickstart boot attempt using the Majsta 68K core on Vampire 600 V2.
It is still too early to call this a boot, because at this point instruction coverage is around 95% and several instructions needed by Kickstart are still missing. However, the result is an important milestone.
The CPU now performs reset, starts executing code from the real Kickstart ROM, passes through the first initialization code and eventually reaches an instruction that is not yet implemented. This produces a vector 4 exception and ends with the yellow screen shown in the picture.
Normally a yellow screen would not sound like good news :) but at this stage it actually is. The CPU is no longer running a small internal test ROM. It is now executing real Kickstart code on the real Amiga motherboard.
The Quartus report also shows another problem that will have to be addressed later. The current implementation is very large, using approximately 86% of the Cyclone III EP3C40 logic elements. At this stage the core is mostly pure VHDL and makes almost no use of FPGA megafunctions apart from the PLL.
For now the priority is correctness and reaching a successful boot. Once that is achieved, a major architectural cleanup and resource optimization phase will follow.
Still not a boot — but definitely progress.
First real Kickstart boot attempt. The Majsta 68K executes ROM code until reaching an unsupported instruction and ends at the yellow screen.
Early Majsta 68K FPGA utilization: approximately 86% of the Cyclone III EP3C40 logic elements, before the planned architectural/resource optimization work.
|