- #Castlevania emulator c64 how to
- #Castlevania emulator c64 serial
- #Castlevania emulator c64 software
- #Castlevania emulator c64 code
- #Castlevania emulator c64 free
We don't want anyone having to waste time and effort on lawyers that will only make everyone poor and sad. Here in many ways our audience is the rights holders to the original ROMs - we want to make their job of assessing whether we are infringing their rights or not super easy.
#Castlevania emulator c64 code
However, I think that it is still possible, provided that sufficient care is taken.īasically the challenge is to have a development process that is transparent and makes it unambiguously obvious to any observer, that no infringement is being made of the original ROMs, and that all code being written is being freshly produced. There is a residual risk that because the C64 ROMs are everywhere, and anyone likely to be inclined to write their own ROMs will have been exposed to them, it is very hard to enforce a true "clean room" reimplementation. This means that we can potentially implement the KERNAL and BASIC ROM functionality using such resources as a guide, and here is the important part, without looking at the C64's ROMs while writing them. Fortunately, with books like Compute's Mapping the 64, we actually have the specification effectively written for us back in the 80s.
#Castlevania emulator c64 software
The gold-standard for such endeavours is to have one team produce detailed specifications of the software being recreated, and another team implementing it. This requires considerable care and thought.
#Castlevania emulator c64 how to
Then, like the character ROM, we have the problem of how to create new ROMs that are non-infringing on the intellectual property rights of the rights-holders of the C64 ROMs. Then BASIC uses the KERNAL's APIs to provide the familiar BASIC interpretor, which itself has quite a lot of complexity, with the line tokeniser and de-tokeniser, expression parser, variable management, commands, functions and operators.Īlso, to have even a minimally working system, that would let you load and run a game or other program that was written in assembly language, you still need the BASIC tokeniser, LOAD, RUN and SYS commands at a bare minimum, with LIST also being practically essential, so that you can actually see what is on a disk.
#Castlevania emulator c64 serial
The KERNAL implements the screen editor, keyboard scanning logic and IEC serial communications protocol, along with a few other bits and pieces. Now, the KERNAL and BASIC are much more interesting beasts. So we have the 4KB character ROM already under control. Of course, we have also effectively solved this problem by making our own complete char ROM based on a combination of hand-drawn symbols and hand-touched characters from the public domain VGA 8x8 font. Add to that that the symbols have now been added to Unicode, and the long-standing lack of enforcement against distribution of any C64 ROMs, and it really looks like the character ROM isn't a big drama. Then given the 8x8 size, there aren't many options for implementing most of the symbols, specially the line and block ones. For a start, in countries like the USA, it simply isn't possible to copyright a bitmap font. Basically it is highly doubtful that a copyright infringement suit could be bought against a user of the font. The character ROM I have already talked about. This is actually only a generalisation, because the KERNAL is actually only about 6.5KiB, and BASIC is about 9.5KiB, and uses the bottom 1.5KiB or so of the "KERNAL" ROM.Īnyway, this means that there are these three parts that have to be replaced in order to make a C64 or compatible computer come to life. Some of you will at this point be saying to yourselves, "no, the KERNAL and BASIC ROMs are the same size". These are all different sizes, but together make up the 20KB of total ROM that a C64 needs to operate. The Commodore 64 as we all know uses three ROM parts: The KERNAL, BASIC and the character ROM.
#Castlevania emulator c64 free
While this blog is usually about things for the MEGA65, this post is actually about something for stock standard C64s, and more the point, for emulators, and all re-creations: Free and open-source replacement ROMs, that can be used, modified and distributed by the general public, so that, for example, emulators can ship with fully legal ROMs, without having to be troubled by costs or legal complexities in terms of licensing.īut first, let's step back a bit, and look at the current situation.