It features improved GamePad support as well as a text-based debug console that was The new version contains important compatibility improvements and several enhancements. Power and runs between 10% and 55% faster compared to the previous release. The new version requires significantly less computing
Integrated for creating video footage in MP4 format. The new version brings two major improvements. Currently SpeedDOS+ and Dolphin DOS V2 are supported. Second, VirtualC64 can now emulate hardware-based floppy drive accelerators. Enabling these options significantly increases emulation speed in various scenarios. First, a new compatibility panel has been added that allows the user to enable various energy-saving options. And don't forget the "-a" switch to enable Unicode support, otherwise the assembler won't do any translation of the string and will copy it verbatim (as raw bytes).News VirtualC64 v4.4 has been released VirtualC64 v4.3 has been released Set $d018 to $16 to switch to a lower case font, then it'll match what you write.Ī proper PETSCII example would be: *=$c000Ĭompile it with a not too old 64tass which translates "" to control codes 147 and 14. The text is in lower case, but as the default font is uppercase it'll end up uppercase. enc screen switch to screen code encodingīut remember that is 0 in screen code, so it'll termitate your loop.
Fortunately there's a built in conversion in 64tass if you do it like this. You need to write "screen" codes to the screen. Changing the text to lowercase still gives $40 offset (lowercase PETSCII). Your example will be offset by $c0 (uppercase PETSCII letters) now. To have them in PETSCII, you need to add the "-a" option to 64tass. You're possibly writing ASCII codes into the screen memory directly, that's why it's offset by $40. You can set which row and column CHROUT will output to by setting the cursor position with PLOT Strloop lda hello, x load each byte in turnĬmp #0 if we reached a null byte, break This is the assembly code without subtracting 0x40: *=$c000 I am running on the VICE 圆4 emulator on Mac OS X, and I'm assembling with an OS X port of 64tass.
For example, to display the characters on screenīy directly POKEing the screen memory, one would POKE the decimal
The actual character generator ROM used a different set ofĪssignments.
It turns 0x41 into an inverted spade sign (like on a deck of cards) and everything above it seems to be border characters and weird symbols.Īfter looking around for a while I found this quote on the wikipedia page for PETSCII which seemed to state the problem I'm trying to solve, but I'm not sure how to fix it and can't find any information anywhere. I'm just not sure why the character generator is turning 0x01 into the character 'A' and not 0x41. I can fix this by subtracting 0x40 from my string, but then everything other than letters are incorrect, for example, spaces. I've found that this is because the upper case characters start at 0x01, not 0x41 as I thought from the PETSCII codes here. Unfortunately if I print a string, for example "HELLO WORLD", it will come out in garbled characters. I have some 6502 code to print a string to the screen memory after clearing the screen.