Didn’t have much time last week to finish working on a PNG-to-PC-6001 compressed bitmaps pipeline (next blog post) but I saw this video on youtube and thought this would make a great quick test of performance level for 80s computers! (mostly z80-based) to understand how they compare to each other.
I used the exact same program in the video:
10 FOR I=2 to 1000
20 K=INT(SQR(I))+1
30 FOR J=2 TO K
40 K1=I/J
50 K2=INT(K1)
60 IF K1=K2 THENGOTO 90
70 NEXT J
80 PRINT I
90 NEXT I
This is mostly a test of the embedded BASIC interpreter rather than the processing power in these computers. I’m sure running compiled assembly code should deliver similar performance since all Z80 PCs are running at the same frequency.
The most important tool you need is a good emulator! Here are two excellent emulators with all necessary settings and files as well as a collection of PC-6001 games and demos for testing here:
PC6001VW3: Full featured accurate emulator with a built-in debugger and many useful tools.
iP6+: Light-weight emulator, great for quick testing.
Of course both emulators use Japanese ROMs, maybe in the future if I had access to a Warka ROM chip I could dump it and use that instead. The main difference is language, the Warka had an Arabic font built-in while the PC-6001 had Japanese fonts.
A long time ago when I was 11 and lived in Basra south of Iraq my parents thought it was a good idea to get me into computers and programming. I’ve always been a gamer since birth pretty much so it fit nicely.
The year was around 1996 and Iraq was way behind the world in computing due to unfortunate circumstances.
During the 80s however, Iraq was a regional pioneer in digital technology despite the devastating 8 years war with Iran, this growth was led by a national group of companies collectively named: Electronics Industry Company or EIC (شركة الصناعات الوطنية).
This is mostly going to be an information dump. I’ve been researching this for a month or two and the amount of stuff happening out there these last few months is just mind-blowing. Progress achieved from mid 2016 till time of writing this post (end of 2017) wasn’t only impressive but paradigm shifting.
First off, this is not about robots or androids or skynet. This is about artificial intelligence that runs on software and hardware designed to resemble biological intelligence. Everytime you swipe through Snapchat’s filters, you’re running a variation of that intelligence that attempts to find where your face is, match its orientation and scale to superimpose dog-ears or makeup.
I’m always working on something but don’t usually write about it. Since this week I updated my Jekyll blog so it works again as well as a few other weby things.. here is a compilation of what I was focusing on last week.
Static Blog/Web Generators
So this blog is powered by Jekyll which is a static blog/web generator that is pretty straight forward and supported by github directly as it was actually developed by github developers.
The code for this website is in a normal public github repository. Using some special flags github rebuilds the website using jekyll every time I perform a new push with some changes.
A word of warning: this is a very long post about nothing in particular, I just felt like writing something :)
Past Considerations
I’ve been mainly using Windows for most of my programming career starting with Windows XP. I also work on linux whenever possible but most game projects treat linux as a secondary platform to port to (if at all targeted) rather than a main platform of development so I always felt like my experience on POSIX-compliant operating systems was relatively lacking as a user and a developer due to less exposure despite a modest history of linux and open source community involvement.
Today I worked on the mesh parsing section of Zenithia and got a basic scene-graph up and running that supports multiple nodes, meshes, subsets, and basic materials. The screenshot below is from a collada model exported from blender that includes multiple nodes, meshes, subsets, and textures.
The model is rendered using a simple fx effect and all resources are loaded in the resource thread and swapped to the scene at runtime by the resource system.