Thursday, August 7, 2014

De jevu: C65 startup banner and dead BASIC, again.

The title says it all: The 48MHz CPU is almost working, but there is clearly something fruity going on.  Sadly it isn't the same issue as when I got to this point last time, but I have some extra clues, like BASIC in C64 mode also behaves similarly. There are also some other nuisances, like IRQs don't seem to be getting masked properly.  But it is getting pleasingly close.

I am also interested to know whether people think the display is better with little side borders, or whether people would prefer no side borders in 80 column mode.  I personally think that having little ones adds to the authentic feel, but without sacrificing acres of screen.  Also, the real C65 has quite narrow side borders compared with the C64.  But I would like to hear what you think


Oh, and if you got this far, you might be able to spot the display glitch that I have to fix.  If you can, and can accurately explain the cause (I already know it), I'll greet you on the next screen shot I post on the blog.

12 comments:

  1. I vote for leaving the borders on. Looking forward to getting my hands on the C65GS, keep up the good work!

    ReplyDelete
  2. Please leave the borders on; it the 'true' c65 had them, so the gs must have them on too.

    As far as I can see about the glitch, it seems that the cursor is missing, but that can also be due to the timing of the shot (it was blinking off when you took the picture).

    ReplyDelete
    Replies
    1. Okay, so we are two-nil up for leaving the borders on. While that isn't quite the certainty of Germany versus Brazil, it still looks pretty clear so far.

      As for the glitch, it isn't the cursor, which is missing due to the timing of the shot as you suggest.

      Paul.

      Delete
  3. Pehaps the glitch is instead related to the fact that in the right half of the screen the top line pixels of some characters are repeated at their bottom.

    Sincerely I don't know why :(

    ReplyDelete
    Replies
    1. Yes! This is the glitch.

      What is happening is that the badline fetch actually happens on the first line of a character row, instead of the row before. Thus the first raster of a new row of characters is actually showing the pixels for the previous row of characters. All I have to do is move the badline one raster earlier by maintaining a badline raster counter separate from the painting raster counter and I will be able to fix it.

      Or at least this is what I believe is happening :) We shall find out in a future post, I am sure.

      Paul.

      Delete
  4. Square pixels would be preferable. It would be frustrating if you had to plot an ellipse to get the appearance of a perfect circle!

    Keep up the good work, this is a wonderful project!

    ReplyDelete
    Replies
    1. Thanks for the encouragement :)

      I'll have to have a think about what possible arrangements will give square pixels. My concern is that the borders may need to be enormous.

      Paul.

      Delete
  5. I just found your blog yesterday, and i must say it is awesome.

    I would love to have a fully functional and backwards c64 and c65 compatible system on steroids, and the faster cpu speed, screen resolutions and palettes makes things very interesting.

    Regarding the square pixels:
    Could it be possible to toggle between the two display formats with a jumper or a simple command - sorta like the 'go 64' command on the c128?

    Keep up the good work!

    ReplyDelete
    Replies
    1. Hello,
      Glad you like the blog.

      As for square pixels, yes, this it will be quite easy to make it selectable by a register. Already you can manually set the mode to whatever aspect ratio you like -- but as soon as you touch $D011 or several other registers, it will revert to the default. But as I say, I could add a register to change the defaults.

      Paul.

      Delete
  6. I forgot to ask, if you at some point plan to make this available via a purpose-built ready to run FPGA based pcb, (like the fpga arcade) or it only will be made available as a soft-core for the Nexys 4 dev board?

    ReplyDelete
    Replies
    1. Hello,
      For now I am planning it as a soft core for the Nexys 4, since that is by far the cheapest and easiest way to make it. Also, as I have mentioned in some of the posts, by using a board that will be commercially available for some time, it avoids the risk of us running out of PCBs and people having to wait months for a re-run, and me having to bear the financial risk of organising a production run. As the Nexys4 has enough ports for us, there aren't too many down sides to this approach. We might just make a daughter PCB that will be a simple dual-layer hole-through board that anyone could build themselves for keyboard, joystick and IEC serial interface.

      Delete
  7. Hi Paul,

    going OT.

    I've just finished reading your interview on the Commodrefree web zine: a very interesting read with a lot of interesting technical bits on both the C64 and C65.

    The aims you are giving for developing the project are both admirable and fascinating, having a fully open source highly compatible C64 FPGA implementation is something that I also think is really needed, and the idea of having a productive 8-bit machine that boots in seconds is simply great.

    And all this giving us the nearest thing to a real C65 :)

    Thanks a lot for your work and you passion for 8-bit computers!

    ReplyDelete