Been a fan of The 8-Bit Guy since the early days of The iBookGuy. Watched his YouTube channel and ambition grow over the years. It is very difficult to not get inspired by his work, seeing him create game title after game title without stopping, and still keeping a life and a YouTube channel in the process.
Now, I can finally create my own game with his dream computer. All that is needed is understanding the 65C02 CPU. I have learned a lot from Ben Eater's YouTube channel about the 65C02 and how it works. From what I can tell, digging into the CC65's library code, it is quite a huge gap between C compiled code and raw assembler code when it comes to speed, so I have chosen to only do assembler. I like 8 MHz and 512K and target that, no matter what. Also, I'll make sure to allow 240p NTSC as well as VGA, and let the system decide which should be used. In Sweden, we only have 50 Hz PAL CRTs, so I will just have to hope 240p works like in the emulators.
The actual computer, the Commander X16 seems to be very well designed and documented. A few design decisions have been difficult to live with, but that is true for any system. You'll just have to work around them. Mostly the missing DMA, how the kernal owns the IRQ vector, and scanline 1 being out of reach because of not letting vblank count the last scanlines (a display that is at least 320 in width and defaults to 480 scanlines need that 9 bit).
I am hoping that the emulators are accurate to the real hardware so that when I finally get my Commander X16 computer, I won't have to re-program all the crazy hacks over again.
I'd like to thank the team behind the VERA FX for opening up the door to things that an 8-bit system normally can't do.
I hope to be able to release something soon. See you around the forum!
Hello from Sweden!
- desertfish
- Posts: 1116
- Joined: Tue Aug 25, 2020 8:27 pm
- Location: Netherlands
Re: Hello from Sweden!
Hullo and welcome hope you enjoy making things for the X16 as much as I am or more
As far as I am aware, the emulator is very close to the actual hardware.
Anyway the 9th scanline bit (bit number 8 when counting from 0) is available it's just stuck away in another vera register: $9F26 (the IEN register) . see https://github.com/X16Community/x16-doc ... #registers
you can read it and make a line IRQ on it perfectly fine you just have to set up the lower 8 bits and the upper 9th bit separately.
As far as I am aware, the emulator is very close to the actual hardware.
Anyway the 9th scanline bit (bit number 8 when counting from 0) is available it's just stuck away in another vera register: $9F26 (the IEN register) . see https://github.com/X16Community/x16-doc ... #registers
you can read it and make a line IRQ on it perfectly fine you just have to set up the lower 8 bits and the upper 9th bit separately.
Re: Hello from Sweden!
The same documentation says:
I need to be 2 scanlines ahead in the official emulator, and 3 scanlines ahead in the Box16 emulator, and I have no idea what the real hardware expects. That is scanline 1 - 2 equals scanline 524. But I can't find where to set the 10th bit for IRQ_LINE. The highest scanline with 9 bits is 511, which is 15 scanlines away from scanline 1 (you know what I mean, the actual scanline that is being drawn to the TV is not the one being changed). That means, the first scanline that you can affect is scanline 2 from a previous set IRQ_LINE, and scanline 0 from a previous set vblank, but scanline 1 is out of reach!SCANLINE.... this value continues to count beyond the last visible line, but returns $1FF for lines 512-524
that are beyond its 9-bit resolution. Note that VERA renders lines ahead of scanout such that line 1 is being rendered while line 0 is being scanned
out. Visible changes may be delayed one scanline because of this.
Last edited by doslogo on Mon Dec 23, 2024 7:41 pm, edited 1 time in total.