Jump to content

pixelpedant

Members
  • Posts

    1,103
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by pixelpedant

  1. Oh, and mdude put a tested/working Hexbus Printer 80 up for bidding (not buy it now): https://www.ebay.com/itm/225515335671 Too rich for my blood, and anyway, I don't really have any use for it, if I'm being honest. But a tempting opportunity for some.
  2. A fun quote from the author, posted on a video I did about TI Runner, a while back: Manuals of Interest: - Star Runner (Databiotics cart version) - TI Runner Level Editor - TI Runner
  3. Yep, the HexTIr gives you cheap disk storage and RS-232 that follows TI's standards on their hexbus implementation as closely as one could hope for. More on that here.
  4. Mike Dudek put up a couple more in-box, tested and fully working (no screen defects) CC-40s. One 6K unit and one 18K unit. Fairly expensive, but these don't come around every day.
  5. Yeah, E/A didn't hit store shelves (i.e., achieve general commercial distribution) until Spring '82, though that having said, I know they had it on hand and functioning at Winter CES '82 (so January). And if I recall correctly, the Pittsburgh UG (and maybe a couple other UGs - I don't have my notes handy right now) got a prototype demo in Fall 81. Both Extended BASIC and Editor/Assembler had very lengthy "debuts", to the extent that it was a long time between their first being demonstrated to the TI faithful, and their reaching large-scale production and widespread commercial distribution.
  6. Nice. I've found Inufuto's simpler platformers to be my favourites (though Aerial is also great). So another is very much invited.
  7. I did not actually assemble code. I can corroborate Vorticon's observation, however, that there's some weird and inconsistent (with documentation) behaviour on the part of the ALDS environment, in my case as well. Namely, scrolling sequentially through lines of entered code in the line editor does not succeed as documented (but produces an "Invalid line number" error), and any line which is displayed using the E/EDIT or LIST command will display 00000 as its line number, regardless of line. The code is evidently being stored successfully (i.e., "E 3" or "E 00003" will correctly retrieve the third line as entered). But lines will always be displayed as 00000 {some code} and as a result, editing with the E/EDIT command cannot occur unless the line number is manually corrected in any given case.
  8. Can we get the TI LOGO 1 manual I scanned added to the TI LOGO section? As I say, it is a completely different text by a different author (and for a different version) than the TI LOGO 2 manual currently posted on the parent post: TI LOGO.pdf
  9. The floating point math in Hell's Halls is just too complex and pervasive to do an integer-only rewrite. Stuff like the probability of a door being generated on any given as-yet-ungenerated wall: D(X)=-(RND<0.6^UE+0.4) Or the equations for deriving sound frequency from tokens in sound strings then generating relevant (tone and periodic noise) complementary frequencies: 7435 A=(A*A*A/14400+25)*4 7440 FOR V=11 TO I+15 STEP 50/I 7445 CALL SOUND(-425*I,A,V,A+2,V,A*3.81,30,-4,V-I) 7450 NEXT V Everything hinges on floating point math and the fact that all TI BASIC subprograms inherently treat floating point values as equivalent to their nearest integer value (so that for example CALL HCHAR(RND+1,RND+1,33) writes character 33 to 1,1 or 1,2 or 2,1 or 2,2 with equal probability, as the X and Y values will be floating point values ranging from 1 to 2). An integer version would be a total ground-up rewrite. My recommendation for someone looking for a little bit of a speed boost would just be to run it in RXB as this will be a bit faster, but not so much as to be disruptive.
  10. I kind of doubt there's any surviving manufacturer documentation on the joystick interface, though someone may have worked it out by experimentation at some point. However, otherwise of interest when it comes to documentation on the machine (as a computer per se), here's a product sheet for the GI SP1000 speech synth/recognition chip used by the MBX: sp1000-sheet.pdf Interfacing with the 6809 is addressed as an option there, and this is what is used on the MBX.
  11. Indeed, CALL SAY can take two different types of input. Either a word contained in the default vocabulary (written in letters), or an LPC speech string (as binary data). One third possibility is segmenting an existing LPC string in the default vocabulary acquired via CALL SPGET to speak an LPC substring. But this is complex, as speech frames are of greatly varied size, and so targeting the start of a speech frame within a pattern (i.e., other than at its beginning) is not possible without fully decoding the pattern (or just getting really lucky). Anyway, I go into a little more detail about what can be done with CALL SAY in this video here:
  12. Not to my knowledge. There are some newsletter items, but not a tonne. To a large extent, advanced CC-40 BASIC programming is the same as advanced Extended BASIC programming, and the big difference is just 1) 6K of RAM on the most common model, so you've got to be even more memory conservative than in TI BASIC, and 2) character graphics follow similar conventions, but with the actual display being quite different, necessarily (with each tile being a 5x7 character and 5x1 underline, with 1 pixel column intervening between tiles, and one pixel row intervening between the character and underline).
  13. It's definitely great to have the MAME implementation, especially for the folks out there without a fully functioning CC-40. But even with a full functioning CC-40 and HexTIr on my desk, it's proving very handy for quick tests. The only issue I have with that option at present is a relatively minor graphical one which can probably be resolved by tweaking MAME's screen filtering on my end. Which is that the dot matrix is much more defined for me on the real CC-40, with dots having relatively well-defined edges, and there being space intervening between dots, so visually, the effect is quite different. I'll probably have to look into MAME's screen filtering settings, accordingly, to see if something a bit more representative can be achieved.
  14. Yup, as can be seen by the pictures in this thread, I'd just been using my CC-40 for the first couple mini-programs here, but I switched to MAME this weekend, after writing up a macro to facilitate automated code entry made that more practical.
  15. And another 10 line variation on this one. The arithmetic underlying this loop structure is so deeply tortured. I'm quite fond of it. 2023-03-13 01-28-45.mp4 1 C$="0E040404000E04040E001F111B1B1F1F111B111F1B150E151B041104110404061F0604" 2 FOR C=0 TO 28 3 IF C<7 THEN CALL CHAR(C,"1500"&SEG$(C$,C*10+1,10)&"15") 4 NEXT C 5 Q=-(Q<=0)-Q-(Q=56)*54 6 CALL CHAR(6,SEG$("1500040C1F0C0415150004061F060415",1-(ABS(Q)>C)*16,16)) 7 S$=CHR$(5)&CHR$(5)&CHR$((Q<0)*-2)&CHR$((Q<0)*-2+1)&CHR$(5) 8 S$=RPT$(CHR$(5)&CHR$(4),13)&S$&RPT$(CHR$(5)&CHR$(4),13) 9 PRINT CHR$(6)&SEG$(S$,ABS(Q)+(ABS(Q)>C)*(ABS(Q)-C)*2,C)&CHR$(6) 10 GOTO 5
  16. For some reason I decided this week I felt like doing another strict "10 Liner" demo for CC-40 which does something visually interesting. With a technical constraint inherently imposed by the device being 80 character line length (or it would not be possible to type it, on original hardware). And a further constraint imposed by the strict 10 liner format being that the program must contain only 10 discrete statements (with no statement separators). Anyway, here's something I came up with, which runs an indefinite back and forth animation of sorts. The speed of the animation can be moderated in either direction by adding or removing -TAN(0) expressions on Line 8 (which exist only to impose a delay there). 2023-03-12 18-58-05.mp4 1 DIM S$(2) 2 C$="EE4E4E0EAAE0EEE4E4EE4EEE0EAAE0EEE4EE0E0E0E0EAAE0E0E0E0" 3 FOR C=0 TO 5 4 CALL CHAR(C,"15000"&SEG$(C$,C*9+1,9)&"15") 5 NEXT C 6 S$(0)=RPT$(CHR$(4)&CHR$(5),14)&CHR$(0)&CHR$(2)&RPT$(CHR$(4)&CHR$(5),14) 7 S$(1)=RPT$(CHR$(5)&CHR$(4),14)&CHR$(1)&CHR$(3)&RPT$(CHR$(5)&CHR$(4),14) 8 Q=-(Q<=0)-Q-(Q=56)*54-TAN(0)-TAN(0)-TAN(0)-TAN(0)-TAN(0) 9 PRINT CHR$(127)&SEG$(S$(-(Q<0)),ABS(Q)+(ABS(Q)>29)*(ABS(Q)-29)*2,29)&CHR$(126) 10 GOTO 8
  17. Nevermind, I have identified the cause of the behaviour originally mentioned here. Please remove if possible.
  18. If any of you use Autohotkey, well, here is an AHK macro for pasting the clipboard into MAME CC-40 BASIC in an automated fashion (which observes relevant keystroke combinations for the emulation). Probably I am the only person on earth who finds this useful. But in case anyone else does, here it is. Simply press INSERT and code contained on the clipboard will be typed into the CC-40. Like so: 2023-03-12 03-27-26.mp4 Some minor error checking is observed (duplicate lines, lines without a number, out-of-order lines which may be indicative of incorrect numbering). Typing will terminate if the window is deselected. #IfWinActive MAME: Compact Computer 40 [cc40] { Insert:: lines:=[] prev:=0 Loop, parse, clipboard,`n,`r ; split on LF, omit CR if present { content:=StrSplit(A_LoopField,A_Space,,2) num:=content[1] if (num="") { continue } else if num is not digit ; if no valid line number { mess:="No valid line number for line " A_Index ". in text. Line reads `n`n" Trim(A_Loopfield) "`n`nEnter anyway?" MsgBox, 4, , %mess% IfMsgBox No { return } continue } else if (lines[num]) ; if line number duplicated { mess:="Line number " num " used here:`n`n" num A_Space lines[num] "`n`nAlso found here:`n`n " num A_Space content[2] "`n`nEnter anyway?" MsgBox, 4, , %mess% ifMsgBox No { return } } else if (num<prev) { mess:="Line number " prev " precedes line number " num " as follows:`n`n" prev A_Space lines[prev] "`n" num A_Space content[2] "`n`nEnter anyway?" MsgBox, 4, , %mess% ifMsgBox No { return } } lines[num]:=content[2] prev:=num } SetKeyDelay, 40,50 ; pre-press delay and press duration in ms Sleep, 300 Loop, parse, clipboard,,`r { IfWinNotActive, ahk_exe Mame64.exe { return } switch A_LoopField { case Chr(34): Send +2 case "!": Send +1 case "(": Send +8 case ")": Send +9 case "'": Send +0 case "+": Send {NumpadAdd} case "?": Send +{=} case "*": Send {NumpadMult} case "/": Send {NumpadDiv} case Chr(10): { Send {Enter} Sleep, 750 ; newline delay in ms } default: Send %A_Loopfield% } } Send {Enter} ; optionally, always enter final line even when newline absent return }
  19. Yes. Here are the instructions for Doom Games 1, 2 and 3 (and also, The Volcano Fortress and Halls of Lost Moria): https://pixelpedant.com/items/browse?tags=Tunnels+of+Doom The Shopping Trip is in Doom Games 3.
  20. For me, placing the /TI99-4A/ folder contained within the archive in the GameBase folder (for the GameBase frontend as previously distributed) and simply running the GameBase frontend executable results in the option to select the GameBase v3.03 distribution: And I can confirm that selecting that option, I do get the new games list, with a couple games released in the last year. Great work on this, incidentally! GameBase is an incredible resource!
  21. Fascinating stuff! Never knew German Video Chess did that!
  22. My computers/programming course (can't recall what it was actually called) in high school was also based around Pascal, but under a relatively obscure Canadian mainly DOS-based Pascal environment known as Watcom Pascal which was used here in Ontario for quite some time. I consequently have some nostalgia for it, myself. It was seemingly also released for C64:
  23. Mainly, that it is focused on addressing the p-System as a cross-platform operating system, rather than simply interested in teaching you Pascal. Secondly, that it is well situated in history. In 1983, at a time when p-System implementations had reached their point of greatest diversity. Such that it can address this ecosystem fairly meaningfully:
  24. It was a 40 year wait for the CC-40 to get proper mass storage. I figure an extra 24 hours isn't too bad, in context.
  25. Really, the tools TI BASIC gave buyers on Day 1 in 1979 with the base machine - in terms of disk and file and record-level access conventions and file structures and commands for taking advantage of these in TI BASIC - they go far beyond anything its home computer competitors were building into ROM BASICs in its era. You could build yourself a pretty full-featured file browser in pure TI ROM BASIC, with no additional software required. I figure I wouldn't trade that for a CAT command in a million years.
×
×
  • Create New...