Just a sample of the Echomail archive
Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.
|    CBM    |    Commodore Computer Conference    |    4,328 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 1,957 of 4,328    |
|    Stephen Walsh to All    |
|    Commodore Free Magazine, Issue 93 - Part    |
|    21 Sep 16 13:15:48    |
       So can you Please can you explain what KERNAL64 is              AA: Kernal64 is a cycle-exact emulator: this means that it reproduces all       the internal behaviors of the original machine. It is able to run all the       old (and new!) software without any adaptations. For example, you can load       inside the emulator an old game disk (e.g. using the .d64 format) and play       with it.              The term "cycle-exact" means that the accuracy of the emulation is       cycle-based, that is at every emulated clock cycle the emulator must follow       the same mechanism that the original machine follows during its processing       activity. This kind of emulation is the heaviest one in terms of resource       consumption.               - - - - - - - - - -              CF: Although it's fairly obvious, why did you settle for the name KERNAL       64?              AA: The name comes from the ROM-resident Operating System name. Some       people says that KERNAL is the acronym of Keyboard Entry Read Network And       Link, others says that the original name was KERNEL but in the very early       documentation it was reported as KERNAL because the name was misspelled by       the author I preferred the latter, that's all.               - - - - - - - - - -              CF: Can you list the top 5 features, as I will list them all at the end of       the interview for readers to browse through?              AA: OK, top 5 features of the emulator are:              1. Internet capabilities (Internet modems, RS-232)              2. Remoting (experimental)              3. Wide range of emulated devices and formats              4. Printer preview panel              5. Good debug tools               - - - - - - - - - -              CF: Apart from the nostalgia, what prompted you to create the project?              AA: Building from scratch an old computer via software piece by piece was       so exciting that in few weeks I built a minimal run-able emulator, capable       of executing just .PRG files and the easiest form of cartridges. I       remember that the first game I ran was "Bruce Lee", and the first cart was       "International soccer": But there was a bug in the sprite coordinates       management, so the players were composed by two sprites, and appeared       "mutilated", the legs run to the right and the body to the left...               - - - - - - - - - -              CF: Of course the other question to tie into this is, "Do we need another       emulator?"              AA: Absolutely not! My work is just a tribute to the Commodore 64 and to       those fantastic years.              I think that building an emulator such the Kernal64 is a big programming       exercise, because you have to face a lot of different problems you have       also to search and collect a lot of documents, piece them together, and in       some circumstances work with fantasy to figure out what is not clearly       reported in the documentation.               - - - - - - - - - -              CF: I noted you listed light pen support. How does this work, can you use       a real light pen with the software?              AA: The lightpen is emulated like the mouse or the joysticks: The       joysticks are emulated via keyboard or USB real joystick, the mouse is       emulated with a real mouse, and the lightpen is emulated with the real       mouse. The mouse pointer emulates the lightpen beam.               - - - - - - - - - -              CF: Some will feel that CPM support is a major feature of the software.       How is this implemented as the C64 version of CPM needed an external       cartridge and not much software ran on it due to the screen resolution, and       incompatibilities in the disk drives?              AA: You're right! The core of the CPM cartridge is basically a Z-80       processor, the rest is some circuitry to make the processor       signal-compatible with the C64. So I wrote beside the 6510, a Z-80       emulated software core (even if it's not accurate like the C64's main       processor). The emulated Z-80 takes control of the C64 using a DMA (Direct       Memory Access) signal: In this way the two processors can use the computer       in an alternate way (for example, all the API exposed by the C64 kernal are       written for the 6510 processor and when a CP/M software needs them it must       switch to the 6510).              To run the CP/M you must download the .d64 archive of the original       Commodore implementation and activate the cart. The CP/M cart was a total       failure back then mainly because the Commodore's drive was not able to read       the available CP/M software. Today we don't have this problem anymore,       because the software is available in digital supports, like .d64. Anyway,       useful or not, it's very interesting to run CP/M software today on an       emulated C64!               - - - - - - - - - -              CF: Is there a downloadable EXE version of the software that readers can       download or do you have to compile the software?              AA: You can download an executable version using              github.com/abbruzze/kernal64/tree/master/Kernal64/dist/kernal64_install.zip              Unzip the archive and under the bin directory you will find the two       scripts, kernal64.bat and kernal64.sh, the first one for Windows, the last       one for Unix/Linux (to run the emulator you must install a Java Runtime       Environment 1.7 or above). Of course it's possible to download the entire       project and run the Ant script to build the emulator.               - - - - - - - - - -              CF: The software can implement Jiffy dos, I believe this is still under       copyright with Jim Brain being the only person who can sell and burn the       chips.              AA: Yes the user must now provide the Jiffy Dos ROMS in order to use the       fastload. On the Wiki (github.com/abbruzze/kernal64/wiki) there are       details about this.               - - - - - - - - - -              CF: It looks like the software is regularly updated. I guess this is       like, "How long is a piece of string," but do you see a time when it will       be "finished" with nothing more to add, or tweak?              AA: Well, in the last months I regularly updated the software because I       had some functionality in mind and time to implement it. The last one,       Remoting, now in an experimental phase, gives you the opportunity to       "share" the emulator with another Person, for example to play with a       2-players games (audio is not transmitted yet). It's a sort of X11       forwarding, for those who are familiar with Unix/Linux: the C64's display       is exported via network to another machine, so the second player can play       the same game of the first player. I don't know when I will be bored with       this project: anyway, it would be nice if someone else would join it on       Github in order to improve the accuracy and add features.               - - - - - - - - - -              CF: Using commercial software what, from your experience is the success       rate, (this would be a workable loadable game)?              AA: Unfortunately I don't have a success rate I can let you have. I can       say that most of the games work properly and most of the applications       (utilities, alternative OS, GEOS, etc.).Clearly the demos are the hardest       piece of software to emulate: Also in this case most of them run properly,       some show strange effects because the VIC emulation accuracy is not 100%       compatible, some fail. Another source of problems is the disk emulation,       especially when the software being emulated uses custom fastloader.               - - - - - - - - - -              CF: What issues were there writing the software, what was the most       complicated part of the software?              AA: The only way to develop a software like this in an ideal world would       be to write accurately every single module (in most cases a module is the       software counterpart of a real chip), do a massive test phase (imagine what       would be a test list for the 6510 CPU, or for the 1541 disk, or even the       CIA), wire all the module together and test the whole object again. I did       a few basic tests for each module and then day by day I fixed the bugs, a       lot were microscopic bugs: it was a frustrating job.              Most of the time the bugs shows themselves in a very strange way. For       example, I couldn't properly run the game "Impossible Mission": The Game       seemed to remain frozen as soon as the elevator appears.              Months later I found the problem -- I had inverted the edge-triggered       mechanism of the NMI (Non Maskerable Interrupt), the fix lasted 10 seconds!              Of course the hardest modules to emulate are the less documented one              --- MBSE BBS v1.0.4 (GNU/Linux-i386)        * Origin: Dragon's Lair ---:- dragon.vk3heg.net -:--- (3:633/280)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca