Search found 58 matches

by mgkaiser
Tue Oct 22, 2024 4:03 pm
Forum: Programming
Topic: DMA Function
Replies: 2
Views: 461

Re: DMA Function

"unsigned int" is only 16 bits long and you're trying to use 17 bits of it. And this is less "DMA" and more "memcpy" to VRAM. Still Really useful though. Really good candidate for doing in assembly instead of C. Really good candidate for at least partially unwinding the...
by mgkaiser
Thu Oct 03, 2024 3:36 pm
Forum: X16 Feature Requests
Topic: CP/M on the X16
Replies: 13
Views: 1400

Re: CP/M on the X16

And while we are at it, the same probably applies to a 6809 card allowing OS9 to run.
by mgkaiser
Thu Oct 03, 2024 3:35 pm
Forum: X16 Feature Requests
Topic: CP/M on the X16
Replies: 13
Views: 1400

Re: CP/M on the X16

I'm not sure if this feature is even necessary, but can (in theory, with a expansion card) the Commander X16 run CP/M, in order to run some business software for CP/M, or even write new software for CP/M? This question seems stupid, but I'm just asking. This is less a "feature" of the CX1...
by mgkaiser
Wed Oct 02, 2024 7:33 pm
Forum: CX16 General Chat
Topic: Why emulate other computers on the X16?
Replies: 8
Views: 1167

Re: Why emulate other computers on the X16?

Yup. There are PET Emulators for the C64 that do exactly this and they work well enough, at least for BASIC programs, even though the C64 is maybe 3% slower than the PET due to the cycles that the VIC-II "steals" and even slower than that on a PAL C-64 given that they run a touch slower th...
by mgkaiser
Tue Oct 01, 2024 4:21 pm
Forum: CX16 General Chat
Topic: Why emulate other computers on the X16?
Replies: 8
Views: 1167

Re: Why emulate other computers on the X16?

You could probably pull off a VIC-20 emulator. VERA can do the VIC screen size. The screen size is small enough to scape an area of memory corresponding to the VIC-20 screen in an interrupt and update the VERA screen with the data. You can probably even do the same with the VIC ports. I had a PET em...
by mgkaiser
Tue Sep 03, 2024 8:12 pm
Forum: CX16 General Chat
Topic: Calypso "Super Peripheral"
Replies: 9
Views: 2898

Re: Calypso "Super Peripheral"

I wonder how hard it would be to map RAM instead of ROM. Keep the ROM, out of band and only accessible to the SMC. At bootup, the SMC copies the ROM into RAM and write protects it. SMC already listens on I2C, so add some I2C commands to it that would allow you to unprotect the RAM that is posing as ...
by mgkaiser
Wed Aug 07, 2024 8:30 pm
Forum: Programming
Topic: Ideas for 1st person Minecraft-like
Replies: 12
Views: 3372

Re: Ideas for 1st person Minecraft-like

Unfortunately the polygon filler helper doesn't work the way you describe. It uses one data port for tracking the line, and the second for the column. So you can't just set the increment to 1 on each and go ahead. It also writes 4 bytes at a time, so the increment needs to be 4 (or 1) on one port a...
by mgkaiser
Mon Aug 05, 2024 7:44 pm
Forum: Programming
Topic: Ideas for 1st person Minecraft-like
Replies: 12
Views: 3372

Re: Ideas for 1st person Minecraft-like

Start REAL easy. You can only move one block at a time and you can only turn 90 degrees. Render all of the textures as a 16 x 16 square. Use the affine helper to scale the textures. No example is given, but by changing the scale factor on each line, you can also use affine "scale" to "...
by mgkaiser
Fri Jul 19, 2024 5:48 pm
Forum: Works In-Progress Discussion
Topic: nxtBasic: ->MOVED
Replies: 33
Views: 6912

Re: nxtBasic: A New Compiler for Basic Code on the X16

In the attached file if the "BVLOAD" statements are present, it fails with runtime ERROR2. If I remove them it works as expected. I did a test replacing the sprites with a different sprite. I did not get the error. I was testing with the to-be-released version, so it might be workingn now...
by mgkaiser
Fri Jul 19, 2024 12:52 pm
Forum: Works In-Progress Discussion
Topic: nxtBasic: ->MOVED
Replies: 33
Views: 6912

Re: nxtBasic: A New Compiler for Basic Code on the X16

In the attached file if the "BVLOAD" statements are present, it fails with runtime ERROR2. If I remove them it works as expected.