Difference between revisions of "83Plus:Software:usb8x/Changelog"
From WikiTI
(0.11 info added) |
m (0.12 changes added) |
||
Line 1: | Line 1: | ||
+ | ==Version 0.12== | ||
+ | Fixed bug in ReadDescriptor which crashed on errors when reading string descriptors | ||
+ | Fixed bug in DOS_fileWrite which incorrectly resized some files when writing | ||
+ | Fixed bug in DOS_renameFileEntry involving off-by-one LBA problem | ||
+ | Interrupt now signals to SendControlData (and anything else that waits on port 82) that port 82 reported | ||
+ | success. This fixes a bug with control requests that timed out if the device did not respond immediately. | ||
+ | Added driver to control Vernier Easy and Go! products, in particular Go/EasyTemp | ||
+ | DOS_fileWrite should be faster | ||
+ | Improved MSD driver support | ||
+ | Added pump entry points to allow use of usb8x without interrupts | ||
+ | Added caching code | ||
+ | Experimental FAT12/FAT32 MSD code added and is conditional | ||
+ | Individual drivers can be compiled out via settings | ||
+ | Hub code now works. AutoSetup will pass through to the first non-hub device it finds on the bus. | ||
+ | Entry Points Added: | ||
+ | Asm - VernierVersion - Get version and RAM requirements of vernier driver | ||
+ | Asm - EasyTempInit - Initialize driver and Go/EasyTemp device | ||
+ | Asm - VernierSendCmd - Send a command block to a vernier device | ||
+ | Asm - VernierQuickCmd - Send a simple command to a vernier device | ||
+ | Asm - VernierGetMeas - Get the latest measurement returned by vernier device | ||
+ | Asm - VernierToDegree - Convert voltage to degree | ||
+ | Asm - DOS_updateAttributes - update "last modified" date/time and other attributes | ||
+ | Asm - PumpOn - Turns on pump (disables usb hook stuff) | ||
+ | Asm - PumpOff - Turns off pump (enables usb hook stuff) | ||
+ | Asm - Pump - Pump (emulates interrupt. call in your main loop) | ||
+ | Asm - CacheOn - Turn on MSD caching | ||
+ | Asm - CacheOff - Turn off MSD caching | ||
+ | Asm - msdDetect - Mass storage version of ionDetect to search for and load 83P/8XP levels from specified directory | ||
+ | BASIC - USBInit - initializes and supplies power to USB port (useful for power-only devices like USB lights) | ||
+ | |||
+ | |||
==Version 0.11== | ==Version 0.11== | ||
INPUTS TO MOUSE DRIVER CHANGED | INPUTS TO MOUSE DRIVER CHANGED |
Latest revision as of 03:01, 7 January 2007
Contents
Version 0.12
Fixed bug in ReadDescriptor which crashed on errors when reading string descriptors Fixed bug in DOS_fileWrite which incorrectly resized some files when writing Fixed bug in DOS_renameFileEntry involving off-by-one LBA problem Interrupt now signals to SendControlData (and anything else that waits on port 82) that port 82 reported success. This fixes a bug with control requests that timed out if the device did not respond immediately. Added driver to control Vernier Easy and Go! products, in particular Go/EasyTemp DOS_fileWrite should be faster Improved MSD driver support Added pump entry points to allow use of usb8x without interrupts Added caching code Experimental FAT12/FAT32 MSD code added and is conditional Individual drivers can be compiled out via settings Hub code now works. AutoSetup will pass through to the first non-hub device it finds on the bus. Entry Points Added: Asm - VernierVersion - Get version and RAM requirements of vernier driver Asm - EasyTempInit - Initialize driver and Go/EasyTemp device Asm - VernierSendCmd - Send a command block to a vernier device Asm - VernierQuickCmd - Send a simple command to a vernier device Asm - VernierGetMeas - Get the latest measurement returned by vernier device Asm - VernierToDegree - Convert voltage to degree Asm - DOS_updateAttributes - update "last modified" date/time and other attributes Asm - PumpOn - Turns on pump (disables usb hook stuff) Asm - PumpOff - Turns off pump (enables usb hook stuff) Asm - Pump - Pump (emulates interrupt. call in your main loop) Asm - CacheOn - Turn on MSD caching Asm - CacheOff - Turn off MSD caching Asm - msdDetect - Mass storage version of ionDetect to search for and load 83P/8XP levels from specified directory BASIC - USBInit - initializes and supplies power to USB port (useful for power-only devices like USB lights)
Version 0.11
INPUTS TO MOUSE DRIVER CHANGED Logging support is disabled by default Removed USBInfo and demos Callback is now driver-wide instead of a per-pipe . This means SetupInPipe no longer takes callback as input Converted remaining routines to restore interrupts to original state instead of di/ei Added keyboard, silverlink, and gamepad drivers Removed lots of old code that wasn't being used anymore Mouse (and kbd) driver can now passthrough callbacks to user program DISAVE/EIRESTORE now compile time option because it was (maybe?) causing trouble MSD callback saves/restores ix Restructured interrupt to allow for logging Added compile time option to turn on/off logging for individual log entry types Added assertion macros/compile-time option Added compile time option for assertion-checking IM2 interrupt Entry points can now have IX inputs DriverInit checks base code version for 2.30+ Driver routines now kill host device if driver init fails Entry Points Added: Asm - KBDInit - Initialize keyboard driver Asm - KBDGetKey - Get keypress from keyboard Asm - KBDGetMods - Get modifier/lock key status Asm - KBDCheckDirect - Check current keyboard matrix status Asm - SilverInit - Initialize silverlink Asm - SilverSend - Send data on silverlink Asm - SetCallBack - Sets the callback address Asm - PadInit - Initialize gamepad driver Asm - PadSetup - Get a key mapping Asm - PadStart - Start passing pad information to the callback function Asm - GetErrorCode - Get the current error code Asm - SendControlDataOut - Send a control command that includes outbound data stage BASIC - KBDInit BASIC - KBDGetKey Known bugs: Interrupts may be getting disabled at some point. Use ei in mousegetkey and kbdgetkey loops. AutoSetup may leave device in various states of initialization on error instead of killing it. Some drivers don't seem to work as well (at all?) on boot code 1.00 To Do: Add Silver BASIC entry points Add option to KBDInit to set up something (cursor hook?) to implement key repeat
Version 0.10
Input list to BASIC library no longer required to be 7 elements long KillUSB BASIC entry point now disables driver as well killing the device ExecLib now returns error via list rather than system error on non-existant entry point Other: BASIC entry points now require 42 bytes of free RAM to execute Entry Points Added: BASIC - GetIDs BASIC - GetClass BASIC - Version BASIC - MSDInit - Initializes mass storage driver BASIC - MSD_ImportVariable - Imports *.8x* file from specified directory BASIC - MSD_ExportVariable - Exports variable in RAM/Flash to specified directory as *.8x* file Asm - KBDVersion - Returns version/memory needed for kbd driver MSD - MSDVersion - Returns major/minor version and memory requirements of mass storage driver MSD - MSD_Initialize - Initializes mass storage device MSD - UFI_Initialize - Initializes mass storage device for sector read/write operations MSD - UFI_Read - Reads one sector of LBA address into sector buffer MSD - UFI_Write - Writes one sector of data from sector buffer to LBA address MSD - FAT_Initialize - Initializes mass storage device for FAT16 file system operations MSD - FAT_lookupPath - Sees if a file in specified folder exists MSD - DOS_openFile - Open file in specified folder for reading/writing MSD - DOS_fileSeek - Adjusts seek pointer in specified file handle MSD - DOS_fileRead - Reads bytes from a file at current seek pointer MSD - DOS_fileWrite - Writes bytes to a file at current seek pointer MSD - DOS_createFile - Creates new, empty file in specified directory MSD - DOS_createDirectory - Creates new, empty directory in specified directory MSD - DOS_deleteFileEntry - Deletes file or folder MSD - DOS_countFilesInDir - Returns number of file/folder entries in specified directory MSD - DOS_getNextFile - Gets next file in list from a specified directory MSD - FAT_getStartingCluster - Gets starting cluster of specified directory MSD - MSD_ImportVariable - Imports *.8x* file from specified directory MSD - MSD_ExportVariable - Exports variable in RAM/Flash to specified directory as *.8x* file MSD - DOS_getFileSize - Gets file size from specified directory entry MSD - DOS_getDirEntry - Gets directory entry for specified file/directory
Version 0.09
Changed descriptor equates and added more for other descriptor types Added logging and log viewer Added code to load HID report descriptor Added SendDataPart entry point. Hopefuly temporarily Added hub related stuff: SetAddress now sets next available address instead of constant address Added SetHubFeature and ClearHubFeature calls Added SetHubPortFeature and ClearHubPortFeature calls Added GetHubStatus and GetHubPortStatus calls Added appropriate desc and log equates Added prelim hub demo code (doesn't work) Added prelim calc-calc code (doesn't work) Sporadic crashes on exit from app. Cause? GetPipeInfo can now return both pipeIn and pipeOut MSD demo now autodetects correct output pipe Added FindPipe entry point to return the address of a pipe based on characterisitics DriverInit now returns error if OS version isn't high enough Added a LogCustom entry point to allow apps to make entries in the log file Bugs fixed: Fixed bug with logging (otir replacement crashed on odd sizes) Devices with I and O endpoints at same addr should work Minor fix to U_CALL system (allows multipage apps) Other: Added errDemo and errFindPipe Added pipeBitIn and pipeBitOut equates Renamed usbInt and usbBulk to pipeInt and pipeBulk Created usb8xtsm.inc include file in TASM compatible syntax Known bugs: Interrupts are getting disabled at some point. Requires ei in mousegetkey loop. USBInfo interface has some bugs.
Version 0.08
Graphlink code now checks to make sure a graphlink is connected Fixed a bug in GetIDs Any call using ReadDescriptor (e.g. GetIDs and GetClass) will now work after AutoSetup however, don't use any of these calls inside of an interrupt. Added preliminary mouse driver Added di/ei to SendControlData as well (so don't use in int) Reworked menu scheme because there's flash test code now. SendControlData now takes argument for how much data to recieve in response Callback routine can now be passed cbStall or cbNak Fixed stupid bug in SendData Exposed WaitTimerB entry point Added GetPipeInfo entry point and test code to info section Lowered mouse movement threshold to fifteen ticks/pixel
Version 0.07
Changed appname to "USB8X" from "USBDRV8X" because of TIOS bugs Added BASIC interface through OpenLib and ExecLib Prettied the graphlink demo a little bit Fixed crashing problem on port 82 and 91 errors Created KillDriver call, and took that functionality out of HostKill Fixed some random bugs Tried adding back in the routine to kill host before init if necessary and took it back out again. *sigh* Added about screen
Version 0.06
Added conditional code to port 3A check because it wasn't working on certain calculators (boot 1.00?). Changed appname to USB8X Added entry point for ReqData Minimum OS version 2.30
Version 0.05
Added OTG descriptor information Added AutoSetup. Works for mouse and graphlink at least. Added error reporting to routines Initial public release
Version 0.04
Transitioned to USB hook for interrupt data handling Added lots of important code Added silverlink demo
Version 0.03
Removed unneccessary stuff Fixed endpoint descriptor interval display Created entry point table and accessor
Version 0.02
Added display template for HID descriptor Got mouse cursor demo working Mouse mapped to kbdScanCode demo working
Version 0.01
Port Logging and Log viewing works Port view now unimplimented USB initialization and read/display of descriptors works USB device configuration works
Version 0.00
Port monitor functionality converted to ZDS form