Files posted by x16tial
Variation of the quick sort demo, but this one using the 320x240x8bpp mode, which uses double the memory, and is that much cooler to watch 🙂
Tap any key to progress from:
Random Slowed down sort Random Full speed sort Back to Basic Note: that band of "non random" pixels below the middle of the screen is the default location of character tiles at $0f800 = $0ffff. This gets moved to right after screen memory at $04000 - $047ff (which is probably where it *should* default to, if you ask me :))
Kind of a fun demo of Quick Sort on the CX16, using the random "static" of the startup VERA memory and using the 640x480 bitmap screen.
Tap any key to progress from:
Initial static Slow sort, so you can see what's going on, kind of satisfying to watch Re-randomize Full speed sort, this is 37.5k, which the CX16 sorts in a couple seconds Back to Basic Written in assembly
Version 0.1.1: renumber your BASIC programs!
BUT, for now, GOTOs, GOSUBs, THENs, and ONs will have to be manually fixed with the aid of the cross reference that prints when you execute the renumber.
(Copy the cross reference list from the shell window and paste it somewhere handy. Make sure you have -echo on when you start your emulator!)
NEW (this resets BASIC's memory pointers)
and load your basic program, then type:
REN <starting line number>, <increment>
The old line number, an arrow, and the new line number will then print, giving you a cross reference for fixing gotos and such.
Currently, <increment> needs to be 1-255
HIGHLY RECOMMENDED: Download and activate XMA (x16tial mouse aid) from the Dev Tools area as well, which is very handy for getting around your program to make those changes.
FUTURE VERSION(s) will incorporate making the changes to the references, but for now, this should save some work in renumbering your program(s).
This is good for R38, future revisions of ROMs will probably break this. But I will try to supply updates as quickly as possible.
Note: It *is* possible to get illegal line numbers (> 63999). What you do after this, you do so at your own risk!
Here's a utility that will display the contents of any memory page at the top of the screen, actively and persistently.
Helps to see what's going on in different areas of memory, like zero page, the stack, page $02, page $03, page $9f, page $a0 (bank 0).
I found it useful to track down memory locations for the mouse aid program, specifically quote mode and insert mode flag locations.
(NEW to reset BASIC memory pointers, if need)
Just POKE 99,<page number> to change pages. There's a "ruler" to help you determine what location you're looking at. The 4 lines are 64 bytes each.
The X16's default text screen is HUGE! 480% percent bigger than the C64's! Or is it 380%? Whatever, it's nice!
This small utility is designed to help navigate this awesome space, primarily when developing in BASIC.
It turns the mouse on and enables:
Left Click: Locate cursor where clicked.
Right Click: Clear screen and execute LIST.
LOAD"XMA",8,1 (or use XMA.PRG if you like typing, also LOAD can be abbreviated with L-Shift-O)
The idea is that it really improves getting around large basic programs. One hand on mouse, other on the stop key, right click to start listing, stop when need, click where you want to edit, boom. 🙂
** BUG **: To prevent a lockup, after loading and activating XMA, just type a quick NEW.
If not, if you try to enter a basic program line (with a line number, not immediate) the emulator will hang. Or you can just load an existing BASIC file.
This is probably a holdover bug from the C64 (or BASIC V2), where BASIC's memory pointers get set strangely when loading a program that doesn't sit in BASIC's memory area.
With 1.1.0, you can now SYS 1024 after doing a reset to reactivate XMA.