CTRL->T♠│ ─+
FILE INFORMATION
FILENAME(S): CTRL->T♠│ ─+
FILE TYPE(S): SEQ
FILE SIZE: 2.3K
FIRST SEEN: 2025-11-30 21:10:43
APPEARS ON: 1 disk(s)
FILE HASH
da9d75b253ad0c69a46015c2c783fc89ac825cc775ea904f611a62f918f1a451
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| PD 14A | CTRL->T♠│ ─+ | SEQ | DuncanTwain | 31 | 15 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 0D 09 09 43 54 52 4C 2D 3E 54 61 62 20 44 6F 63 |...CTRL->Tab Doc| 00000010: 73 0D 0D 47 65 6F 57 72 69 74 65 20 36 34 20 61 |s..GeoWrite 64 a| 00000020: 6E 64 20 31 32 38 20 64 69 66 66 65 72 20 69 6E |nd 128 differ in| 00000030: 20 61 20 6E 75 6D 62 65 72 20 6F 66 20 77 61 79 | a number of way| 00000040: 73 2C 20 6F 6E 65 20 6F 66 20 74 68 65 6D 20 62 |s, one of them b| 00000050: 65 69 6E 67 20 74 68 65 20 31 32 38 27 73 20 54 |eing the 128's T| 00000060: 41 42 20 6B 65 79 2E 20 20 41 66 74 65 72 20 75 |AB key. After u| 00000070: 73 69 6E 67 20 74 68 65 20 31 32 38 20 76 65 72 |sing the 128 ver| 00000080: 73 69 6F 6E 20 66 6F 72 20 61 20 77 68 69 6C 65 |sion for a while| 00000090: 2C 20 49 20 66 6F 75 6E 64 20 6D 79 73 65 6C 66 |, I found myself| 000000A0: 20 77 69 73 68 69 6E 67 20 66 6F 72 20 74 68 65 | wishing for the| 000000B0: 20 73 61 6D 65 20 66 65 61 74 75 72 65 20 6F 6E | same feature on| 000000C0: 20 6D 79 20 36 34 2E 20 20 54 68 69 73 20 70 72 | my 64. This pr| 000000D0: 6F 67 72 61 6D 20 69 73 20 74 68 65 20 72 65 73 |ogram is the res| 000000E0: 75 6C 74 20 6F 66 20 74 68 61 74 20 77 69 73 68 |ult of that wish| 000000F0: 2E 0D 0D 4F 72 69 67 69 6E 61 6C 6C 79 2C 20 49 |...Originally, I| 00000100: 20 68 6F 70 65 64 20 74 6F 20 62 65 20 61 62 6C | hoped to be abl| 00000110: 65 20 74 6F 20 67 65 74 20 47 65 6F 73 20 74 6F |e to get Geos to| 00000120: 20 73 63 61 6E 20 74 68 65 20 66 75 6E 63 74 69 | scan the functi| 00000130: 6F 6E 20 6B 65 79 73 20 61 6E 64 20 74 68 65 6E |on keys and then| 00000140: 20 64 65 66 69 6E 65 20 6F 6E 65 20 6F 66 20 74 | define one of t| 00000150: 68 65 6D 20 61 73 20 43 54 52 4C 2D 49 20 28 49 |hem as CTRL-I (I| 00000160: 20 73 74 69 6C 6C 20 6C 69 6B 65 20 74 68 69 73 | still like this| 00000170: 20 6F 70 74 69 6F 6E 2C 20 62 75 74 20 69 74 27 | option, but it'| 00000180: 73 20 62 65 79 6F 6E 64 20 6D 79 20 61 62 69 6C |s beyond my abil| 00000190: 69 74 79 20 74 6F 20 65 76 65 6E 20 64 65 74 65 |ity to even dete| 000001A0: 72 6D 69 6E 65 20 69 66 20 69 74 27 73 20 66 65 |rmine if it's fe| 000001B0: 61 73 69 62 6C 65 2E 29 20 20 49 6E 20 70 6C 61 |asible.) In pla| 000001C0: 79 69 6E 67 20 61 72 6F 75 6E 64 20 77 69 74 68 |ying around with| 000001D0: 20 74 68 65 20 64 65 62 75 67 67 65 72 2C 20 68 | the debugger, h| 000001E0: 6F 77 65 76 65 72 2C 20 49 20 63 61 6D 65 20 75 |owever, I came u| 000001F0: 70 6F 6E 20 74 68 69 73 20 66 69 78 2C 20 77 68 |pon this fix, wh| 00000200: 69 63 68 20 69 73 20 6E 6F 74 20 61 73 20 65 6C |ich is not as el| 00000210: 65 67 61 6E 74 2C 20 62 75 74 20 6A 75 73 74 20 |egant, but just | 00000220: 61 73 20 66 75 6E 63 74 69 6F 6E 61 6C 2E 0D 0D |as functional...| 00000230: 54 6F 20 75 73 65 20 43 54 52 4C 2D 3E 54 61 62 |To use CTRL->Tab| 00000240: 2C 20 66 69 72 73 74 20 65 6E 74 65 72 20 61 20 |, first enter a | 00000250: 67 65 6F 57 72 69 74 65 20 64 6F 75 6D 65 6E 74 |geoWrite doument| 00000260: 2E 20 20 54 68 65 6E 2C 20 66 72 6F 6D 20 74 68 |. Then, from th| 00000270: 65 20 22 67 65 6F 73 22 20 6D 65 6E 75 2C 20 63 |e "geos" menu, c| 00000280: 6C 69 63 6B 20 6F 6E 20 22 43 54 52 4C 2D 3E 54 |lick on "CTRL->T| 00000290: 61 62 22 2E 20 20 54 68 65 20 64 65 73 6B 20 61 |ab". The desk a| 000002A0: 63 63 65 73 73 6F 72 79 20 77 69 6C 6C 20 61 70 |ccessory will ap| 000002B0: 70 65 61 72 2C 20 64 69 73 70 6C 61 79 69 6E 67 |pear, displaying| 000002C0: 20 61 20 22 54 6F 67 67 6C 65 22 20 69 63 6F 6E | a "Toggle" icon| 000002D0: 2C 20 22 66 69 6C 65 22 20 6D 65 6E 75 2C 20 61 |, "file" menu, a| 000002E0: 6E 64 20 74 68 65 20 63 75 72 72 65 6E 74 20 73 |nd the current s| 000002F0: 74 61 74 75 73 20 6F 66 20 43 54 52 4C 2D 3E 54 |tatus of CTRL->T| 00000300: 61 62 2E 0D 0D 53 74 61 74 75 73 2E 09 22 41 63 |ab...Status.."Ac| 00000310: 74 69 76 65 22 20 73 74 61 74 75 73 20 6D 65 61 |tive" status mea| 00000320: 6E 73 20 74 68 61 74 20 74 68 65 20 43 54 52 4C |ns that the CTRL| 00000330: 20 6B 65 79 20 61 6C 6F 6E 65 20 77 69 6C 6C 20 | key alone will | 00000340: 66 75 6E 63 74 69 6F 6E 20 61 73 20 61 20 54 41 |function as a TA| 00000350: 42 20 6B 65 79 2C 20 6D 61 6B 69 6E 67 20 74 68 |B key, making th| 00000360: 65 20 43 54 52 4C 2D 49 20 63 6F 6D 62 69 6E 61 |e CTRL-I combina| 00000370: 74 69 6F 6E 20 62 6F 74 68 20 6E 6F 6E 2D 66 75 |tion both non-fu| 00000380: 6E 63 74 69 6F 6E 61 6C 20 61 6E 64 20 75 6E 6E |nctional and unn| 00000390: 65 63 65 73 73 61 72 79 2E 0D 09 22 49 6E 61 63 |ecessary..."Inac| 000003A0: 74 69 76 65 22 20 6D 65 61 6E 73 20 74 68 61 74 |tive" means that| 000003B0: 20 74 68 65 20 43 54 52 4C 2D 49 20 63 6F 6D 62 | the CTRL-I comb| 000003C0: 69 6E 61 74 69 6F 6E 20 69 73 20 6E 65 63 65 73 |ination is neces| 000003D0: 73 61 72 79 20 66 6F 72 20 74 61 62 73 2E 0D 0D |sary for tabs...| 000003E0: 54 6F 67 67 6C 65 2E 09 43 6C 69 63 6B 69 6E 67 |Toggle..Clicking| 000003F0: 20 6F 6E 20 74 68 65 20 22 54 6F 67 67 6C 65 22 | on the "Toggle"| 00000400: 20 69 63 6F 6E 20 77 69 6C 6C 20 73 77 69 74 63 | icon will switc| 00000410: 68 20 74 68 65 20 73 74 61 74 75 73 20 6F 66 20 |h the status of | 00000420: 74 68 65 20 43 54 52 4C 20 6B 65 79 2E 20 20 49 |the CTRL key. I| 00000430: 66 20 74 68 65 20 73 74 61 74 75 73 20 69 73 20 |f the status is | 00000440: 72 65 70 6F 72 74 65 64 20 61 73 20 61 63 74 69 |reported as acti| 00000450: 76 65 2C 20 69 74 20 77 69 6C 6C 20 62 65 20 6D |ve, it will be m| 00000460: 61 64 65 20 69 6E 61 63 74 69 76 65 2E 20 20 49 |ade inactive. I| 00000470: 66 20 74 68 65 20 73 74 61 74 75 73 20 69 73 20 |f the status is | 00000480: 72 65 70 6F 72 74 65 64 20 61 73 20 69 6E 61 63 |reported as inac| 00000490: 74 69 76 65 2C 20 69 74 20 77 69 6C 6C 20 62 65 |tive, it will be| 000004A0: 20 6D 61 64 65 20 61 63 74 69 76 65 2E 0D 0D 46 | made active...F| 000004B0: 69 6C 65 2E 09 43 6C 69 63 6B 20 6F 6E 20 66 69 |ile..Click on fi| 000004C0: 6C 65 20 61 6E 64 20 74 68 65 6E 20 6F 6E 20 22 |le and then on "| 000004D0: 71 75 69 74 22 20 74 6F 20 65 78 69 74 20 74 68 |quit" to exit th| 000004E0: 65 20 44 41 2E 20 20 54 68 65 20 63 75 72 72 65 |e DA. The curre| 000004F0: 6E 74 20 73 74 61 74 75 73 20 6F 66 20 74 68 65 |nt status of the| 00000500: 20 43 54 52 4C 20 6B 65 79 20 77 69 6C 6C 20 62 | CTRL key will b| 00000510: 65 20 70 72 65 73 65 72 76 65 64 20 69 6E 20 52 |e preserved in R| 00000520: 41 4D 2E 0D 0D 54 68 69 73 20 69 73 20 74 68 65 |AM...This is the| 00000530: 20 41 4C 50 48 41 20 76 65 72 73 69 6F 6E 20 6F | ALPHA version o| 00000540: 66 20 43 54 52 4C 2D 3E 54 61 62 2E 20 20 49 6E |f CTRL->Tab. In| 00000550: 20 74 65 73 74 69 6E 67 2C 20 49 20 68 61 76 65 | testing, I have| 00000560: 20 68 61 64 20 6E 6F 20 73 79 73 74 65 6D 20 63 | had no system c| 00000570: 72 61 73 68 65 73 20 61 73 20 61 20 72 65 73 75 |rashes as a resu| 00000580: 6C 74 20 6F 66 20 69 74 73 20 75 73 65 2E 20 20 |lt of its use. | 00000590: 50 4C 45 41 53 45 20 6C 65 74 20 6D 65 20 6B 6E |PLEASE let me kn| 000005A0: 6F 77 20 69 66 20 79 6F 75 20 68 61 76 65 20 70 |ow if you have p| 000005B0: 72 6F 62 6C 65 6D 73 2C 20 73 6F 20 49 20 63 61 |roblems, so I ca| 000005C0: 6E 20 74 72 79 20 74 6F 20 66 69 78 20 74 68 65 |n try to fix the| 000005D0: 6D 2E 0D 0D 49 20 73 74 72 6F 6E 67 6C 79 20 73 |m...I strongly s| 000005E0: 75 67 67 65 73 74 20 74 68 61 74 20 43 54 52 4C |uggest that CTRL| 000005F0: 2D 3E 54 61 62 20 62 65 20 75 73 65 64 20 6F 6E |->Tab be used on| 00000600: 6C 79 20 66 72 6F 6D 20 69 6E 73 69 64 65 20 67 |ly from inside g| 00000610: 65 6F 57 72 69 74 65 2E 20 20 54 68 65 20 43 54 |eoWrite. The CT| 00000620: 52 4C 20 6B 65 79 20 73 74 61 74 75 73 20 73 68 |RL key status sh| 00000630: 6F 75 6C 64 20 62 65 20 72 65 74 75 72 6E 65 64 |ould be returned| 00000640: 20 74 6F 20 69 6E 61 63 74 69 76 65 20 62 65 66 | to inactive bef| 00000650: 6F 72 65 20 67 65 6F 57 72 69 74 65 20 69 73 20 |ore geoWrite is | 00000660: 71 75 69 74 2E 20 20 54 68 65 20 64 65 73 6B 54 |quit. The deskT| 00000670: 6F 70 20 64 6F 65 73 6E 27 74 20 73 65 65 6D 20 |op doesn't seem | 00000680: 74 6F 20 6D 69 6E 64 20 43 54 52 4C 2D 3E 54 61 |to mind CTRL->Ta| 00000690: 62 2C 20 62 75 74 20 49 27 6D 20 73 75 72 65 20 |b, but I'm sure | 000006A0: 61 70 70 6C 69 63 61 74 69 6F 6E 73 20 77 68 69 |applications whi| 000006B0: 63 68 20 75 73 65 20 74 68 65 20 43 54 52 4C 20 |ch use the CTRL | 000006C0: 6B 65 79 20 69 6E 20 63 6F 6D 62 69 6E 61 74 69 |key in combinati| 000006D0: 6F 6E 20 77 69 74 68 20 6B 65 79 73 20 6F 74 68 |on with keys oth| 000006E0: 65 72 20 74 68 61 6E 20 22 49 22 20 28 6C 69 6B |er than "I" (lik| 000006F0: 65 20 67 65 6F 43 61 6C 63 29 20 77 6F 75 6C 64 |e geoCalc) would| 00000700: 20 62 65 63 6F 6D 65 20 71 75 69 74 65 20 63 6F | become quite co| 00000710: 6E 66 75 73 65 64 2E 20 20 49 74 20 73 68 6F 75 |nfused. It shou| 00000720: 6C 64 20 62 65 20 70 6F 73 73 69 62 6C 65 20 74 |ld be possible t| 00000730: 6F 20 64 69 73 61 62 6C 65 20 43 54 52 4C 2D 3E |o disable CTRL->| 00000740: 54 61 62 20 66 72 6F 6D 20 69 6E 73 69 64 65 20 |Tab from inside | 00000750: 73 75 63 68 20 61 70 70 73 2C 20 62 75 74 20 49 |such apps, but I| 00000760: 20 68 61 76 65 6E 27 74 20 74 72 69 65 64 2E 20 | haven't tried. | 00000770: 0D 0D 43 54 52 4C 2D 3E 54 61 62 20 77 6F 72 6B |..CTRL->Tab work| 00000780: 73 20 62 79 20 63 68 61 6E 67 69 6E 67 20 74 68 |s by changing th| 00000790: 65 20 47 65 6F 73 20 6B 65 79 62 6F 61 72 64 20 |e Geos keyboard | 000007A0: 64 65 63 6F 64 69 6E 67 20 74 61 62 6C 65 20 73 |decoding table s| 000007B0: 6F 20 74 68 61 74 20 74 68 65 20 43 54 52 4C 20 |o that the CTRL | 000007C0: 6B 65 79 20 69 73 20 64 65 63 6F 64 65 64 20 61 |key is decoded a| 000007D0: 73 20 61 6E 20 22 49 22 20 28 70 75 74 73 20 24 |s an "I" (puts $| 000007E0: 36 39 20 61 74 20 24 66 63 36 30 29 2E 20 20 41 |69 at $fc60). A| 000007F0: 70 70 61 72 65 6E 74 6C 79 2C 20 74 68 65 20 73 |pparently, the s| 00000800: 79 73 74 65 6D 20 64 65 63 6F 64 65 73 20 43 54 |ystem decodes CT| 00000810: 52 4C 20 73 65 70 61 72 61 74 65 6C 79 20 61 73 |RL separately as| 00000820: 20 77 65 6C 6C 2C 20 73 6F 20 74 68 61 74 20 74 | well, so that t| 00000830: 68 65 20 73 79 73 74 65 6D 20 69 73 20 66 6F 6F |he system is foo| 00000840: 6C 65 64 20 69 6E 74 6F 20 74 68 69 6E 6B 69 6E |led into thinkin| 00000850: 67 20 74 68 61 74 20 62 6F 74 68 20 6B 65 79 73 |g that both keys| 00000860: 20 61 72 65 20 62 65 69 6E 67 20 70 72 65 73 73 | are being press| 00000870: 65 64 2E 0D 0D 54 68 69 73 20 69 73 20 74 68 65 |ed...This is the| 00000880: 20 66 69 72 73 74 20 61 73 73 65 6D 62 6C 79 20 | first assembly | 00000890: 70 72 6F 67 72 61 6D 20 49 27 76 65 20 77 72 69 |program I've wri| 000008A0: 74 74 65 6E 20 69 6E 20 79 65 61 72 73 20 61 6E |tten in years an| 000008B0: 64 20 6D 79 20 66 69 72 73 74 20 47 65 6F 73 20 |d my first Geos | 000008C0: 61 73 73 65 6D 62 6C 79 20 70 72 6F 67 72 61 6D |assembly program| 000008D0: 20 65 76 65 72 2E 20 20 49 74 20 72 65 6C 69 65 | ever. It relie| 000008E0: 73 20 68 65 61 76 69 6C 79 20 6F 6E 20 74 68 65 |s heavily on the| 000008F0: 20 53 61 6D 70 6C 65 44 41 20 73 74 75 66 66 20 | SampleDA stuff | 00000900: 66 72 6F 6D 20 74 68 65 20 67 65 6F 50 72 6F 67 |from the geoProg| 00000910: 72 61 6D 6D 65 72 20 70 61 63 6B 61 67 65 2E 0D |rammer package..| 00000920: 0D 43 54 52 4C 2D 3E 54 61 62 20 69 73 20 70 75 |.CTRL->Tab is pu| 00000930: 62 6C 69 63 20 64 6F 6D 61 69 6E 2E 20 20 44 6F |blic domain. Do| 00000940: 20 77 69 74 68 20 69 74 20 77 68 61 74 20 79 6F | with it what yo| 00000950: 75 20 6C 69 6B 65 2E 0D 0D 0D 49 52 56 20 43 4F |u like....IRV CO| 00000960: 42 42 |BB |
...CTRL->TAB DOCS..GEOWRITE 64 AND 128 D IFFER IN A NUMBER OF WAYS, ONE OF THEM B EING THE 128'S TAB KEY. AFTER USING THE 128 VERSION FOR A WHILE, I FOUND MYSELF WISHING FOR THE SAME FEATURE ON MY 64. THIS PROGRAM IS THE RESULT OF THAT WISH ...ORIGINALLY, I HOPED TO BE ABLE TO GET GEOS TO SCAN THE FUNCTION KEYS AND THEN DEFINE ONE OF THEM AS CTRL-I (I STILL L IKE THIS OPTION, BUT IT'S BEYOND MY ABIL ITY TO EVEN DETERMINE IF IT'S FEASIBLE.) IN PLAYING AROUND WITH THE DEBUGGER, H OWEVER, I CAME UPON THIS FIX, WHICH IS N OT AS ELEGANT, BUT JUST AS FUNCTIONAL... TO USE CTRL->TAB, FIRST ENTER A GEOWRITE DOUMENT. THEN, FROM THE "GEOS" MENU, C LICK ON "CTRL->TAB". THE DESK ACCESSORY WILL APPEAR, DISPLAYING A "TOGGLE" ICON , "FILE" MENU, AND THE CURRENT STATUS OF CTRL->TAB...STATUS.."ACTIVE" STATUS MEA NS THAT THE CTRL KEY ALONE WILL FUNCTION AS A TAB KEY, MAKING THE CTRL-I COMBINA TION BOTH NON-FUNCTIONAL AND UNNECESSARY ..."INACTIVE" MEANS THAT THE CTRL-I COMB INATION IS NECESSARY FOR TABS...TOGGLE.. CLICKING ON THE "TOGGLE" ICON WILL SWITC H THE STATUS OF THE CTRL KEY. IF THE ST ATUS IS REPORTED AS ACTIVE, IT WILL BE M ADE INACTIVE. IF THE STATUS IS REPORTED AS INACTIVE, IT WILL BE MADE ACTIVE...F ILE..CLICK ON FILE AND THEN ON "QUIT" TO EXIT THE DA. THE CURRENT STATUS OF THE CTRL KEY WILL BE PRESERVED IN RAM...THI S IS THE ALPHA VERSION OF CTRL->TAB. IN TESTING, I HAVE HAD NO SYSTEM CRASHES A S A RESULT OF ITS USE. PLEASE LET ME KN OW IF YOU HAVE PROBLEMS, SO I CAN TRY TO FIX THEM...I STRONGLY SUGGEST THAT CTRL ->TAB BE USED ONLY FROM INSIDE GEOWRITE. THE CTRL KEY STATUS SHOULD BE RETURNED TO INACTIVE BEFORE GEOWRITE IS QUIT. T HE DESKTOP DOESN'T SEEM TO MIND CTRL->TA B, BUT I'M SURE APPLICATIONS WHICH USE T HE CTRL KEY IN COMBINATION WITH KEYS OTH ER THAN "I" (LIKE GEOCALC) WOULD BECOME QUITE CONFUSED. IT SHOULD BE POSSIBLE T O DISABLE CTRL->TAB FROM INSIDE SUCH APP S, BUT I HAVEN'T TRIED. ..CTRL->TAB WORK S BY CHANGING THE GEOS KEYBOARD DECODING TABLE SO THAT THE CTRL KEY IS DECODED A S AN "I" (PUTS $69 AT $FC60). APPARENTL Y, THE SYSTEM DECODES CTRL SEPARATELY AS WELL, SO THAT THE SYSTEM IS FOOLED INTO THINKING THAT BOTH KEYS ARE BEING PRESS ED...THIS IS THE FIRST ASSEMBLY PROGRAM I'VE WRITTEN IN YEARS AND MY FIRST GEOS ASSEMBLY PROGRAM EVER. IT RELIES HEAVIL Y ON THE SAMPLEDA STUFF FROM THE GEOPROG RAMMER PACKAGE...CTRL->TAB IS PUBLIC DOM AIN. DO WITH IT WHAT YOU LIKE....IRV CO BB
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL