Jump to content

Search the Community

Showing results for tags 'extended basic'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Classic Consoles
  • Classic Computing
  • Modern Consoles
  • Gaming General
  • Marketplace
  • Community
  • Community
  • Game Programming
  • Site
  • PC Gaming
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Arcade Gaming's Discussion
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's General
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Robin Gravel's new blog's Games released
  • Atari Video Club's Harmony Games
  • Atari Video Club's The Atari Gamer
  • Atari Video Club's Video Game Summit
  • Atari Video Club's Discsuuions
  • Star Wars - The Original Trilogy's Star Wars Talk
  • PlusCart User's Bug reports
  • PlusCart User's Discussion
  • DMGD Club's Incoming!
  • DASM's General
  • AtariVox's Topics
  • Gran Turismo's Gran Turismo
  • Gran Turismo's Misc.
  • Gran Turismo's Announcements
  • The Food Club's Food
  • The Food Club's Drinks
  • The Food Club's Read me first!
  • The (Not So) Official Arcade Archives Club's Rules (READ FIRST)
  • The (Not So) Official Arcade Archives Club's Feedback
  • The (Not So) Official Arcade Archives Club's Rumor Mill
  • The (Not So) Official Arcade Archives Club's Coming Soon
  • The (Not So) Official Arcade Archives Club's General Talk
  • The (Not So) Official Arcade Archives Club's High Score Arena
  • Adelaide South Australia Atari Chat's General Chat & Welcome
  • Adelaide South Australia Atari Chat's Meets
  • Adelaide South Australia Atari Chat's Trades & Swaps
  • KC-ACE Reboot's KC-ACE Reboot Forum
  • The Official Lost Gaming Club's Lost Gaming
  • The Official Lost Gaming Club's Undumped Games
  • The Official Lost Gaming Club's Tip Of My Tounge
  • The Official Lost Gaming Club's Lost Gaming Vault
  • The Official Lost Gaming Club's Club Info
  • GIMP Users's Discussion

Blogs

There are no results to display.

There are no results to display.

Calendars

  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 28 results

  1. i saw this video on youtube https://www.youtube.com/watch?v=0yKwJJw6Abs and i thought, i can totally do that on the TI.. so.. 10 D$="FF" :: FOR D=65 TO 65+8 :: D$="00"&D$ :: CALL CHAR(D,D$) :: NEXT D :: FOR B=1 TO 10 :: PRINT "F";"E";"D";"C";"B";"A";"A";"B";"C";"D";"E";"F";"G"; :: B=1 :: NEXT B i had to print each character individually to get the required screen movement.. Here's xbasic, and compiled.. WAVE is normal extended basic, -X is compiled but loads in extended basic, and -E is EA5 load. looks pretty slick compiled some small screen glitches likely because I'm running classic99 in Wine on a linux pc.. WAVE-X WAVE-E WAVE
  2. Don't forget to visit Ninerpedia; our wiki about the TI-99/4A. Check here. If you are the owner of one of the programs or sites and do not want it posted, please let me know and it will be removed immediately. Also if you think a reference to an important development resource is missing, then please let me know and I'll be happy to add to the list. If you are new to the TI-99/4A or returning after a long time, then you might want to check out the TI-FAQ page here. Also make sure to visit the TI-99/4A Home Computer Book Archive by @airernie, now hosted by @acadiel. It's a great collection of excellent technical books about programming the TI-99/4A. Latest update: May 5th 2019 1. Emulators classic99 win Windows-based emulator including TI-99 ROMs under license from Texas Instruments. Debugger, memory heatmap, OS file support, support for 128K bank-switch carts, can create ROM/GROM cartridges, possibility to record AVI movies. User manual is included. Check the classic99 Updates thead for the latest news on classic99. Click here to watch Tursi's classic99 tips and tricks video tutorial. (Author: @Tursi) MAME win+linux Multiple system emulator that supports the TI-99/4, TI-99/4A, TI-99/8, and Geneve. Emulates more than 400 systems. Requires ROMs from the original systems. Features a powerful Debugger, most accurate emulation, support for 64K bank-switch carts / Gram Kracker / UCSD p-code expansion card. Possibility to record AVI movies. Also see the MAME section in ninerpedia. (Author: @mizapf) Js99'er All major browsers TI-99/4A emulator written in javascript. Has support for TMS9918A VDP & supports most of the F18A functionality, TMS9919 sound. Virtual disk drives using google drive. Some preloaded games, demos and applications included. Js99'er development thread on Atariage can be found here. Js99'er source code repository on Github can be found here. (Author: @Asmusr) V9t9 win+linux TI-99/4A emulator written in java. Has support for TMS9918A VDP, TMS9919 sound & TMS5220 speech. Debugger included. V9t9 also supports the UCSD P-Code system. Some of the advanced V9t9 features include: ability to save/restore emulator state, record & playback, support for V9938 VDP. Requires ROMs from the original systems. This emulator needs the Java Runtime Environment available for free at Oracle. V9t9 discussion thread can be found here. (Author: @eswartz) Win994a win Windows-based emulator of the TI-99/4a Good TMS9900 cross-assembler included. No debugger. Ti994w win Windows based emulator. Offers 80 column support, SAMS card 1Mb of RAM, V9938 support, built-in debugger, ... (Author: @F.G. Kaal) TI-99/Sim linux Linux-based software simulation of the TI-99/4A. PC99 DOS Commercial DOS-based emulator licensed by Texas Instruments to sell ROMs. 2. Programming languages Assembly language - Software Winasm99 win Windows based TMS9900 cross assembler with GUI and ability to build 8K cartridge roms. Is part of the Win994a emulator. asm990 linux Linux based cross Assembler for the TI 990 by Dave Pitts. You'll also need lnk990 a separate linker which can be found on the same page. TIasm win TMS9900 cross assembler TIasm will build 8K console (>0000) or cartridge (>6000) rom. Is part of the old V9T9 emulator package. Source is included. Editor/Assembler IV TI-99/4A Editor/Assembler IV is a module for the TI99/4A home computer. The software this cartridge contains is the in TMS9900 assembler rewritten Editor and Assembler loader, Program loader and an implementation of my own written Linking Loader and a simple debugger. The editor and debugger are running completely in the module space (>6000 - >7FFF). The assembler is copied from EPROM to CPU RAM before it is started. (Author: @F.G. Kaal) XA99 - Cross Assembler 99 win XA99 (Cross Assembler 99) is a program for assembling TMS9900 assembler code on the PC. (Author: @F.G. Kaal) L99 - Linker 99 win L99 is a tagged object file linker by Fred Kaal for creating program files for the TI99 and Geneve home computer. (Author: @F.G. Kaal) xdt99 - TI 99 Cross-Development Tools win, linux, OS X The TI 99 Cross-Development Tools (xdt99) are a small suite of programs that facilitate the development of programs for the TI 99 family of home computers on modern computer systems. All programs are written in Python and thus run on any platform that Python supports, including Linux, Windows, and Mac OS X. Includes xas99 (TMS9900 cross-assembler), xga99 (GPL cross-assembler!) and some command line tools for handling disk images and nanoPEB/CF7A+ volumes. The development thread on atariage can be found here. (Author: @ralphb) Assembly language - Manuals Editor/Assembler reference manual PDF The official Editor/Assembler reference manual. Note that this is not a tutorial for beginners. Still, it's an essential manual when writing assembler for the TI-99/4A. The online version can be found here. COMPUTE!'s beginner's guide to assembly language on the TI-99/4A PDF The Lottrup book. The only manual available today focusing on programming games in TMS9900 assembler. The examples in the book are for the Mini Memory line-by-line assembler which is rather limited. The manual also contains a few errors. Check here for the corrections. Nonetheless this book is a must-read for everyone seriously interested in writing assembler games for the TI-99/4A. The online version can be found here. Introduction to Assembly Language for the TI Home Computer PDF The Molesworth assembly language introduction book. Covers VDP communication, keyboard reading, file access and a lot more. The Art of Assembly series PDF The full series of articles by the late Bruce Harrison compiled as PDF. Over 600 pages, very well written and thorough. Assembly on the 99/4A WEB Excellent thread on Assembly language programming for the TI-99/4A, focussing on game loops, etc. (Author: @matthew180) SPECTRA2 zip Library for programming games in TMS9900 assembly language. Has routines for handling tiles, sprites, sound & task scheduler. Documentation manual PDF is included. (Author: @retroclouds) BASIC - Software Power BASIC TI-99/4A This is a port of the 'Power BASIC' interpreter used with the TMS9995-based Powertran Cortex machine. It is written in pure assembly. Graphic commands, sprites and saving to disk are supported. Currently no sound and speech supported. Power BASIC instruction manual available. Playground TI-99/4A Playground is a package making it possible to create assembly language programs that run from TI BASIC on an unexpanded console using only a cassette player to load the program(!) Although primarily intended for use in TI BASIC, programs written for playground can be run from XB, saved in E/A 5 format, loaded into a supercart, and even made into an actual cartridge. The manual describes in detail the differences in style necessary when programming for an environment that runs in only 256 bytes of memory. There is a library of subroutines for printing text, printing a number, shifting blocks in VDP, generating random numbers, using the line editor from BASIC, HCHAR, VCHAR,GPLLNK, a bit reversal routine, and a fast scroll routine. Source code is included for three different programs that should help you get started. Check here for the development thread on Atariage. Check this related thread for some clever work based on Playground. (Author: @senior_falcon) Extended BASIC - Software Extended Basic Game Developers Package "ISABELLA" TI-99/4A This package has been extensively updated to be faster, more versatile, and much simpler to use. It consists of two applications that make it possible to produce arcade quality games with XB. Although they are designed to complement each other, each is a stand alone utility. This is meant to be used with the Classic99 emulator, but the resulting programs are fully compatible with a real TI99 with nothing more than XB, 32K and a disk drive. Note that the included XBGDP package has an option to use the older TI BASIC only runtime routines if desired. It replaces for the older "Harry Wilhelm's BASIC COMPILER" and as a bonus, it's much easier and faster to use. (Author: @senior_falcon) 1) XB256 XB256 lets you toggle between two independent screens as desired. Screen2 lets you define all 256 characters and have up to 28 double sized sprites using the character definitions available to Screen1. Scrolling routines let you scroll characters left, right, up, or down or scroll using single pixels. There is a text crawl that gives an effect similar to the STAR WARS title screen. You can highlight text, set the sprite early clock, print in any direction on the screen using 32 columns, read/write to VDP ram, write compressed strings or sound tables to VDP ram, play a sound list, and catalog a disk. A utility lets you save selected areas of VDP memory as compressed strings that cn be merged with your program. With this, character definitions, sound tables, screen images, etc. can be saved in a more compact form that can be loaded virtually instantaneously, even in XB There are two utilities that convert the CALL SOUNDs in an XB program into a sound table containing music and sound effects. Sound tables can be loaded directly into VDP memory and played automatically while your XB program does other things. Also, a second player can play a different sound list simultaneously with the first, so you can have backgroundmusic playing and add sound effects on top of the background music. 2) XB COMPILER COMPILER lets you compile an XB program into an equivalent assembly language program that will run about 30 times faster. All the XB256 subprograms are supported by the compiler and in general, all the major features of XB are supported, including XB style IF/THEN/ELSE and named subprograms. About the only XB features that are not supported are DEF and the trig functions. T80XB TI-99/4A T80XB is a collection of assembly language subroutines that give the Extended BASIC programmer easy access to the 80 column screen mode offered by the F18A and other 80 column upgrades. Lets you select from two independent screens. G32 is the default screen when a program starts running.. This is the 32 column graphics mode screen normally used by Extended BASIC. It is accessed using the usual XB graphics statements. T80 is the 80 column text screen which offers 24 rows of 80 columns.. You can toggle between the two screens as desired, preserving the graphics on each screen. When using the T80 screen there are assembly equivalents that replace PRINT, CLEAR, COLOR, INPUT, CHAR, HCHAR, VCHAR plus routines that will scroll the screen and invert text on the screen. (Author: @senior_falcon) RXB 2015E TI-99/4A RXB 2015E is an updated version of TI Extended Basic. Most bugs in XB have been fixed in RXB and GKXB is in the main core of RXB. RXB has features no other XB has such as Batch processing or Hard Drive Access or updated CALL routines. The below RXB tutorials on Youtube give a good overview of RXB's power: RXB DEMO 1 video RXB DEMO 2 video RXB DEMO 3 video RXB DEMO 4 video RXB DEMO 5 video RXB DEMO 6 video RXB DEMO 7 video RXB DEMO 8 video RXB DEMO 9 video RXB DEMO A video RXB DEMO B video RXB DEMO C video Full documentation, examples and GPL source code included in the ZIP package. Cartridge image for classic99 emulator also included. Requires a GRAM device such as a GRAM Kracker for running RXB on the TI-99/4A. (Author: @RXB) My Little Compiler (MLC) TI-99/4A Library for using assembler-like language & routines from Extended Basic. Great for putting more power in Extended Basic programs. Now includes a precompiler for high-level language syntax. Demo Pong game and documentation included. The MLC development thread can be found here. Check out the video by @rocky007 on his MLC based TI-99/4A port of Kaboom! (Author: @moulinaie) The Missing Link 2.0 (TML) TI-99/4A The zip archive contains "The Missing Link 2.0" and its documentation. This was published by Texaments in 1990. It gives the XB programmer easy access to the bit mapped features of the 9918 VDP. Full color cartesian graphics, turtle graphics, sprite graphics (32 sprites with auto motion) are supported. Text can be displayed on screen with fonts having sizes ranging from 4x6 pixels to 8x8 pixels. The manual is updated with many previously undocumented features. A tutorial called "Potatohead" is included. There is a loader that embeds A/L programs in high memory - they can be saved as an XB program and run directly out of high memory. (Author: @senior_falcon) TidBiT - BASIC/XB Translator win, linux, OS X A translator program that reads a program written in a custom, structured form of BASIC and translates it to a BASIC / Extended BASIC program. PHP required when doing a local installation. Check here for the latest revision, installation instructions included. (Author: @matthew180) Kull KXBII Extensions TI-99/4A Kull Extended BASIC II programming package. High resolution graphics and clock support in Extended Basic. Documentation by @hloberg. Extended BASIC - Manuals COMPUTE!'s Programmer's Reference Guide to the TI-99/4A PDF TI-Basic programming manual touching graphics and sound. COMPUTE!'s TI Collection volume One PDF The online version can be found here. Best of TI-Basic programming by C. Regena Texas Instruments TI-99/4A user reference guide PDF The official user reference guide with details how to setup and connect your TI-99/4A. Includes an introduction on the TI-BASIC programming language. Extended Basic reference manual PDF The official extended basic manual, explaining the 40 new or expanded commands, sprites, etc. Check here for the online version with command lookup functionality. MG Night Mission PDF Advanced tutorial on how to program an arcade game in Extended Basic. MG Smart Programming Guide for Sprites PDF Advanced tutorial on how to efficiently use sprites in Extended Basic. C - Software C99 v4 TI-99/4A C99 is a small C compiler for the TI-99/4A written by the famous C. Pulley. Documentation included. C99C - C99 cross compiler and optimizers win C99C is the enhanced PC version of the C99 compiler for the TI99/4A home computer. Also included are multiple optimizers for compacting the generated assembly source (C Optimizer, Function Call Optimizer, ...) (Author: @F.G. Kaal) GNU C Compiler (GCC) win + linux + osx GCC for the TMS9900 allows you to cross-compile C programs on your PC (Linux, OSX or Windows) for the TI. Insomnia's release contains a set of patches against GCC 4.4. Just check out the code from the GCC project, apply the patches and build according to the build instructions for your platform and you're on your way to write programs and games for the TI in a high level language that rival the speed of assembly. And if you need just that little bit extra in terms of speed, you can always inline TMS9900 assembly for the critical sections of your code and compile everything with the same toolchain. For access to the VDP, the SN76489, etc... you can use Tursi's ti99 library, which you can find in the GCC thread. Hop over to the INSOMNIA LABS blog for background information on this port. Check the "Setting up the GCC compiler for the TI-99/4A" video by @Tursi for detailed steps on how to build and install GCC on your Windows PC. You can now download the cygwin binary port of the older TI GCC 1.10 for Windows here. (Thanks @lucien2). (Author: @insomnia) Fortran - Software 99-9640 Fortran TI-99/4A & Geneve The zip archive contains LGMA Products' FORTRAN v4.4 in both a version for the TI-99/4A and the Geneve 9640 computer. Documentation in PDF format included. The discussion thread on Atariage can be found here. Special thanks to: dano Forth - Software Turboforth TI-99/4A A brand new implementation of the Forth langugage for the TI-99/4A. The Forth system itself is written in assembler and is optimized for speed. It runs from the cartridge space so there's plenty of space for your program in the 32K memory expansion. Check TurboForth.net the companion web site for the TurboForth system. Click here for seeing some Turboforth video tutorials. (Author: @Willsy) TI Forth Instruction Manual "2nd Edition 2013" PDF 2012 enhanced version of the original TI Forth Instruction Manual in PDF format by @Lee Stewart. Look here for details on manual improvements, etc. The updated TI-Forth system disk can be found here. (Author: @Lee Stewart) fbForth TI Forth with File-based Block I/O zip fbForth uses Level 3 file I/O for I/O of Forth blocks. It also implements 80-column text mode if you have a system with that facility. fbForth 32KB 2.0.X ROM cartridge available. (Author: @Lee Stewart) CAMEL99 V2 Forth TI-99/4A Multi-tasking Forth for the TI-99/4a. CAMEL99 Forth has been built as an educational tool for those who are interested in how you could cross-compile Forth to a different CPU using an existing Forth system. Camel99 Forth Development thread on Atariage can be found here. (Author: @TheBF) GPL - Manuals/Tutorials GPL Programmers Guide PDF The original GPL programming reference manual from Texas Instruments. Covers all opcodes and advanced stuff like coincidence detection, I/O routines, etc. GPL HOW 2 Series video A complete series on how to program GPL (Graphics Progroamming Language) on the TI-99/4A. Each tutorial has its own support package with example code, GPL assembler, etc. Video tutorials done by Rich, the programmer of Rich Extended Basic. (Author: @RXB) GPLHOW2A - Introduction video / zip GPLHOW2B - Sprite demo video / zip GPLHOW2C - How to make a Screen Editor like TI Writer or Editor Assembler video / zip GPLHOW2D - Editor Assembler TI BASIC support.video / zip GPLHOW2E - DMII cartridge upgrades and how GPL works video / zip GPLHOW2F - TI Basic to GPL. Converting a TI Basic program to GPL video / zip GPLHOW2G - TI Basic CALL SOUND to GPL video / zip GPLHOW2H - Simultaneous sound lists and interrupt timer in GPL video / zip GPLHOW2I - XB2GPL demo of a XB game Baloons converted into a GPL program video / zip GPLHOW2J - Update to GPLHOW2I and adds a automatic music to the game from the last demo video / zip GPLHOW2K - How to make XB Program Image files into I/V 254 files video / zip TI-Intern PDF Details on "Monitor", the OS of the TI-99/4A. Disassembly of console ROM/GROMS and GPL interpreter. Has details on interrupt routine, utility subprograms, basic interpreter, etc. The thread "The TI-99/4A Operating System" is an ongoing community project for commenting the source code of the TI-99/4A ROM and allowing it to be assembled with todays' assemblers. LOGO - Manuals TI-LOGO programming manual PDF The official TI-LOGO programming manual. The online version can be found here. Pascal - Software Turbo Pasc'99 TI-99/4A The zip archive has the patched version of Wiposofts Turbo Pasc'99 which you can run on your favorite emulator or on the TI-99/4A itself. While Turbo Pasc'99 is not as complete an implementation of Pascal as the UCSD Pascal system, it does have the advantage of not requiring any special hardware other than 32K RAM and a disk drive, and will likely meet the programming needs of most TIers. Check here for an english translation of the german documentation. This version is started by running the Editor Assembler #EA5 program image DSK1.TP99A Special thanks to: @Vorticon, @apersson850, @retroclouds and @lucien2 Pascal - Manuals UCSD Pascal ZIP + PDF The official UCSD Pascal programming manuals and disks. The zip file (70 megabytes) contains all manuals in PDF format. Here are the PDF manuals for online viewing: Compiler, Editor, Filer, Utilities, Assembler, Linker, p-code card The UCSD system disk images in v9t9/MESS format can be found here. Note that you need the UCSD P-code expansion card for running UCSD Pascal on the TI-99/4A. Thierry Nouspikel has lots of information on the technical implementation of UCSD Pascal on the TI-99/4A. Check here for details on the P-Code card and here for details on the P-Code system software. Also a lot of details on UCSD Pascal in general (p-system vm, documentation, cross compiler, ...) can be found here. 3. Technical Documentation Hardware TMS9900 Microprocessor Data Manual PDF Data Manual on the TMS9900 16-bit processor. The TMS9900 is the CPU used in the Texas Instruments TI-99/4A Home Computer. Contains instruction execution times, opcode size, etc. TMS9901 Programmable Systems Interface Data Manual PDF Data Manual for the TMS9901, Interrupt and I/O interface controller VDP Programmer's guide PDF The official programmer'a guide for the TMS9918A and its variants. The 9918A is the Video Display Processor chip used in the TI-99/4A and several other home computers + game consoles of that era. SN76489 sound chip datasheet PDF Data sheet for the SN76489 sound generator. The TMS9919 in the TI-99/4A is close to being identical with the SN76489. TMS5220 Speech Synthesizer Data manual PDF Data manual for the TMS5220 chip used in the TI-99/4A speech synthesizer device. Interface standard & Design Guide for TI 99/4A peripherals PDF The purpose of this manual was to consolidate all information available in the public domain on the design and development of peripherals for the TI 99/4A computer into one reference. Also covers the software aspects such as DSR architecture, PABs, etc. ROM Command Module Guide 2.0 PDF This manual provides a complete description of how Assembly Language User Programs need to be written so that the object code can be downloaded into (EP)ROM's which canthen be used in the "(EP)ROM module", a module designed to be used with the TI 99/4A Home Computer. TI Hardware Manual txt Compilation of valuable hardware & programming info on Myarc memory cards, Disk Controllers, Hard Drives, CPU identification (TMS9900, TMS9995, TMS99000) in assembly language, etc. DSR (Device Service Routine) / Disk & File Management Device Service Routine Specification for the TI-99/4(A) Personal Computer PDF Functional Specification for the 99/4 Disk Peripheral PDF Software Specification for the 99/4 Disk Peripheral PDF GPL Interface Specification for the 99/4 Disk Peripheral PDF File Management Specification for the TI-99/4 Home Computer PDF File Operations in assembly language 4. Homebrew Hardware Graphics & Sound F18A Video Display Processor The F18A is a FPGA based hardware and pin compatible replacement for the TMS9918A/TMS9928/TMS9929 VDP's (Video Display Processor). Besides VGA output it offers enhanced functionalities such as 80-column mode, additional video resolutions, hardware register scrolling, an embedded TMS9900 compatible GPU, etc. The development thread on Atariage, which includes the F18A programming documentation can be found here. The store on code|hack|create has the details on F18A availability, costs, etc. (Author: @matthew180) SID Master 99 sound synthesizer card The SID Master 99 is a new sound synthesizer expansion card for the Peripheral Expansion Box. It integrates the famous MOS 6581 or 8580 SID chip (as used in the Commodore 64 home computer). SIDPLAY99 sound player software available for use with this expansion card. The store on DSAPC has the details on Sid Master 99 availability, costs, etc. (Author: @marc.hull) Homebrew cartridge boards There are a number of Homebrew cartridge boards available to the users of the TI-99/4A now. Each has its own advantages and disadvantages from a usability standpoint, and some earlier types are only available by having your own made. To read the PCB layout files mentioned below, you need the ExpressPCB software which is available for free. Check here. The files are currently not released in Gerber/Excellon format, but can be converted to it using the RobotRoom Copper Connection software, available here. Note that to convert files to Gerber format you have to have the licensed version of the software ($50). 16K board PCB file The first of the new cartridge boards is the 16K board designed by @acadiel and @Stuart. This board used an inverted output from a 74LS379 to select between two 8K banks at >6000 in the TI memory map. The banks are selected by writing to >6000. This board allows most of the third-party cartridges designed for the 99/4A to be replicated. Further details on this board (components, EPROMS, software, etc.) can be found in: 16k_board_details.rtf FlashROM 99 PCB file, firmware source code The TI 99/4A Flash ROM Cartridge, or FlashROM 99 for short, is a cartridge for the TI 99/4A home computer that allows for running ROM cartridge images stored on an SD card. The FlashROM 99 supports ROM-only images of up to 32K that use the write-to->60xx bank switching scheme. It will not work with programs using GROMs or CRU-based bank switching. The cartridge does not require the Peripheral Expansion Box and runs on both PAL and NTSC consoles. Discussion thread on Atariage can be found here. (Author: @ralphb) FinalGROM99 PCB file, firmware source code The TI 99/4A FinalGROM Cartridge, or FinalGROM 99 for short, is a cartridge for the TI 99/4A home computer that allows you to run ROM and GROM cartridge images from an SD card. It succeeds the FlashROM 99 released in 2016. The FinalGROM 99 supports ROM images, GROM images, and mixed images of up to 1 MB in size that use the write-to-ROM bank switching scheme. The cartridge does not require the Peripheral Expansion Box and runs on both PAL and NTSC consoles, including modified consoles with an F18A. It will also run on v2.2 consoles and enables those to run ROM-only programs. The development thread on Atariage can be found here. (Author: @ralphb) 5. Utilities (file transfer, graphics, sound, ...) File Transfer TIImageTool win + linux TIImageTool is a tool that allows you to open disk image files as used with many emulators, and to work on them with common disk operations (like cut/copy/paste of files). It is particularly tailored for use with MESS but can also be used with other emulators. Has support for v9t9 format, PC99 format, CHD format, working with files & directories, Archiver support (can process Archiver files on the images), ... This utility needs the Java Runtime Environment available for free at Oracle. Supports Cf7a+ card images. (Author: @mizapf) TI99Dir win TI99 filemanager for windows. Great for transferring disk images to the TI-99/4A. Supports Cf7a+ cards and Cf7a+ card images. (Author: @F.G. Kaal) TiDisk-Manager OS X The TiDisk-Manager is a disk tool for disk images from floppy disks used by a TI-99/4A home computer. You will need an Apple Macintosh or Hackintosh running with Mac OS X 10.9 or newer. Has many features including file preview, export, etc. and even an interactive editor to disassemble program files and create good readable source code. The development thread on atariage can be found here (Author: @HackMac) Cf2k - Compact Flash 2000 TI-99/4A Cf2k (Compact Flash 2000) is a file manager for the TI99/4a with a CF7A+ compact flash adapter. With CF2k it is possible to protect/unprotect files, rename files/volumes, format volume, mount volume, copy/move/delete files, execute program files, ... Supports Cf7a+ cards. (Author: @F.G. Kaal) Graphics Convert9918 win Windows program for converting images into TMS9918A Graphics II (bitmap) mode. Output is in TI-Artist format or raw image/pattern dump. The article Modern Graphics on the 9918APDF gives an interesting overview on the techniques used in Convert9918. (Author: @Tursi) GraphiCV win/linux/osx Sprite Editor written in java. Draw your sprites on the PC and export them for use in Extended Basic and Assembler. Also supports export to Colecovision C format. Work with multiple sprite "layers" for creating multi-colored sprites. Click here for the GraphiCV development thread on atariage. Source code is also available at github. Check here. This utility needs the Java Runtime Environment available for free at Oracle. (Author: @unhuman) Magellan win/linux/osx TI-99/4A map editor written in java. This is the latest, updated, unofficial version. Draw your maps/screens on the PC and export them for use in Extended Basic and Assembler. Has a rich feature set: Import character set from '.PNG' or '.GIF' file, copy & paste, drawing functions, support for half-bitmap mode, Export in XB display merge format, etc. Possibility to export maps as data statements for Extended Basic and Assembler, binary export also possible. Click here for the Magellan development thread on Atariage This utility needs the Java Runtime Environment available for free at Oracle. (Author: @The Codex). Enhanced by @retroclouds, @sometimes99er, @Asmusr. Sprite Editor TI-99/4A TI-99/4A sprite editor written in C99. Runs from Editor/Assembler #EA5. Draw your sprites in an emulator or on the TI-99/4A machine. The zip file contains both the files for use in emulator and a TI disk image for easy transfer to the TI-99/4A. README file with detailed instructions included. You can see the Sprite Editor at work building some sprites: Jet Set Willyvideo and Parsecvideo. (Author: @Willsy) Sound VGM player Compresses VGM files into a format that can be played back on the TI using the included player from C and assembly. (Author: @Tursi) Mod2PSG2 Fully featured PC tracker for arranging music for the SN76489 and compatible sound chips. Can export to VGM and other formats. (Author: KonTechs/Martin) Sound List Ripper PC tool for ripping and playing back sound lists from TI files. Supports basic editing of sounds lists. (Author: @Asmusr) Sound list player Plays back sound lists from XB and assembly. (Author: @matthew180) Advanced Sound List Player TI tools for editing and playing back advanced sounds lists. (Author: @marc.hull) Speech QBOX Pro win QBOX Pro is the windows software that converts WAV files to LPC speech data for playback on the TI-99/4A speech synsthesizer. This is a 16bit windows application but it still runs in Windows 2000/XP/Vista. It requires the BWCC.DLL library which can be found here. BlueWizard osx LPC analysis tool for the Texas Instruments TMS5220 chip. Replacement for QBOX Pro. Has very good speech quality. Source code and pre-built install image for OS X can be found on gitHub here. Discussion thread on Atariage available here. (Author: @patrick99e99) Python Wizard unix/win This project is a python port (command line version and GUI) of the great macOS tool BlueWizard. It is intended to convert (voice) audio streams into LPC bitstreams used in the TMS 5220 chip or e.g. in the Arduino library Talkie. Now you can generate your own LPC streams and make your chips say the things you want them to. (Author: @deladriere) TI Synth Editor win TI LPC speech pattern exploration and editing app in the spirit of the venerable Speecoder. Watch the "How To" video to create custom speech synth here (Author: @pixelpedant) Editors Notepad++ win Notepad++ is a free source code editor that supports several languages. Runs in Windows environment. Notepad++ syntax highlighting file win Syntax highlighting file for Assembler and Extended Basic to be used with the Notepad++ text editor. 6. Tutorials Assembly language Building a multi-bank ROM image PDF Tutorial on compiling a 32K bank-switched cartridge ROM image starting from assembly source code (deref utility included). How to implement an assembly sound player for XB web Very well written tutorial on how to implement an assembly sound player for Extended Basic. It covers the tools needed and steps involved. Commented assembly source code Not a tutorial in the classical sense, but the commented source codes of the below games should help you get the idea. Pitfall! source code ZIP Munchman source code PDF TI invaders source code PDF TI Invaders source code TXT PARSEC source code PDF Moon Mine source code PDF Hopper source code PDF Thank you @Ksarul for your OCR work on the PARSEC source code. Thank you @Stuart for your OCR work on the TI-Invaders source code and tweaking it for assembly with Winasm99. Thank you @dphirschler for pointing me to Hopper and Moonmine source code. TMS9918/TMS9928 Video Display Processor TMS9918/9928 video modes video Video tutorial explaining the supported graphic modes of the video processor used in the TI-99/4A. TMS9918/TMS9928 Sprites and Characters video Video tutorial about the use of sprites and character patterns in the different video modes. TMS9918/TMS9928 How to create a bitmap title screens video Video tutorial on how to create a bitmap screen for games. Speech Synthesizer Convert WAV file for playback using speech synthesizer video Video tutorial on how to use QBOX Pro to convert a 8kHz mono WAV file to LPC speech data for playback on the TI-99/4A with the speech synthesizer device. It shows how to embed the LPC byte stream into your own assembly language program. Compilers The Wilhelm Basic compiler video Video tutorial on how to compile a basic program to assembly language. (Author: @Opry99er) File transfer (TI99->PC) RS232 File Transfer video Video tutorial on file transfer from the TI-99/4A to the PC using a serial connection cable. (Author: @Opry99er) (PC->TI99) RS232 File Transfer VIEW PART 1 / VIEW PART 2 video Video tutorial split in 2 parts dealing with file transfer from the PC to the TI-99/4A using a serial connection cable. In detail: DL a game from TI Gameshelf, Use ARC303G to unarchive it, Test in Classic99, Transfer using QModem and MFM, Running game on TI. (Author: @Opry99er) 7. TI-99/4A related websites TI-99/4A @ wikipedia Introduction and basics of Texas Instruments TI-99/4A Home Computer. ninerpedia Wiki with information on MESS and its multicart format (RPK). Home of the TI-FAQ. Thierry Nouspikel's Tech Pages Probably the best TI hardware and software tech page. It has a wealth of technical details on all things TI-99/4A. This includes GPL, GROM, keyboard scanning, speech, etc. You can also download the full site as a zip file for offline viewing. Mainbyte's home of the TI-99/4A Very good tech site with many detailed pictures and reference area. Includes various projects for upgrading your TI-99/4A, e.g. build a supercart cartridge. Jon's hexbus page Several hardware projects including pictures. Home of the 64K bank-switched cartridge project. (Author: @acadiel) [code|Hack|Create] New website run by Matthew of the Atariage group. The site covers many new hardware projects as the F18A FPGA based VDP and Bank-switch mini 256K. There's also a store where you can buy cartridge PCB's and other funky stuff. (Author: @matthew180) The nanoPEB & CF7+ Website The official website. Has the documentation, tools and some source code of the popular TI-99/4A Compact Flash device. TurboForth.net TurboForth.net is the companion web site for the TurboForth system written in TMS9900 Assembly Language by Mark Wills for the Texas Instruments TI-99/4A computer. TI projects page Several hardware and software projects for the TI-99/4A. Home of TI-99Dir, TI99HDX and several other must-see projects. (Author: @F.G. Kaal) TI-99/4A Home Computer Book Archive Site where you find many books about the TI-99/4A not seen elsewhere, all collected by @airernie and now hosted by @acadiel (Author: @airernie) TI-99/4A Game Shelf Provides a gallery of interesting games with images of the opening screen as well as an in-play snapshot, along with a brief review tested on a real TI 99/4A system. Hardware requirements are also listed. Has many good Extended Basic games. (Author: @Vorticon) WHTech WHTech is the primary archive - though it's a bit overwhelming. But pretty much all software, hardware docs, etc, are available there. 99er.net Site with useful file archive and forum functionality. comp.sys.ti Covers all TI devices, including calculators.
  3. After a long time of procrastination I have finally got around to updating the Mille Borne for the TI-99 in Extended BASIC. I have added some sound effects, some voice CALL SAY("UHOH"), sped up parts of the program and cleaned up some minor bugs that had been long standing. This is 'probably' the last version but I have learned never to say never. The game is XB autoboot and is in .DSK v9t9 format. Enjoy. MILLEBORNE-V340.dsk
  4. Finally my tiny tribute to Phoenix! Download it in various format from here: https://www.bleepbit.com/2020/12/27/phoenix-tribute-for-ti-99-4a-extended-basic-basic-compiler/ Bye
  5. I don't know how much cross-over there is in this TI-99/4a sub-group with the Atari 8-bit home computer sub-forum, but I presume since this forum is hosted in the AtariAge forums that there must be at least a few people who collect for both computers. Right now, I have a six books for books for the TI-99/4a computer. They're the one's in my first TI video: https://www.youtube.com/watch?v=eoBjUDMar84 I'm looking to expand the TI books that I have currently in trade for spare Atari books that I have in my personal collection. Is anyone interested in doing trading books with me? If so, then I'd like to use this thread to post the books I have, and others can post the books that they have for trade. If a few people like this idea, then over the next few days I'll make a list of TI books that I want and a list, maybe with pictures, of the Atari books that I have for trade. So... is anyone interested in trading their spare or unwanted TI books with me? Adam P.S. Oh, and if you have no interest in Atari books, then you can always give your spare TI books to me...
  6. Created a little package for MAME/MESS that enables MyArcXBII and P-Card in one pre-made package. Just add latest MAME/MESS and go. It's on my project page that accesses my https://ti99resources.wordpress.com/:
  7. I have put a together MAME/MESS emulation package that emulates the MyArc Extended BASIC II & TI P-Card for the Ti99. MyarcXBII: MyArc was a company that made peripherals for the TI-99 line. There most famous peripheral (if you want to call it that) was the Geneve. The Geneve was a complete TMS 9995 computer that fit in the TI-99 PEB as a card. Another peripheral that was lesser known, but just as revolutionary, was the MyArc Extended BASIC II. The MyXBII consisted of the 128k or 512k Memory card, a set of disk and a cartridge. When running the MYXBII had 3 times the memory of TIXB, was up to twice as fast as TIXB and was able to access all the graphic capability of the TI graphics card including the hi-rez. If a MyArc HD disk card was added the software could even boot from the MyArc hard drive. It turned the TI99 into a real power house. Unfortunately because of it's expense and the fact that you needed a PEB to run it, the MyArcXBII never really caught on. Now, though, with emulation it cost nothing so through the power of MAME/MESS the power is being released. Start the MyArcXBII at the TI99 main menu by choosing 3-128k BASIC and this will boot the MyArcXBII from the hard drive. P-Card: The P-Card was a card for the PEB that was, more or less, a complete operating system apart from the TI99. It's a virtual machine processor on a card that ran P-Code. It was written totally in software and was based on Pascal and was able to run on other computers that also conformed to the P-Code specifications. It is nothing like a standard TI-99 and when booted takes over the TI-99 and even has a specially formatted disk it uses. There is a complete suite of software and if you can figure it out, kinda nice. To run the P-Card in MAME/MESS click under OPTIONS-DIP SWITCHES then turn on the P-CARD. Hard reboot the machine and the TI-99 will start in the P-Card mode (after a few seconds of beeping and blank pages). To go back to MyArcXBII just turn the P-CARd switch OFF then hard reset the machine. The MAME/MESS package works with any versions of MAME/MESS past version 222. Just merge your version of MAME/MESS into the MESSxxx directory and point the already created batch file in the root to that directory. Package includes manuals, software, batch files and everything you need except MAME/MESS itself. Enjoy. Download from my https://ti99resources.wordpress.com/software/ At the bottom of the page is MAME package, click on MyArc Extended BASIC II to show download files. I have both a package with and without the P-Card. (a truly nice tripped out Ti-99 from mainbyte.com)
  8. Couple of updates here: 1.) Having never had the original manual for KXBII (Kull XBII) I had to make up the manual as I tested it out. One problem that has been plaguing me is that occasionally the disk that I had KXBII (or a program wrote in KXBII) would randomly corrupt. Well after much more testing I found that you need to do a CALL INIT before you save a file after using KXBII. It's notes in the new v3 manual attached. See my https://ti99resources.wordpress.com/ for the complete KXBII package. 2.) the KXBII version of Uno that I wrote on my emulator looked absolutely horrible on a real TI99 with a real monitor. I re-wrote the program to change the colors to look much more palatable. Also fixed and added a few things to both the KXBII version and the standard version. KXBII Manual v3.pdf UNO.dsk
  9. I want to show all of you a project that I have been working on and off for a few years now that I feel is ready to be shared, but first, some context: For years I had always wondered how the TI BASIC and XB games would have worked differently if these had been compiled or simply implemented on a faster system. Around 2008 I found a game development package called DarkBASIC Professional that featured a BASIC IDE to create 2d and 3d EXE (compiled, as in fast) games on Windows systems. The BASIC syntax reminded in many ways to console and Extended BASIC but the lack of decent documentation at that time did not give me the confidence to write anything more than a few lines of simple code. Years later, around 2013 I came back to the developer company's web site and found a larger user base, more code samples and even two large tomes of books that thoroughly documented the language. I went ahead and purchased the books and as I learned the 2D graphic features, I started to get an idea of the project I wanted to accomplish. And that's how TI99E originated. TI99E consists of a set of functions developed using the DBPro IDE to simulate the high-resolution graphics, color, string and numeric, input and output functions of the Texas Instruments TI-99/4A computer. DBPro is a free, open-source BASIC programming language suitable for creating Windows applications and games. TI99E programs are developed using the editor and compiler included with the DBPro software. This development environment was created primarily to simulate, as faithfully as possible, writing graphic programs that look and feel like those originally written for the TI-99/4A in TI BASIC or Extended BASIC but without the speed or technical limitations. It also includes additional features that were not available in the original TI BASIC but that enhance the experience of coding TI graphical programs. TI99E is not an emulator; it also does not simulate TI-99 sound directly (it does through .wav files), or many other input-output functions, or file processing. Programs created in TI99E become EXE files for Windows; the BASIC source code is not compatible with the original console, and it is not intended to create programs that run on the original console. TI99E simulates and enhances the following features of the Texas Instruments TI-99/4A computer: - 256 x 192 display size for high resolution graphics - 24 rows x 32 columns screen size for regular ASCII character graphics - Exact replica of the entire ASCII character set from the TI-99/4A - Customizable ASCII characters - 16 colors available for graphics, with multiple color sets - Sprite graphics with auto-motion capabilities - Implementation of sprite collision, magnification, motion, location, position, and distance - Implementation of the TI BASIC graphic subprograms (CHAR,HCHAR,VCHAR,SPRITE,COINC,PATTERN,POSITION,LOCATE,MOTION,etc) - No missing sprite collisions - Modified implementation of Input and Output instructions such as PRINT, INPUT, DISPLAY AT, ACCEPT AT, CALL KEY and CALL JOYST - Math functions using radians instead of degrees: SIN, COS, TAN - String functions such as SEG$, RPT$ - Numeric functions such as SGN, MIN, MAX - Plus, many new features that were not available in the original system: o Up to 1,000 moving sprites at once - yes, and at a fluid 60FPS o Over 1,000 customizable characters and 120+ color sets o Ability to change color to individual characters instead of sets o Ability to create multi-color sprites o Ability to create multi-color characters o Ability to create animated sprites o Individual sprite magnification o Ability to hide sprites and keep them active o No 4-sprite max in horizontal line limitation o Fast, compiled programs o Full-featured Sprite Editor – Supports single and multicolor sprites, load, save, reverse, rotate, mirror, copy, paste and magnify using keyboard or joystick inputs. o Conversion programs to simplify converting original BASIC or XB code into TI99E I call it the TI BASIC that I always wanted. Below you will find the link to the TI99E system, including a Quick installation guide PDF, technical documentation PDF and all the necessary software: - The DBPro IDE - Direct X 9.0C runtime files – required for the EXE programs to run on newer versions of Windows - The TI99E BASIC project files - Sprite Editor – created with TI99E – includes EXE and source code - Conversion Programs – with instructions - Many Showcase programs ready to run and with their source code I recommend using the built-in help files in the TI99E editor instead of the technical documentation PDF. The help files are more complete, updated and organized, plus it is part of the IDE, which is a big plus. The help system includes sample code to test every documented function which, in addition to the showcase programs, is extremely useful to quickly learn the ins and outs of TI99E. The help system is accessible with F1. Just follow the Readme instructions for more details. I really hope you enjoy using this system I created with a lot of care, as a tribute to my beloved TI-99 4/A. https://drive.google.com/drive/folders/1XKvWir9pgkUMoSZJWuHTE6_qKzWi7y7R?usp=sharing
  10. So I've been thinking about extended basic lately and that it is the go-to language on the TI-99/4A. We've seen multiple extensions to Extended Basic, like for example Gram Kracker Utility 1 which probably generated one of the first enhanced Extended Basic versions. We also have Rich Extended Basic and now Extended Basic G.E.M. Also don't forget the work on SDD99 that is enhancing Basic in multiple ways. Just for fun, and who knows what happens next in the future, I'd like to collect ideas on how an Ultimate Extended Basic should look like. What the benefits are, etc. I'll kick it off with following proposals: Compatible with existing Extended Basic Fully runs from cartridge space so that we get as much program space use out of 32KB memory expansion as possible Built-in support for SAMS Full-screen editor or advanced line editor as seen in MSX Basic Built-in assembler integrated in Extended Basic, so that you can mix assembly source code right with your extended basic program code. Something along the lines of: http://www.peter-cockerell.net/aalp/html/ch-4.html Full 80 columns support, both for basic program code and line editor.
  11. I have been going through my Atari 8-bit games and looking to translate them into TI-99 games, mostly BASIC. The games I wrote in Atari MSBASIC are fairly straight forward translations. Atari BASIC has the issue of strings being completely different but can be got around. One thing that both Atari BASICs have in common is the Atari uses 40 column text. This can be a tedious issue to fix when translating to TI99 32 column text. You have to go through each line check, recheck, reformat recheck again etc... It would be nice if the TI99 had a 40 column text mode... oh wait, it does it's just not easily accessible in XB. But some nice people, much smarter then I in all thing TI99, have addressed this deficiency. Enter the 'Senior Falcon' (Harry Wilhelm) with a wonderful little utility called T40XB which makes the 40 column mode usable from XB. For more on it read this thread: http://atariage.com/forums/topic/289953-40-column-routine-or-early-version-of-xb24-for-xb/ Simply you use CALL LINK routines to call the T40 and use the 40 column routines in it's own screen. Here is the file: T40XB1.zip the ZIP file has a very nice booklet with it. Now to the game. To test this 40 column routine I chose the simple game 'Civil War'. It's from David Ahl 'BASIC computer games book'. Here's a copy of the book online: https://www.atariarchives.org/basicgames/ How I got this game from the Atari to the TI99 was thus: 1.) load the game in Atari Altirra emulator. 2.) print the game to text. 3.) do global REM of lines that the TI99 won't understand (such as POP) 4.) global replace PRINT with CALL PR(.. 5.) create CALL routine: CALL PR(A$) CALL LINK ("PRINT",25,1,A$) SUBCALL 6.) Now go through the program and change other things such as INPUT and replace multiple PRINTs with SCROLL 7.) start classic99 and paste in the code and save, test, save, test ..... All in all this conversion didn't take that long since string use was minimal and I didn't have to go line by line reformatting. The T40XB does eat into the stack area in the VDP so you will have about 2k less memory for created CALLS and string arrays. It doesn't use any main memory though. It does, currently, have an issue with classic99 sometimes locking up the emulator but Tursi is looking into that. Here is the game disk: T40XB1.zip from the menu press 2. It starts the T40XB package which calls the civil war game. now lets look at some of the commands of T40XB: First off the 40 column mode is one color; that is one fore and one background color. Also you have no sprites. This is a limitation of the TI99. You must load in the T40XB using the loader program, DSKn.TX40XB. Afterwards CALL LINK("T40") to turns it on. You must have this as the 1st line before you do anything T40 related in your program. All the T40XB text lives in it's own memory area so when the program ends or you jump back to the 32 column mode using CALL LINK("G32") your T40 text will disappear. CALL LINK("COLOR”,foreground-color,background-color) this changes the fore and background colors. Standard TI99 won't work. CALL LINK("CHAR”,character-code,pattern-identifier[,...]) this is CALL CHAR for T40. You get a separate character set for T40. Harry has already supplied a nice character set with true lower case. CALL LINK("INVERT”,row,column,length[,...]) this gets you inverse text much like the Atari has (nice touch). a lot of the other commands also have an inverse mode. CALL LINK(“SCROLL”[,repeats]) this will scroll the page up 1 to [repeats] lines. CALL LINK(“CLS”) this does a CALL CLEAR CALL LINK(“HCHAR”,row,col,character-code[repeats,.....]) & "VCHAR" same as TI CALL HCHAR & VCHAR. CALL LINK(“PRINT”,row,col,string or number[,length,.....]) this is the meat of the program. It is a combination DISPLAY AT & PRINT. If you specify the row & column it will display at that row & column. Put 25 in the row and it will print at the bottom of the page and scroll everything up just like print. Note: you must have a properly formatted string to display. Errors might crash the TI99. CALL LINK(“INPUT”,row,col,string-or-numeric-variable[,length,prompt-string]) this is INPUT AT or just INPUT like the TI99. Refer to the manual for lots of features. One nice thing is that if you crash or exit the program the T40 routine exits gracefully. Good programming. Not many commands but it gets the job done without not much overhead. Very nice. Well, that's it for now. HLO XBGames1.dsk
  12. Way back in the 80s, when I was a kid, there was this thing called the TI International Users Group. The group had a TI magazine and a cassette program exchange. You could create programs and summit them to the IUG who would make them public for others to buy on cassette. If you submitted a program you would be able to get the cassette programs free. So being the cheap-ass I am I submitted a lot of programs to the IUG. Here are some that I recently downloaded from WHTECH site. I know I have a lot more but since the IUG had the irritating policy of removing the name of the programmer from the games, these are the only ones I remember. All the programs are on the .dsk. Here is the list: Note: on all games ;xb means programmed in extended BASIC. ;tib means programmed in TI BASIC. Awari I typed this from the famous book -David Ahl "BASIC Computer Games'. It was a straight BASIC scrolling on the screen game that me and my friend Keven converted to TI-XB graphics. It's a simple game that can me mastered rather quickly but still fun. Name is 'awari1;xb' Eagle1 this is a side scroller shot-em-up. it's rather sluggish but you can do just so much in TI XB but it does play a good game. Most of the code enhancements came from Miller Graphics 'Smart Sprite' book. name: eagle1;xb Kroakers This game is inspired by the arcade game 'frogs and flies'. plays rather well and includes speech. probably my best game of the era. name: kroak1;xb Othello There where a LOT of othello style games on the IUG. I 'think' this is the one Kevin and I created, it looks like the kind of code we would create. Our major enhancement to the Othello lot was we really ramped up the AI in level 3 to play a very tough, and slow, game. game name: othello1;xb Stock Market Another one where there were lots of versions on the IUG. What makes me think this was mine was the inclusions of being able to choose the company name for the stock. name: stock1;tib Star Trek And again a lot of versions. We added graphics to ours and a little sound effects. We also got this one from David Ahl BASIC book. name: Trek1;xb Even though there are multiple files it's the same thing on all the files. As I find more I'll post more. enjoy the TI experience! HLO MyHLOGames.zip
  13. A few years ago I came across this disk of extensions to XB and was intrigued. It had nice high resolution capabilities and some interesting clock functions. I initially did some research and found it was released by Peter Kull in Germany in the 80s and that he has since disappeared from the TI99 scene. Not much more was known about it. Well, life happened so I put this project aside for a few years. But recently, having gotten back into the TI99,I pulled the old KXBII disk and decided to finally figure out how to use it with what little info I had. What I did was use the example programs that came on the disk a just test out the functions till I figured them out, or as far as I could figure them out with the information I had. What is Kull Extended BASIC II programming package. Well the name makes it sound like it's a XB cartridge but in reality it's a series of XB CALL LINKs that add high resolution and clock functions (oddly enough) to Extended BASIC. The KXBII package is very similar to Harry's Weilheim's TML (TML is much more feature laden). The main difference being that theTML package you live in the TML environment from LOAD. KXBII, on the other hand, once you load the KXBII just lives in the background till the high res graphic are invoked. You actually can run the clock functions without turning on the hi res graphics functions. This is good and bad. Good, you don't have all the memory restrictions of using hi res graphics till you need them. Bad, you have to be a lot more careful with your string and sprite management (see notes in manual). The program can be a little tricky to use (again see notes in manual) but it looks to be stable if you stay within the bounds. Still, there are some nice features; I especially like the multi colored. And it never hurts to have another tool in you tool belt. Anyway, here's and exert from the manual I created and attached is a package with the programs for it (V9t9 format). Enjoy. ****UPDATE***** update the manual. I translated a program from the Atari 8-bit, an Uno program I wrote. Found some issues and some mistakes in the manual. Here is the new manual v2. ______________________________________________________________________ manual *************** * * * EXT/BASICII * * * *************** BY Peter Kull Extended Basic II or for short KXBII is a series of CALL LINK subroutine functions which add graphics and clock functions (among other things) to TI Extended BASIC. To start. Use the LOAD program supplied with the disk. It calls the LOADEX program which loads in the extensions to memory. SOME NOTES: Memory restrictions. If you have ever used TML you know of the lack of stack space using high resolution graphics can cause. Same here. You have about 1088 bytes of stack space after you load the high resolution utility package. From test I found that means about 200+ characters of string space available for strings. But be warned, if you exceed this limit you may not get an out of memory error but just have the upper limit strings corrupted. Be sure to test and check all large strings. Also dimension string arrays after you load in the graphics package with 'INITG' and 'GRAFIK’. Otherwise it corrupts the strings. the <Break key>. The break key will get you out of any blank or gibberish screen created by exiting the high resolution graphics unceremoniously. You may have to hit the break key twice but I found it usually works. Bugs. If you put a character on the screen at about column 9, row 6 some partial random garbage will sometimes appear on that character when a CALL LINK(“PRINT”...) command is executed. Not lethal, but annoying. Sprite commands are, unpredictable. I had all kinds of random errors happen while attempting to use the sprite commands with the high resolution graphics with a limited amount of stack space left. On the other hand, if I used the sprite commands with plenty of stack space left they usually acted fine. RANDOMIZE will sometimes causes errors with the point graphic commands such as “SET” and “DRAW”. This came up when using the trick RANDOMIZE :: CALL PEEK(-31808,A) to get a fast random number. If I just put RANDOMIZE at the beginning of the program and used RND normally, though, things usually worked as normal. Not really a bug, just a consideration. There doesn’t seem to be much error checking in the values you can insert into the CALL LINK(“... ) commands. You may not even get an error at all related to the command but instead have a random line give you a SYNTAX ERROR or such. Commands: All commands are CALL LINK(“command”....) functions. LOADEX This initially loads the package into memory from the LOAD program. Loading this a 2nd time screws up display. Initialization functions. INITG ("INITG") - initialize high resolution. Always must use before GRAFIK. GRAFIK (“GRAFIK") - opens the high resolution area for use. also can be used to clear the screen in high resolution. TEXT "TEXT" - puts you back in the standard text mode. These command functions DO NOT need 'INITG’ or the ‘GRAFIK’ to work. Timer functions. TIMER (‘TIMER’,output variable) - A timer that if you divide the output variable by 39 will you roughly give you a one second counter. TIMSET ('TIMSET') - This resets the TIMER to zero. Clock functions. STELL ('STELL',hour,minute) - This sets a clock in the upper right of the screen which stays resident. START (‘START’) - starts on-screen clock. STOP (‘STOP’) - stops the on-screen clock. UHRAUS (‘UHRAUS’) - removes the on-screen clock. UHREIN (‘UHREIN’) - puts the on-screen clock back on the screen. General functions POKEV ('POKEV',memory location,input variable) - pokes data into the VDP area PEEKV('PEEKV',memory location,output variable) - peeks at data in the VDP area These DO need 'INITG' & ‘GRAFIK’ commands before use. Draw functions. PRINT (“PRINT”,y,x,"string",foreground color,background color) - this will print a string on a screen at Y,X in whatever color and background color you wish. Probably the most useful function of the utilities. SET ("SET",y,x,color) - turns a pixel on at Y,X with specified color. DRAW ("DRAW",y,x,color) - draws a line from last point (SET or DRAW end) to Y,X coordinates. PAINT ("PAINT",y,x,color) Fill command. CIRCLE ("CIRCLE",center y,center x,right y,right x,color) - to draw a circle or ellipse. (OR) ("CIRCLE",cy,cx,ry,rx,color,begining degree, ending degree) - to draw a partial circle arc or ellipse arc. Sprite functions (use sparingly they can be kinda buggy). Normal TIXB sprite functions will corrupt the high resolution screen area so always use these sprite commands when using high resolution screens with ‘INITG’ and ‘GRAFIK’ commands. SPRITE ('SPRITE',sprite#(1-27),char$ number(32-127),color,Y,X) - Works like the sprite function in TIXB except you can not define the speed. CHAR ('CHAR',char$ number(32-127) ,’Char def of sprite’) - You MUST define each char used for the sprites with this command. They are not the same as the chars defined for the PRINT command. COINC (sprite#, sprite#, tolerance, output variable ) OR (sprite-number, dot-row, dot-column, tolerance, output variable) - works like TIXB sprite coincidence except no ALL command. DIS ('DIS',sprite#,y,x,output variable) (OR) ('DIS',sprite#,sprite#,output variable) - works like TIXB sprite DISTANCE command POS ('POS',sprite#,y,x) - Works like TIXB sprite POSITION command. DEL ('DEL',sprite#) - removes a sprite from the screen. LOC ('LOC', sprite#,newy, newx) - relocates a sprite on the screen. COL ('COL',sprite#, new color) - changes the color of a sprite. PAT ('PAT',sprite#,new char#) - changes the char pattern of a sprite. MOTION ('MOTION',sprite#,yspeed,xspeed) - changes the speed of a sprite. same values as TIXB. Kull XBII.zip
  14. I wrote a version of Uno for the Atari in Atari Microsoft BASIC and posted a few blogs ago. Well, here is Uno in the Kull XBII. Kull XBII is a little known package to TI-99 Extended BASIC. Check an earlier post for more on the KXBII package. One nice thing about KXBII is that it enables multi-color text which I use a lot in the program and it looks really good. Multi-color text is the best feature in KXBII. As I detailed in the earlier post about KXBII is there are a few limitations such as a very limited amount of stack memory. And there is also a weird quirk, if you put text in location x=6, y=9 a little character flickers in the upper right of that character. Odd. Anyway, here you go: uno.zip enjoy HLO update: I forgot to mention the game autoboots of the vdisk. It 1st starts KXBII then starts the game. takes about 15 seconds to start. also included is an instruction manual.
  15. I looks like I screwed up. A little while back I posted a blog about Harry's 40 column routine he created for the TI-99/4a. I also added a the game Civil War. After rechecking the blog I discovered the two files I posted were the wrong files. ACK! So, here are the right files and a little more. I have the T40XB utility on .DSK and my XBBOOT.DSK which included the T40XB on a menu along with TML & KXBII. And I have a directory with all the games I have posted so far. Here is the correct files. Downloads.zip
  16. Converted my Atari 800 game Uno card to TI-99. I used the KXBII extensions to create multi-color text. (see earlier blog post for Uno for Atari 800 and KXBII extensions for TI-99/4a). Plays at TI-99 XB speeds, which is to say, fast enough. The multi-color text is part of the KXBII extension package. Works rather well & fast enough and bug free. Only weird glitch is 1/2 character random flicker in one letter (you'll see it) when text being printed. I created a CALL PR(X,Y,TEXT$,fore-color, back-color) SUB-routine for printing to simplify conversion from Atari 800 MSBASIC. attached is a booklet and the .DSK bootable disk game. Enjoy. uno.zip
  17. Mille Borne is a French card game of auto racing currently being sold by Parker Bros. The actual card game can be played with 2-6 players but the computer game is 2 player only; you vs. computer. The object of the game is accumulate enough mile cards to make it to the finish line. But there are hazards along the way that will keep you from that goal. If you haven't ever played the game refer to the manuals I have included with the game .zip file. in this computer version there are a few differences. a.) to start the game you can choose a long game (standard 1000 miles/5000 total) or short game (700 miles/3000 total). b.) when playing a safety or Coupe Fourre you don't get an extra turn. (it was too much trouble to implement). I think everything else is the same. some history on the program. This game is a translation of a game I have had on the Atari 8-bit forever. I have no idea where it came from on the Atari. I would love to credit the programmer but have no idea who he or she is. On programming the game. As I said, this is a translation from Atari 8-bit BASIC. At first I thought that it would be a direct translation but the differences in how the strings work on the Atari BASIC to convert to TI-XB turned out to be too time consuming. So, basically, I just rewrote the TI-XB with guidance from the original program. Some of the code looks a little, out of place. this is usually the code I pulled directly from the Atari BASIC. This probably makes the code a little slower than if I had programmed it in TI-XB from scratch but I didn't want to spend an additional week to just fine tune for a few seconds of speed. Anyway, enjoy the game. UPDATE: forgot to mention, I have a small simple routine that redefines the character set to true lower case. only takes about 3 seconds to load in XB. should even work in console BASIC. just cut a paste into your program. millborn.zip
  18. Another Extended BASIC game for the Ti-99/4 line; Star Merchant. Back in the 80's there were several variations of this game where you traded merchandise between star systems. The game dates back to at least August 1981 when Creative Computing published the game but probably goes back even further to the mainframe era. I seem to remember playing something like this on the TI mini-frame in school. Simple game, you buy merchandise in one star port the 'Warp' to another star port and try sell it at a profit. The version I am posting is a modification of a Atari 8-bit version that Creative Computing sold through a 3rd party. I again use Harry Wilhelm wonderful 40 column routine as I used with the Civil War program. Only difference is I'm using the inverse utility in T40 to livin' up the text. Translating from the Atari 8-bit was fairly straight forward for this program (not like the Mille Borne which took and almost total rewrite). The two things that were the big difference was, of course, string usage and the fact that with the Atari you can have a variable line number in a ON GOTO and ON GOSUB statement (can't with the TI ExBASIC). Included is a copy of the manual for T40, the auto LOAD .dsk of the game and a copy of the original text from Creative Computing Aug, 1981 where the game was printed. Enjoy, HLO star-mech.zip
  19. Here is another conversion from my Atari BASIC programs to the TI-99. It's a Yahtzee game. I never liked any of the Yahtzee for the Atari 8-bit so I wrote my own. This is mostly a direct port of that game except for the graphics. On the Atari I used DLI to change the font sizes on the fly which can't be done on the TI-99. But, I used Harry Wilhelm's amazing TML program for some other graphics. TML gives the XB programmer access to the bitmap graphics of the TI video chip. You can create Cartesian point graphics, boxes, circles and multi-colored fonts, loading hi-rez screens and much more. It's similar to the KXB package I used to create Uno with but with much, much more power and, in some cases, more stable. On writing the program. Yahtzee is a fairly simple game so wasn't much to create the original game. the only hard part was the logic to print what could be scored with the roll. the -small straight- logic was most complicated. my solution I thought was rather cleaver. programming the graphics in TML was fairly straight forward. Harry has created a wonderful manual for TML and some examples on the disk. One thing to note, since TML has to, more or less, draw each letter on the screen in bitmap graphics, it a little slower then if I have just used 'display at'. still, it's not all that slow. about average XB slowness. I'm attaching the TML package, my XBEAboot .dsk and the game .dsk. the game auto loads TML then the game. look on the XBboot disk is a program called DT. this is a directory program that runs under TML. and standard DIR program (like the D program also on XBEAboot) won't run in TML. enjoy the game. oh, I'm also including a .vbs script that can be modified to auto load MAME/MESS TI-99 .disk games etc.. from Windows. enjoy. yathzee.zip
  20. Hi Guys, yesterday I have run into a nasty Syntax Error in Extended Basic, which also occurs in RXB. I don't understand it and wonder if the line really contains a Syntax Error or this is a Interpreter Bug. Version 1: 1 IF A=1 THEN 2 ELSE FOR I=1 TO 2 :: PRINT I :: NEXT I 2 END Version 2: 1 IF A=1 THEN 2 :: FOR I=1 TO 2 :: PRINT I :: NEXT I 2 END Both versions complain about a Syntax Error in Line 1. I would like to analyze it with the help of you and maybe RXB can be even fixed.
  21. created a new XB game for the TI-99. check out my blog for download. Enjoy
  22. Just thought I'd take a stroll down memory lane My list off the top of my head in no particular order... Basic - Tick World - Cars and Carcases - Frazzle - Maze of Ariel - TI Trek - Robot Jokes (we used to hack it in school to say all kinds of jokes it was never intended to ) - Mad Libs (same as above) - Jumping Jack - Motorcross - Camel - Chuckaluck (correct name? Yahtzee like game) - Close Encounters of the Simon Kind - Zap-A-Ball Xbasic - Meltdown - Bird Brain - Cavern Quest - Window Washer - Survival - Bladerunner - Mean Streets - Blackbeard's Treasure - Meteor Rescue - Bee Line - Tower
  23. Hi guys, this is my first compiled game. It's a simple tribute to the great movie Tron. To use it copy the unziped file in your DSK1 folder (if you are using Classic99). Choose the Extended Basic and write RUN "DSK1.TRON" I hope you have fun! Luca TRON.zip
  24. I know it's pretty early in the morning and my brain hasn't finished spinning up but I don't see whatis wrong. It should be right here and in plain site but I can't see it. The issue I'm having is pretty straight forward. Here's my code 5940 IF YP<>129 THEN 6010 5950 IF LO0T(1,9)<>96 THEN 5970 5960 ZED1=1 :: CALL POSITION(#18,YZ1,XZ1):: CALL POSITION(#1,YP,XP):: DET2=LO0T(2,14)::DET1=LO0T(2,9)::IF XP>=XZ1 THEN ZED1=0:: GOTO 5980 5970 ZED1=0 5980 IF LO0T(1,10)<>96 THEN 6000 5990 ZED2=1 :: CALL POSITION(#19,YZ2,XZ2):: CALL POSITION(#1,YP,XP):: DET2=LO0T(2,14)::DET2=LO0T(2,10)::IF XP>=XZ2 THEN ZED2=0:: GOTO 6670 6000 ZED2=0 :: GOTO 6670 When I run TRACE, everything matches up with what I am observing in game except when it doesn't at the end. Here is my trace: <5940><5950><5970><5980><5990><6000> Everything checks out fine except this: <5990><6000>. How is it possible that the program is advancing to line 6000 from line 5990 when the last statement in 5990 is a GOTO statement to a bunch of other functions? OK, I see an unrelated issue. I'm not sure how DET2 gets assigned 2 different times in one line. That is very strange. I wonder if classic99 or my PC is scrambling things up on me.
  25. Howdy TIers. I hate to start a new thread, but I couldn't find a good place for it. So, I am working on a proof of concept for launching programs from a program: 100 CALL CLEAR 110 INPUT "FILENAME:":FL$ :: IF FL$="" THEN 110 120 RUN "DSK1."&FL$ But this gives * SYNTAX ERROR IN 120. However, if I change 120 to 120 PRINT "DSK1."&FL$ I get the expected string printed on the screen (i.e., if I type in LOAD for the input, I get DSK1.LOAD printed on the screen). Why does RUN not like this syntax? Is this possible through XB, or am I just wasting my time? Thanks for reading!
×
×
  • Create New...