-
Posts
1,103 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Community Map
Everything posted by pixelpedant
-
The F18a DIY alternative with HDMI :)
pixelpedant replied to retrocanada76's topic in Classic Computing Discussion
Alright, well you asked for it. Here is a much more interesting and much more compact, but drastically more abstruse example of TI BASIC music, of my own devising: 10 N$="JA>7A>74>7'!47" 20 GOSUB 100 30 END 40 GOSUB 70 50 I=A-64 60 RETURN 70 A=ASC(N$) 80 N$=SEG$(N$,2,LEN(N$)-1) 90 RETURN 100 GOSUB 40 110 FOR X=1 TO LEN(N$) 120 GOSUB 70 130 A=(A*A*A/14400+25)*4 140 FOR V=11 TO I+15 STEP 50/I 150 CALL SOUND(-425*I,A,V,A+2,V,A*3.81,30,-4,V-I) 160 NEXT V 170 NEXT X 180 RETURN Using a few key techniques essential to exploitation of the SN76489/TMS9919. Detuning, use of periodic noise for bass accompaniment, and an attenuation envelope (attack and decay) done in software. -
The F18a DIY alternative with HDMI :)
pixelpedant replied to retrocanada76's topic in Classic Computing Discussion
One nice little TI Console BASIC music demo (for unexpanded TI-99) is this one, which is a New Years 1983 "Auld Lang Syne" demo. But probably needless to say, 95% of music demos are Extended BASIC. All of Sam Moore Jr.'s best stuff. 100 REM **AULD LANG SYNE** 110 CALL CLEAR 120 CALL SCREEN(4) 130 CALL CHAR(96,"000101030307070F") 140 CALL CHAR(97,"0F1F1F3F3F7F7FFF") 150 CALL CHAR(98,"FFFFFFFFFFFFFFFF") 160 T=600 170 CALL SOUND(T*1.1,262,5) 180 CALL CHAR(104,"00030F1F3F3F7F7F") 190 CALL CHAR(105,"7F7F3F3F1F0F03") 200 CALL CHAR(106,"00C0F0F8FCFCFEFE") 210 CALL CHAR(107,"FEFEFCFCF8F0C0") 220 CALL SOUND(T*1.5,349,5,262,12,175,15) 230 CALL VCHAR(8,5,98,9) 240 CALL VCHAR(8,4,96) 250 CALL VCHAR(9,4,97) 260 CALL SOUND(T/2,349,5,262,12,196,15) 270 CALL SOUND(T,349,4,262,12,220,15) 280 CALL CHAR(108,"7F3F1F070F1F3F7F") 290 CALL CHAR(109,"FEFCF8C0F0F8FCFE") 300 CALL SOUND(T,440,5,349,12,175,15) 310 CALL HCHAR(8,10,98,3) 320 CALL HCHAR(8,9,104) 330 CALL VCHAR(9,9,98,3) 340 CALL SOUND(T*1.5,392,5,330,12,131,15) 350 CALL HCHAR(12,9,105) 360 CALL HCHAR(12,10,98,3) 370 CALL VCHAR(8,13,106) 380 CALL VCHAR(9,13,98,7) 390 CALL SOUND(T/2,349,5,294,12,131,15) 400 CALL SOUND(T,392,5,330,12,131,15) 410 CALL HCHAR(16,13,107) 420 CALL HCHAR(16,10,98,3) 430 CALL HCHAR(15,9,98) 440 CALL HCHAR(16,9,105) 450 CALL SOUND(T,440,5,330,12,131,15) 460 CALL HCHAR(8,17,104) 470 CALL HCHAR(8,18,98,3) 480 CALL HCHAR(8,21,106) 490 CALL VCHAR(9,21,98,3) 500 CALL SOUND(T*1.5,349,6,220,12,175,15) 510 CALL VCHAR(9,17,98,3) 520 CALL HCHAR(12,17,108) 530 CALL HCHAR(12,18,98,3) 540 CALL HCHAR(12,21,109) 550 CALL SOUND(T/2,349,6,220,12,175,15) 560 CALL VCHAR(13,17,98,3) 570 CALL SOUND(T,440,4,349,12,175,15) 580 CALL VCHAR(16,17,105) 590 CALL HCHAR(16,18,98,3) 600 CALL HCHAR(16,21,107) 610 CALL SOUND(T,523,3,349,10,175,13) 620 CALL VCHAR(13,21,98,3) 630 CALL HCHAR(9,25,98) 640 CALL HCHAR(8,25,104) 650 CALL SOUND(3*T,587,2,349,8,233,10) 660 CALL HCHAR(8,26,98,3) 670 CALL HCHAR(8,29,106) 680 CALL VCHAR(9,29,98,3) 690 CALL HCHAR(12,27,98,2) 700 CALL HCHAR(12,29,109) 710 CALL VCHAR(13,29,98,3) 720 CALL HCHAR(16,29,107) 730 CALL HCHAR(16,26,98,3) 740 CALL HCHAR(16,25,105) 750 CALL HCHAR(15,25,98) 760 CALL SOUND(T,587,2,349,8,233,10) 770 CALL SCREEN(8) 780 PRINT " `b hbbbj hbbbj a" 790 CALL SOUND(T*1.5,523,3,349,10,220,13) 800 PRINT " ab b b b b b" 810 CALL SOUND(T/2,440,4,349,12,175,15) 820 PRINT " b b b b b b" 830 CALL SOUND(T,440,6,349,12,175,15) 840 PRINT " b b b b b b b" 850 CALL SOUND(T,349,6,220,12,175,15) 860 PRINT " b ibbbb lbbbm b b" 870 CALL SOUND(T*1.5,392,6,330,12,131,15) 880 PRINT " b b b b bbbbb" 890 CALL SOUND(T/2,349,6,294,12,131,15) 900 PRINT " b b b b b" 910 CALL SOUND(T,392,6,330,12,131,15) 920 PRINT " b b b b b b" 930 CALL SOUND(T,440,6,330,12,131,15) 940 PRINT " b ibbbk ibbbk b" 950 CALL SOUND(T*1.5,349,6,294,12,147,15) 960 PRINT 970 CALL SOUND(T/2,294,7,220,12,147,15) 980 PRINT 990 CALL SOUND(T,294,7,233,12,117,15) 1000 PRINT 1010 CALL SOUND(T,262,8,233,14,131,16) 1020 PRINT 1030 CALL SOUND(3*T,349,8,220,15,175,17) 1040 PRINT: : : 1050 CALL SOUND(T,587,5,349,12,175,15) 1060 CALL COLOR(9,5,1) 1070 CALL COLOR(10,5,1) 1080 CALL COLOR(2,7,1) 1090 CALL SOUND(1.5*T,523,5,349,12,175,15) 1100 FOR I=1 TO 25 STEP 5 1110 CALL HCHAR(6,I,42) 1120 NEXT I 1130 CALL SOUND(T/2,440,6,262,15) 1140 CALL SOUND(T,440,6,349,12,175,15) 1150 CALL HCHAR(4,13,42) 1160 CALL HCHAR(4,17,42) 1170 CALL HCHAR(2,11,42) 1180 CALL HCHAR(2,19,42) 1190 CALL SOUND(T,349,6,110,18) 1200 CALL HCHAR(4,8,42) 1210 CALL HCHAR(2,6,42) 1220 CALL HCHAR(4,22,42) 1230 CALL HCHAR(2,24,42) 1240 CALL SOUND(1.5*T,392,6,330,14,131,16) 1250 FOR I=1 TO 25 STEP 5 1260 CALL HCHAR(18,I,42) 1270 NEXT I 1280 CALL SOUND(T/2,349,6,294,12,131,17) 1290 CALL SCREEN(8) 1300 CALL SOUND(T,392,7,330,15,131,17) 1310 CALL HCHAR(20,13,42) 1320 CALL HCHAR(20,17,42) 1330 CALL HCHAR(22,11,42) 1340 CALL HCHAR(22,19,42) 1350 CALL SOUND(T,587,6,330,14,131,16) 1360 CALL HCHAR(20,8,42) 1370 CALL HCHAR(22,6,42) 1380 CALL HCHAR(20,22,42) 1390 CALL HCHAR(22,24,42) 1400 CALL SOUND(1.5*T,262,6,349,14,131,16) 1410 CALL HCHAR(4,3,42) 1420 CALL HCHAR(2,1,42) 1430 CALL HCHAR(4,27,42) 1440 CALL HCHAR(2,29,42) 1450 CALL COLOR(9,7,1) 1460 CALL COLOR(10,7,1) 1470 CALL SOUND(T/2,440,7,131,16) 1480 CALL SOUND(T,440,6,349,14,175,16) 1490 CALL HCHAR(20,3,42) 1500 CALL HCHAR(22,1,42) 1510 CALL HCHAR(20,27,42) 1520 CALL HCHAR(22,29,42) 1530 CALL SOUND(T,523,5,220,15) 1540 CALL SOUND(3*T,587,3,349,12,233,14) 1550 CALL COLOR(2,16,1) 1560 CALL SOUND(T,698,2,349,13,233,15) 1570 CALL COLOR(2,12,1) 1580 CALL SOUND(1.5*T,523,3,349,12,220,14) 1590 CALL COLOR(9,11,1) 1600 CALL COLOR(10,11,1) 1610 CALL SOUND(T/2,440,4,349,13,175,15) 1620 CALL SOUND(T,440,4,349,13,175,15) 1630 CALL COLOR(2,5,1) 1640 CALL SOUND(T,349,5,262,13,110,15) 1650 CALL COLOR(2,16,1) 1660 CALL SOUND(1.5*T,392,5,330,13,131,15) 1670 CALL COLOR(9,14,1) 1680 CALL COLOR(10,14,1) 1690 CALL COLOR(2,7,1) 1700 CALL SOUND(T/2,349,5,294,13,131,15) 1710 CALL COLOR(2,16,1) 1720 CALL SOUND(T,392,5,330,12,131,15) 1730 CALL COLOR(2,12,1) 1740 CALL SOUND(T/2,440,5,330,13,139,15) 1750 CALL COLOR(2,16,1) 1760 CALL SOUND(T/2,392,5,330,13,139,15) 1770 CALL COLOR(2,3,1) 1780 CALL SOUND(1.5*T,349,5,294,14,147,16) 1790 CALL COLOR(9,16,1) 1800 CALL COLOR(10,16,1) 1810 CALL COLOR(2,16,1) 1820 CALL SOUND(T/2,294,6,220,14,175,16) 1830 CALL COLOR(2,6,1) 1840 CALL SOUND(T,294,7,233,15,117,17) 1850 CALL COLOR(2,14,1) 1860 CALL SCREEN(11) 1870 CALL SOUND(T,262,7,165,15,131,17) 1880 CALL COLOR(2,12,1) 1890 CALL SOUND(T*4,349,6,220,15,175,17) 1900 CALL SCREEN(8) 1910 CALL COLOR(9,7,1) 1920 CALL COLOR(10,7,1) 1930 CALL COLOR(2,16,1) 1940 CALL COLOR(2,14,1) 1950 CALL COLOR(2,16,1) 1960 CALL COLOR(2,11,1) 1970 CALL COLOR(2,16,1) 1980 CALL COLOR(2,7,1) 1990 CALL COLOR(2,16,1) 2000 CALL COLOR(2,6,1) 2010 GOTO 1930 2020 END And also, here's a rendition of Somewhere Over the Rainbow, from a pretty cool TI BASIC game called Adventures in Oz: 100 REM *RAINBOW* TI BASIC 110 REM FOR USE WITH ADVENTURE IN OZ GAME 120 REM FROM PROGREMS FOR THE TI HOME COMPUTER 130 REM COPYRIGHT (C) 1983 BY STEVE DAVIS 140 CALL SCREEN(2) 150 CALL CLEAR 160 FOR I=9 TO 14 170 CALL COLOR(I,2,2) 180 NEXT I 190 CC=96 200 FOR I=1 TO 24 210 CALL HCHAR(I,1,CC,32) 220 CC=CC+8 230 IF CC<129 THEN 250 240 CC=96 250 NEXT I 260 CALL COLOR(9,7,7) 270 CALL COLOR(10,12,12) 280 CALL COLOR(11,13,13) 290 CALL COLOR(12,5,5) 300 CALL COLOR(13,14,14) 310 GOSUB 410 320 CALL SOUND(230,40000,30) 330 GOSUB 410 340 CALL SOUND(115,40000,30) 350 GOSUB 720 360 CALL SOUND(10,40000,30) 370 GOSUB 410 380 CALL SOUND(1000,40000,30) 390 CALL CLEAR 400 STOP 410 A=0 420 B=6 430 C=9 440 CALL SOUND(922,196,B,233,B,311,A) 450 CALL SOUND(922,392,B,466,B,622,A) 460 CALL SOUND(461,294,B,466,B,587,A) 470 CALL SOUND(230,294,B,392,B,466,A) 480 CALL SOUND(230,294,B,440,B,523,A) 490 CALL SOUND(461,294,B,466,B,587,A) 500 CALL SOUND(461,277,B,523,B,622,A) 510 CALL SOUND(922,208,B,262,B,311,A) 520 CALL SOUND(461,156,B,392,B,523,A) 530 CALL SOUND(461,156,B,370,B,523,A) 540 CALL SOUND(461,196,B,349,B,466,A) 550 CALL SOUND(461,196,B,311,B,466,A) 560 CALL SOUND(461,175,B,294,B,466,A) 570 CALL SOUND(461,165,B,277,B,466,A) 580 CALL SOUND(922,156,B,208,B,262,A) 590 CALL SOUND(922,175,B,311,B,415,A) 600 CALL SOUND(461,233,B,311,B,392,A) 610 CALL SOUND(230,233,B,262,B,311,A) 620 CALL SOUND(230,233,B,294,B,349,A) 630 CALL SOUND(461,233,B,330,B,392,A) 640 CALL SOUND(461,233,B,277,B,415,A) 650 CALL SOUND(461,220,B,294,B,349,A) 660 CALL SOUND(230,220,B,247,B,294,A) 670 CALL SOUND(230,220,B,262,B,311,A) 680 CALL SOUND(461,208,B,294,B,349,A) 690 CALL SOUND(461,208,B,294,B,392,A) 700 CALL SOUND(1383,196,B,233,B,311,A) 710 RETURN 720 CALL SOUND(230,466,A) 730 CALL SOUND(230,156,C,311,C,392,A) 740 CALL SOUND(230,156,C,311,C,466,A) 750 CALL SOUND(230,156,C,233,C,392,A) 760 CALL SOUND(230,156,C,233,C,466,A) 770 CALL SOUND(230,156,C,262,C,392,A) 780 CALL SOUND(230,156,C,262,C,466,A) 790 CALL SOUND(230,156,C,233,C,392,A) 800 CALL SOUND(230,156,C,233,C,466,A) 810 CALL SOUND(230,262,C,311,C,415,A) 820 CALL SOUND(230,262,C,311,C,466,A) 830 CALL SOUND(230,262,C,311,C,415,A) 840 CALL SOUND(230,262,C,311,C,466,A) 850 CALL SOUND(230,233,C,294,C,415,A) 860 CALL SOUND(230,233,C,294,C,466,A) 870 CALL SOUND(230,233,C,294,C,415,A) 880 CALL SOUND(230,233,C,294,C,466,A) 890 CALL SOUND(922,156,4,392,4,523,A) 900 CALL SOUND(1383,311,4,392,4,523,A) 910 CALL SOUND(115,40000,30) 920 CALL SOUND(230,466,A) 930 CALL SOUND(230,156,C,311,C,392,A) 940 CALL SOUND(230,156,C,311,C,466,A) 950 CALL SOUND(230,156,C,233,C,392,A) 960 CALL SOUND(230,156,C,233,C,466,A) 970 CALL SOUND(230,156,C,262,C,392,A) 980 CALL SOUND(230,156,C,262,C,466,A) 990 CALL SOUND(230,156,C,233,C,392,A) 1000 CALL SOUND(230,156,C,233,C,466,A) 1010 CALL SOUND(230,262,C,311,C,440,A) 1020 CALL SOUND(230,262,C,311,C,523,A) 1030 CALL SOUND(230,262,C,311,C,440,A) 1040 CALL SOUND(230,262,C,311,C,523,A) 1050 CALL SOUND(230,185,C,311,C,440,A) 1060 CALL SOUND(230,185,C,311,C,523,A) 1070 CALL SOUND(230,185,C,311,C,440,A) 1080 CALL SOUND(230,185,C,311,C,523,A) 1090 CALL SOUND(922,349,4,466,4,587,A) 1100 CALL SOUND(922,311,4,370,4,587,A) 1110 CALL SOUND(922,349,4,523,4,698,A) 1120 CALL SOUND(922,294,4,370,4,523,A) 1130 RETURN -
Kind of. I've just grabbed this from my Twitter banner where it's obviously cropped to suit the purpose, but these are boxes I actually have displayed on my wall: With the clear plastic covers absent, as those have usually born the brunt of the wear (but happily, as a result, having preserved what's inside).
-
What is the Holy Grail of the TI99 4/A World?
pixelpedant replied to Mtlatc's topic in TI-99/4A Computers
Here is a better view of the Milton Bradley Expander (MBX proto) demoed at CES, as it appeared in Electronic Fun (April 1983): -
What is the Holy Grail of the TI99 4/A World?
pixelpedant replied to Mtlatc's topic in TI-99/4A Computers
Much appreciation for your hooking me up with a working one, so I could do that video some while back, though. -
What is the Holy Grail of the TI99 4/A World?
pixelpedant replied to Mtlatc's topic in TI-99/4A Computers
Very much agree on how personal holy grails are, in this community. So while we're talking about those, here are my own, best as I can figure off the top of my head: Hardware (nearly impossible): CC-40+ Hardware (extremely unlikely): P-System Sidecar Hardware (merely improbable): Myarc HFDC Software (nearly impossible): CC-40 wafertape software library Software (extremely unlikely): Arcturus (Exceltec/Sunware) Software (merely improbable): Legends 1.0 and 1.1 (complete) -
What is the Holy Grail of the TI99 4/A World?
pixelpedant replied to Mtlatc's topic in TI-99/4A Computers
Impossibly unobtainable: Dimension 1 & 4 (pre-99/4 prototype) Almost impossibly unobtainable if you don't already have one: TI 99/8 (99/4A successor prototype) Among carts, I would say the Arcturus cart from Sunware/Exceltec (only a few out there, and it's a genuinely interesting game). This all being said, this community is less "collector" oriented than more popular systems. Most people are coders or hardware developers - not people collecting game carts. So the "rare collector's item" category isn't all that well defined, just because almost nobody is a "TI-99 cart collector" sort of thing, first and foremost. -
Documents TI-99 - DOCs, Manuals, eBooks, Lost & Found
pixelpedant replied to Schmitzi's topic in TI-99/4A Computers
There's a CADD version of the XBII+ manual kicking around though, which is in fact the Mechatronic XBII+ English manual. That being said, a scan of the German manual is very nice to have. Partly because it's a scan per se (unlike the CADD version, which is almost exclusively digital text), and partly because it's the German version. -
Documents TI-99 - DOCs, Manuals, eBooks, Lost & Found
pixelpedant replied to Schmitzi's topic in TI-99/4A Computers
Awesome stuff, Steve! XBII+ really does seem like one of the most interesting flavours of XB. -
There's only so much that can be said for the second best pinball-style game of the 99/4 era (the best in said category being the Pinball game in Video Games 1, in my opinion). Video Games 1 Pinball is actually sort of fun.
-
Cosmopoly (Not Polyoptics) manual PDF?
pixelpedant replied to InfernalKeith's topic in TI-99/4A Computers
If I recall correctly, it was effectively an in-joke. "Polyoptics" was one of the names initially proposed, but as far as that choice of branding goes, they ended up being able to conclude on nothing save that "Polyoptics" was out of the question. So they ended up with "Not Polyoptics". Found a citation to that effect, in a Chicago Newsletter: -
Cosmopoly (Not Polyoptics) manual PDF?
pixelpedant replied to InfernalKeith's topic in TI-99/4A Computers
Awesome. Thanks for the scan, Jim! I've paginated/rotated/cropped/retouched/OCRed the manual as follows, and of course uploaded to my manuals site: Cosmopoloy - Not Polyoptics - OCR.pdf -
While this is a worthwhile observation for certain niche situations (where one previously used CALL key via Key Unit 0, but now want to treat the value in a case-insensitive manner), I guess I don't really understand why one would use Key Unit 0 - an explicitly case-sensitive key scan - for ESDX input, if one specifically desires a case-insensitive key scan (which is otherwise also available). Key Unit 1 will just ignore the state of the caps lock key with no actual work. And another nice thing about Key Unit 1 is that it returns values from 0-6 for keys in the ESDX area (e.g., the WASD keys return 1,2,3,4 while ESDX returns 0,2,3,5) rather than ASCII values (WASD returns 87,65,83,68 while ESDX returns 69,83,68,88). So even case aside these tend to be much more directly useful in their unmodified state (for selecting array values, screen locations, ON GOSUB destinations, etc.)
-
In this case, I was doing everything to minimise the data payload of the program, so this sort of approach was very desirable. The prepended bytes are of course two bytes, while appending two numeric strings as follows... DATA 10,1,"WRITE THIS AT 10,1" Is going to be seven bytes (unquoted string, length, 1, 0, unquoted string, length, 1), if I've got my tokenisation math right. And those extra bytes every time you write any text to screen are really going to start to add up, in a program which is writing text a great deal.
-
There are *lots* of TI BASIC subprograms to this effect out there. Since almost every complex TI BASIC program contains one. Here's a working example from an early version of Hell's Halls 1, which I've tried to disentangle from program-specific features. I tried simplifying the one from Hell's Halls 2, but there's no disentangling it from the program's internal interpreter to such an extent as to make it independently useful. The essential strategy here being to prefix any text string with two bytes signifying Y and X positions for the DISPLAY AT, which are treated as possessing their ASCII value - 64 (and hence, A=1, B=2, etc.) Such that "JAWRITE THIS AT 10,1" writes "WRITE THIS AT 10,1" at J=10 (Y) and A=1 (X). Note that N$ can be read from DATA if GOSUB 5000 is used, or read from N$ directly (where a value has been assigned to it prior to the GOSUB) if GOSUB 5005 is used. 1000 DATA "JAWRITE THIS AT 10,1" 1010 CALL CLEAR 1020 GOSUB 5000 1030 END REM DISPLAY AT sub REM DATA STRUCTURE: Y,X,TEXT... 5000 READ N$ REM Pop value from N$ and fetch Y pos as I 5005 GOSUB 7260 5010 Y=I REM Pop X pos 5015 GOSUB 7260 5025 FOR X=W TO LEN(N$)-1 REM Pop character values off string as unmodified value 5050 GOSUB 7385 5055 CALL HCHAR(Y,I+X,A) 5060 NEXT X 5065 RETURN REM SUB: Pop first value off N$ and return A-64 7260 GOSUB 7385 7265 I=A-64 7270 RETURN REM SUB: Put ASC in A and pop first value off N$ 7385 A=ASC(N$) REM Entry point for only popping first value, and not assigning I 7390 N$=SEG$(N$,2,LEN(N$)-1) 7395 RETURN
-
Classic99 and TI BASIC odd behavior
pixelpedant replied to InfernalKeith's topic in TI-99/4A Development
Yeah, I've never experienced this kind of corruption with either Hell's Halls or its sequel, and in both cases, I'd have Classic99 left running for literally a month without corruption. With versions of Classic99 dating back a couple years, all the way up to today. Especially in the case of Hell's Halls, I was (while using all available memory) pushing nearly all updates by just pasting modified lines into Classic99. But this issue never arose. That's not really the case with the sequel though. There, I need to tokenise externally and reload the program nearly every time I update, as the program uses all characters which can be typed on the TI-99 (including all non-printable characters which may still be typed). And a large subset of those (like 176-198, all of which a TI-99 can type) have no ASCII representation. So they can't just be pasted into Classic99. -
Well here's something that was of interest to me from a recent auction, as I had not seen it before. German TI Writer keyboard strip:
-
Indeed, would be nice if those had something to share, and it were shared. That having said, even if they were TI's own wafertape programs, most of their named wafertape software titles are pretty dry stuff of course:
-
TOLLKEEPER - new BASIC game in development
pixelpedant replied to InfernalKeith's topic in TI-99/4A Development
One other option if you get desperate and you've got a fair number of custom patterns taking up space in your program is you can load your custom patterns into the range from 128 to 159 (which is never reset by BASIC itself) with one program (either on the other side or preceding the main program on the same one), then load and run the main program after. This gives you 32 custom patterns which cost you exactly zero program memory. -
TOLLKEEPER - new BASIC game in development
pixelpedant replied to InfernalKeith's topic in TI-99/4A Development
Nice. TI BASIC really wanted for more strategy/tactical/turn-based games. Given it can do lovely graphics and complex math and data structures. Just not quickly. I look forward to seeing more. -
I and my wife have some friends who are devout in a way we are not, and whom we tend to celebrate a lot of the holidays with (as they see wrangling their lazier friends for such occasions as kind of a mitzvah). This program will provide a delightful excuse for me to engage in my irritating habit of bringing up all things TI-99 at every opportunity, next time we're over at their place for Shabbat.
-
The way I figure, they just designed around a 4x10 matrix, and added in the supplemental spacebar at the bottom, as a quality-of-life feature. That would have been a very early addition, though. The Dimension 1 and Dimension 4 prototypes (and even the concept art preceding them) have the space bar, in all the examples I've seen. So that's all in the early design stage. As to the Space key in the third row, one reason for there to be a space key in the main 4x10 matrix is that a design idea which seemingly figured into the Dimension N units was the wireless joysticks reduplicating that matrix across two 20 key keypads: You can see that notion of the "remotes" as secondary wireless keyboard represented even better here: All of that becomes moot of course, as in the end, IR is dropped, and the wired remotes are just joysticks. But for the original design to work, it's necessary that there be a space key in the 4x10 matrix.
-
TI 99/4A Speech Synth Browser/Editor Thingy
pixelpedant replied to pixelpedant's topic in TI-99/4A Computers
So having reminded myself and tested, this is indeed the correct means of opening then playing the INT/FIX 255 files output by the synth editor, in this case for a file called "PLNO" located on DSK1: 10 OPEN #1:"DSK1.PLNO",INTERNAL,INPUT,FIXED 255 20 INPUT #1:WRD$ 30 CALL SAY(,WRD$) Note that quotation marks are not required to provide for an initial empty argument for CALL SAY. A comma is fine. With the output (of the mashed up speech) in this case being: 2023-04-07 19-48-51.mp4 -
TI 99/4A Speech Synth Browser/Editor Thingy
pixelpedant replied to pixelpedant's topic in TI-99/4A Computers
I'll have to take a look at my files and get you those details. I used it as recently as about six months ago or thereabouts, to throw together some samples. I'll just have to refresh my memory, as regards how that worked. -
One thing that makes it difficult to canonically list cassette games is simply that nearly all cassette games were also distributed on disk at some point, and many disk games were also distributed on cassette. So for example, TI Trek was originally distributed on disk by TI, but almost nobody played the original first-party TI-branded disk version (which is extremely rare). And nearly everyone played later versions (often distributed on cassette). But that having said, one can conclusively identify a category of "cassette-compatible programs", nearly all of which are BASIC programs, and most of which are console BASIC programs (rather than XB). With these being programs that can unequivocally be run from cassette, but will admittedly and inevitably have also and often been distributed on disk. I did a video a while back on the best 1980s era TI BASIC cassette and type-in games. And an archive of all TI BASIC cassette and type-in games discussed there is linked here (and in the description of the video). For outside vendors who principally created cassette games, see Not Polyoptics and ASD&D as examples. See also, as a phenomenal collection of mainly cassette games (nowadays distributed on disk for convenience), the TI BASIC Games listing at TI Game Shelf. Note that while a cassette game need not be a TI BASIC game, the number of assembly games designed to load from cassette is vanishingly small. As the population of users who did have the 32K memory upgrade and a Loading solution, but did not have a disk drive was not really a niche which ever existed.
