When positive numbers are converted to strings for printing or manipulation in C64 BASIC, there's always a blank space in front. While minor in the grand scheme of things, it can make precise formatting annoying. What can be done about it?
Error!! Thanks to my patron Jarno Mielikäinen I've learned that the ROM fast copy routine I demonstrate at 16:09 cannot generally be used from BASIC. Locations 95 and 96 (the start address of the copy) are also used by BASIC as temporary work space and get reset to 0, which means the copy start address always begins at location $0000. When copying in place as I demonstrate in this video, it works though $A000 bytes are copied in place unnecessarily. But if we were trying to copy (for example) $A000-$BFFF to $A001-$C000 (shift it up one byte) it would actually shift all of RAM from $0000-$BFFF up by one byte, surely crashing the computer. A short machine language program will need to be used to solve this, unfortunately.
To support 8-Bit Show And Tell:
Become a patron: https://patreon.com/8BitShowAndTell
One-time donation: https://paypal.me/8BitShowAndTell
2nd channel: https://youtube.com/channel/UCAgWzEh5c8391eJnELDy9OA
Index:
0:00 What's with that leading space when numbers are printed?
2:06 Cursor work arounds
4:42 Diversion: Embedded delete
6:57 Using RIGHT$()
8:42 Using MID$()
10:27 Patching BASIC
16:09 THIS IS WRONG - SEE VIDEO DESCRIPTION
20:11 Thanks