Fresh Amstrad CPC, PCW, Notepad NC100 NC150 NC200 and PDA600 news
Latest Youtube Videos :
A new version of the desktop JavaCPC is available. It's an Amstrad CPC(+) emulator written in Java by Markus Hohmann (DevilMarkus).
Caprice Forever v2018-04 by Frédéric Coste is a modified version of the Caprice emulator (by Ulrich Doewich) for windows.
- Fix CRTC regression with "Turrican" but involving issues with "iMPdraw"
- Add Audio Speaker and PlayCity Line OUT or Internal option
- Add Audio PlayCity invert channels option
- Fix FDC regression to load "The Real Ghostbusters"
- Add Graphics explorer and Tile editor
- Drop ROM file for testing purposes
- Fix minor bugs
Captain Space Debris is an Amiga original music written by Markus Kaarlonen, which was adapted on Amstrad CPC by BSC for the demo Digital Orgasm by Prodatron. So Vincent GR mixed both of them but even if there is a Youtube video of the mix, he prefers that you listen to the soundcloud version due to audio and video compression.
An interesting reading of Baba's Palace by Rafael Castillo and McKlain that I invite you to read.
The last version of RASM is v0.81 (5th April 2018) :
- added special maxam priorities for parenthesis and boolean operators
The source code of 1Kusai is available.
So, the idea was to fit Hokusai's The Great Wave off Kanagawa in 1K.
I worked from an SVG file and removed a lot of details until it would fit the allocated space (packed with zx7). Eventually it ended up too small after some late minute changes to the code which improved the compression. Oh well.
The SVG was converted to bezier curves using NanoSVG, then a custom Lua script to convert the usual bezier curves definitions into a form more suitable for computation. Normally a Bezier curve is defined by X and Y equations which look like this :
x = A(1-t)³+3B(1-t)²t+3C(1-t)t²+Dt³
We can rewrite this as : Z + t(Y + t(X + Wt))
Z = A
Y = 3B
X = 3C - 6B
W = D - 3C + 3B - A
So in this form we need only 3 multiplications.
The computations are done using CPC firmware which provides neat floating point math support. I compute 256 points along each curve (this could be adjusted to less points for faster drawing, at the cost of slightly less smooth curves) and draw lines between them. Then the system FILL routine is used to fill the closed shapes.
The sound of waves and thunder you can hear is just the Y or X coordinate (I don't remember, whichever sounded best) sent to the AY noise register (again using the CPC firmware, because this is the most space efficient way). I tried to write some music using the free bytes left but did not manage to do anything very convincing. Next time I'll try to spend more effort on the sound side.