What’s wrong with CC65’s PCE ?

December 13th, 2017

While playing a little with CC65, I quickly saw a lot of problems on PCEngine target?

It’s not about the code itself, written in pure asm, since I doesn’t master the PCEngine yet but about some logic involved.


Compatibility between target

I understand why but trying to get the same code build the same way on some different target is a real problem.

We’re not talking about windows, macos, linux here…

We’re talking about NES, Apple2, embedded system, …

There are feature which are and will never be available on every target.

so while the ‘port CC65 lib’ to your target could be a great thing, it’s all depend on what ‘CC65 lib’ is!

And, for me, it’s too much.


We don’t care about this !

conio, tgi, disk, file ….it’s not what we want !

runtime, stdlib and some basic C functions are the bare minimum….and it’s perfect !

conio could be used but we don’t care about putting a char or a string on screen, we want to put tiles, with all their properties.

So perfect for a HelloWorld but no way for a game !


Drivers ?

Mouse and joystick are loaded like driver.

We’re not talking about a Personal Computer here, but a video game system, when optimization is the key.

So, a driver in memory, no thanks !

I want to read joy input every frame, from the gameloop



I pretty sure more problems will be spotted on the coming weeks but, for now, I need to take care of these ones.

Don’t get me wrong, CC65 is good, and the available PCEngine port (and so HuC6280’s instructions set support) is a great start.

But I think a dedicated PCEngine game port should be done.

PCEngine | Posted by KanedaFr

DIY Dev Kit – not dead

December 13th, 2017

While I no longer post about it, my dev kit is still in progress

I  dropped TinyCore, which required too much work every time I wanted to add something not already avaible through the TC packet manager.


I’m now building my own Linux distro, thanks to build root.


It’s actually on hold since my LCD with SCART died so no way to use my Genny , and so, no need for a devkit.

Hopefully, I plan to finish my GBS8200 combo this year, based on SmokeMonster’s work, and then resume it.

So, nothing new expected before next year!

Megadrive | Posted by KanedaFr

And what about ….the PCEngine ?!

December 13th, 2017

While the Genny was/is/will be my favorite system, I was always interested by the white beauty : the PCEngine Duo R.

Thanks to a friend, I bought one years ago, before eBay…so yes, at a fair price 😉

Let be honest, it was “somewhere” on my house since then, I only plugged it 1 or 2 times to check its status.

Now that I develop on Genny, and spend half of my time fighting with the only 4 avalaible pals, my interest for the PCEngine increased over time, but not for the same reason.

Last year, I wanted to stop Genny dev, because of some personal concern with the community….but I HAD to code, it’s a real dope.

I looked at the SMS, the Lynx, the Neogeo Pocket, the GameBoy…and the PCEngine.

I moved to SMS, because sverx’s devkitSMS was looking for some love and because I found it interesting to work on the origin of Genny.

A that time, I though only HuC was available for the PCEngine and, no, sorry, coding with SmallC is not something I could do. NO.WAY!


Earlier this year, I learnt about CC65, a C compiler for 6502 processors, used for NES, Lynx, Atari, Apple2 and some others.

HuC6280, the PCEngine’s CPU, is a customized 65SC02 so yes, CC65 could be used to code game on PCEngine using the C language or ASM.

In fact, the PCengine is one of CC65’s target so…great !!!!

Well….yes, but no so great. PCEngine support was made to be able to build contiki on PCEngine and, while the works done is awesome, it’s not usable as-is for game development.

I made a quick hello world and, while a lot of work is required, CC65 is actually the only valid C compiler to use for PCEngine development.


3 months later, I’m back on it !

PCEngine | Posted by KanedaFr

DIY Dev Kit – thin clients

July 25th, 2015

A thin client is not a mini sized PC.

A thin client comes with a (very) limited OS,  like WinCE or a dedicated Linux distro, which main feature is to load a virtual system from a network server.
Let’s see it like a window to another OS installed on a dedicated hardware somewhere on your network.

If this virtual system and this main network server don’t exist, a thin client is NOTHING, just a friend of dust.

So will I show you how to setup a virtual system on a dedicated server, just for genny development ?
Of course no !

A thin client is not a full featured PC, I won’t be able to watch youtube nor play games, not even with Fusion I thing
BUT it comes with the minimal features I need :

  • x86 compatible : so any lightweight Linux distribution and software will work on it
    DOS should work too but I don’t want to fight with USB drivers for ex
  • ethernet
  • parallel port, dedicated to Super Magic Drive
  • serial ports (3 if you expect to fake JOY1, JOY2 and EXT ports at the same time)
  • USB ports (at least 2, one for USB Boot, one for usb-to-serial comm)
  • need only a few watts to works
  • silent / fanless
  • (keyboard and VGA for easy debug and maintenance)

Side note : the only thing missing on thin client is GPIO, else it will be easier to learn electronic with a thin client than with an Arduino or a Teensy


How did I select my thin client, heart of my DevKit ?

I just looked for thin clients on eBay or similar, looking for a very cheap one (the expensive ones are overkill for what I need to do).
Everytimes I found one, I opened the website of  David Parkinson, a guy who, like me, share as much information as possible on the subject he likes the most : thin clients.

So, if he posted a test on the thin client I found, I checked the available options and how hard it was for him to make a linux to work on it.
Not listed on his website ? not for me !
He needed to make some bios or hardware update ? hidden cost and lost time for sure  so not for me !
USB boot, lot of ports, easy to update ? let place a bid !

I was not looking for the “best” but for one which suit my need at a very low price.
In the end, I bought 3 thin clients (total price < 40€), in case of failure, wrong selection or hardware problems.

I selected the Neoware CA21 as a perfect match for my first try, since Neoware was perhaps the best thin client solution some years ago.
It also explain why HP bought it !

See you in some days for more details on my success or failure to boot it with all the software side of the project ready to use.

Megadrive | Posted by KanedaFr

DIY Dev Kit – prologue

July 25th, 2015

A lot of people know how much i’m sad so few homebrew games were released these last 15 years.

Of course, we saw some gems (Hello Spain!) but if you count how much (real) games were made, it’s not a lot while SGDK and SpritesMind are alive from some many years !

My goal was to help people to dev for Genny.
Let face it : it was a half failure because “help” included informations, community, tools and code.

Informations and forum are, I think, a success.

Tools, like I said took me a LOT of times and, apart KMod, were a help for perhaps 2 or 3 people.
I (recently) stopped trying to understand why you’re all trying to make your own tools, your own kit, your own ide, your own framework , if not your own compiler or assembler.
It’s not a total failure, because I’m very happy if I was helpful for these 2 or 3 homebrewers but was it the right way to help them ?

My demo/games Code is too old to be used and the few tutorials I made for SGDK were no longer usable 2 months later, after a major SGDK release.


Perhaps it was a mistake from side to say in the first place “He! Guys! make some great games, I’ll give you all you need !

But now, I’ll stop losing my times.
Tools are still available, still updated and still open source.
But forget about tools made as much as options or liberty so they can be used by anyone.
I’m updated them to suit MY needs.
You use them ? Great ! Continue ! and PM me if you ever find a bug.
You need a new feature ? Fork my tool, update it and ask for merge request….or PM me and if I find it useful, perhaps, I’ll add it


So, what will I do now ?
Well, is it not clear enough ? Do what I was expecting other people to do : RELEASE GAMES !

To do so, I need a valid process to be sure my games work on real hardware and not emulators only.

And so, start my posts serie about making a networked dev kit using

  • a genny v1 w/o TMSS (the best one)
  • a Super Magic Drive
  • a thin client
  • an usb-to-serial adpater
  • Tiny core Linux
  • existing, updated or new open source softwares

…because help with as much informations as possible is a part of myself, mainly because I’m what I am now thanks to people who share what they know/found all other the net

Megadrive | Posted by KanedaFr

Floppy support still in progress

June 22nd, 2012

I didn’t totally finished floppy support but I’m pretty sure of one thing fun : JSI used an already existing lib.

They didn’t fully updated it.
They cleaned some stuff (like the BPB table) but not the format data (6 availables while 4 selectable), because code is based on 6 bytes per data
and, according the format defined, at least one is for 5 1/4 floppy.
It was not coded for SMD because a minimun file size is 512k … won’t fit on a 360k 5 1/4 floppy !

I think it also why the code is a total mess LOL

Anyway, another thing which make it hard to re-code is the fact they use the same function to write and read.
It’s a bit value which define the read or write code part of each functions.
I didn’t notice it on the first pass so I missed a lot of things !

Megadrive | Posted by KanedaFr

floppy support is really hard

June 19th, 2012

I ‘m finally working on the Floppy support…
It will help me to debug the floppy drive on my broken SMD

It’s really hard to understand all of the features of the floppy controller.
Even more hard since JSI re-use memory a lot !
Floppy dedicated vars are so shared with others… very difficult to handle this with IDA !

Megadrive | Posted by KanedaFr

Open source SMD Bios – comIO

May 31st, 2012

I worked hard today… the comIO part of the open source SMD bios is done !

UI is almost finished too

The hardest part is the floppy support…I don’t know if I’ll code it yet since
1/ I’m unable to test it
2/ I plan to add USB support throught the comIO port

I’ll finish UI then I’ll move to my SMD fix since I need to test my bios first .
I’m also waiting for some components for a DIY Floppy Drive PSU 😉

Megadrive | Posted by KanedaFr

Started open source Super Magic Drive bios

May 29th, 2012

Today, I started to port the bios 3.3c to WLA DX.
So yes, I hope I’ll be able to release an open source bios some day

VDP stuff is done

Megadrive | Posted by KanedaFr


August 15th, 2011

I’m so happy! ucon64 works on Damn Small Linux !
You’ll need to find the libusb to make it works : using the myDSL browser, you’ll be able to find a package which includes it.
I installed OWFS, because it’s the smallest one 😉

I’m now looking for a thin client cheap but powerfull enougth to get a full SMD dedicated PC

Megadrive | Posted by KanedaFr