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,958 of 4,328    |
|    Stephen Walsh to All    |
|    Commodore Free Magazine, Issue 93 - Part    |
|    21 Sep 16 13:15:49    |
   
   s (even   
   if you can find documents about them). The VIC, for example, is well   
   documented in the famous "The MOS 6567/6569 video controller (VIC-II) and   
   its application in the Commodore 64", by Christian Bauer (and the addendum   
   "VIC-addendum"): You can follow the explanation of the various VIC   
   internals, but in my opinion there are always some little things that are   
   not explained in enough detail and that makes the difference! The 1541   
   disk emulation has been another headache: you can find several documents   
   about the drive and its internals ("Inside Commodore DOS"), but from an   
   emulator developer point of view it's not enough.   
      
   Sometimes it happened that I was just bored about a particular module   
   implementation, and so the outcome was that that module was less accurate   
   than others.   
      
    - - - - - - - - - -   
      
   CF: How do you take the source and make a run-able application, and do you   
   intend to make the software available for other platforms, linux, Mac, or   
   Amiga OS (for example)?   
      
   AA: The sources can be compiled with the build.xml ANT script, provided in   
   the build directory.   
      
   The software is compiled for the Java Virtual Machine (currently ver.   
   1.7), so you can run it on every platform that supports it.   
      
    - - - - - - - - - -   
      
   CF: You list that the software was written in Scala. What is this, and   
   why use this over some other language?   
      
   AA: Scala is a multi-paradigm programming language: it mixes Function   
   Programming (FP) with Object Oriented Programming (OOP). The language is   
   compiled for the Java Virtual Machine, so you can use all the already   
   available Java libraries and mix them with the Scala code. I switched to   
   Scala in 2009, also in my daily work at Ericsson (after more than 15 years   
   of Java development). The language syntax is very elegant, the type system   
   is an order of magnitude more complex than the Java counterpart and in   
   general you can save about 30% of Java boilerplate code switching to Scala   
   code.   
      
   Take a look at www.scala-lang.org.   
      
    - - - - - - - - - -   
      
   CF: Most of our readers are aware of the various bugs in the Commodore 64   
   design -- some may call them implementations. What is the worst so-called   
   bug that Commodore made in your opinion. Some of the various SID glitches   
   actually made the chip unique allowing for things the designers didn't   
   think of, for example.   
      
   AA: Yes, it's really true: Most of the limitations in the architecture   
   became unwanted features and maybe pushed programmers to invent brilliant   
   solutions to overcome them. The list could be very long.   
      
   The BASIC language was very minimal at that time; more sophisticated BASICs   
   were available. But this primitive BASIC was the source of all the   
   mythical POKEs that are still in our hearts. And what about the disk drive   
   speed? Terrible! But this slowness has inspired thousands of programmers   
   for their custom fastloaders. To summarize I could say that the C64   
   without its limitations would have been something different, possibly just   
   ordinary, who knows...   
      
    - - - - - - - - - -   
      
   CF: What other ideas do you have for the software, and do you plan to   
   implement a Commodore 128 mode?   
      
   AA: Ah, the 128 is on my plan, even if I spent so much energy trying to   
   implement the Kernal64 that I don't know if I'll have any more projects for   
   the future. Most of the emulators on the market are made by more than one   
   person just because it's not an easy task and needs a lot of time. So for   
   new ideas or new emulators I would need helps from others.   
      
    - - - - - - - - - -   
      
   CF: Do you have any other projects you would like to share with our   
   readers?   
      
   AA: Not at the moment.   
      
    - - - - - - - - - -   
      
   CF: Do you have a closing comment you would like to make?   
      
   AA: I would thank you for this interview and the opportunity you gave me   
   in order to make (more) public my emulator. I hope that this could be   
   useful for those who are curious about the internal of our Commodore 64.   
   Anyway, I showed the Kernal64 project at the ScalaItaly 2015: here you can   
   find the slide   
      
   www.slideshare.net/scala-italy/alessandro-abbruzzetti-kernal64   
      
   and the video vimeo.com/132003339   
      
   (at the end there is a live demo).   
      
   github.com/abbruzze/kernal64   
      
   - - - - - - - - - - - - - - - - - - -   
      
   KERNAL64 MAIN FEATURES:   
      
   * Cycle based: exact cycle emulation using the PAL frequency   
      
   * VIC emulation based on the Christian Bauer's article: "The MOS   
    6567/6569 video controller (VIC-II) and its application in the   
    Commodore 64". I know that it's incomplete (and in some cases   
    buggy). I tried to close some issues by myself. Some others,   
    Sprite Crunch for instance, are still open.   
      
   * 6510 CPU full emulation (with illegal opcodes, too). The user can   
    choose between a cycle exact cpu and a faster cpu not cycle exact.   
      
   * CIA1, CIA2 chips emulation: almost full.   
      
   * IEC Serial Bus   
      
   * Keyboard: for key mapping I'll provide documentation   
      
   * SID chip: for this chip I used the RSID Java library by Ken Händel   
      
   * Joystick emulation for port 1 and 2: the joystick can be emulated via   
    keypad or via an USB real joystick (thanks to jinput library)   
      
   * Commodore 1351 mouse emulation   
      
   * Light pen emulation   
      
   * Datassette: full emulation using TAP file (read/write)   
      
   * 1541 Drive: exact cycle emulation (read/write) using 6502 CPU (1Mhz).   
    Supports D64 and G64. In the Settings menù it's possible to turn   
    off the full drive emulation and turn on the faster one. Only the   
    G64 format can be formatted by Dos, while for the D64, the emulator   
    intercepts the format routine call and bypasses it, using a   
    pre-formatted empty disk.   
      
   * Local drive emulation on device 10: choose a local directory and let it   
    be your drive 10.   
      
   * Dropbox drive emulation on device 10: connect your Dropbox account to   
    Kernal64 and let access it using device 10!   
      
   * Cartridges emulation (some CRT types are not emulated). Supports   
    CRT format.   
      
   * MPS803 printer emulation. Preview panel updated while printing.   
      
   * Fast program loading of PRG/T64 local file or D64's file entry.   
      
   * Debug panel for main CPU and for 1541's cpu (break point, step by   
    step execution, disassembler, assembler, etc.)   
      
   * Component panel: shows all internal components while running   
      
   * Drag & Drop support   
      
   * REU support (128,256,512,16M)   
      
   * Support for external roms, both for C1541 kernal and C64 kernal. The   
    roms must be put in the roms directory. Use the switches   
    -Dkernal=rom name and -D1541_kernal=rom name (you can put   
    JiffyDOS ROMS here, for example, to use the fastloader).   
      
   * Support for 1541-VIA1 <-> CIA2 parallel cable, used by many   
    fastloaders. Tested on Speed Dos and Dolphin Dos 2.   
      
   * Support for 1541's expanded memory (tested with Dolphin Dos 2).   
      
   * RS-232 3-way UserPort implementations useful to connect   
    with BBS on internet. The Telnet implementation can be used to   
    connect to a telnet server (like BBSs); the TCP implementation can   
    be used to connect with a generic TCP/IP server. The File   
    implementation can be used to read/write to local files.   
      
   * RS-232 SwiftLink cartridge implementation. Tried with NovaTerm   
    9.6 and other terminal software.   
      
   * ... and more   
      
      
   *************************************   
    INTERVIEW WITH CHRISTIAN KRENNER   
   Creator of Space Chase for the CBM II   
   *************************************   
      
   www.spacechase.de/   
      
    - - - - - - - - - -   
      
   CF: Can you introduce yourself to our readers?   
      
   CK: Hi all. My name is Christian Krenner. I am 41 years old, married and   
   have two little children. I live in Bavaria, Germany. I have been a retro   
   computing enthusiast and Commodore fan for over twenty years. Here in   
   Germany, I am organising the RETROpulsiv bi-annual retrocomputing event at   
   the University of Applied Sciences in Augsburg (www.retropulsiv.de).   
      
    - - - - - - - - - -   
      
   CF: What was your first memory of computer and Commodore machines?   
      
   CK: It must have been around 1984 when my best friend in school received a   
   brand new Commodore 64 computer. I was immediately fascinated by the   
   machine. Of co   
      
   --- 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