;Nspire8x equates ;NavNet driver memory offNCallCaller EQU 0 ;15 offInPipe EQU offNCallCaller+15 ;1 offOutPipe EQU offInPipe+1 ;1 offDescScratchSpace EQU offOutPipe+1 ;? offDataInAddr EQU offOutPipe+1 ;2 offDataOutAddr EQU offDataInAddr+2 ;2 offDataOutPage EQU offDataOutAddr+2 ;1 offNumBytesReceived EQU offDataOutPage+1 ;2 offPacketsInQueue EQU offNumBytesReceived+2 ;1 offSequenceNumber EQU offPacketsInQueue+1 ;1 offServiceID EQU offSequenceNumber+1 ;2 offNumBytesLeft EQU offServiceID+2 ;2 offEventsLeft EQU offNumBytesLeft+2 ;1 offErrorCode EQU offEventsLeft+1 ;8 offFileBytesRemaining EQU offErrorCode+8 ;4 offPacketBuffer EQU offFileBytesRemaining+4 ;270 ;Error codes errEventTimeout EQU 0FFh errSendAddressAssignmentAck EQU 0FEh errSendDeviceInfoAck EQU 0FDh errSendEchoAck EQU 0FCh errServiceDisconnectRequest EQU 0FBh errSendFileManagementAck EQU 0FAh errUSBHostInit EQU 0F9h errConfigureDevice EQU 0F8h errDeviceInfoRequest EQU 0F7h errBreakWaitEvent EQU 0F6h errGetScreenshotRequest EQU 0F5h errEchoDataRequest EQU 0F4h errDirectoryListingRequest EQU 0F3h errDirectoryEntryRequest EQU 0F2h errSendAcknowledgement EQU 0F1h errDirectoryListingDoneRequest EQU 0F0h errUnknownServicePacket EQU 0EFh errSendPacketData EQU 0EEh errFileAttributeRequest EQU 0EDh errDeleteFileRequest EQU 0ECh errDirectoryDeleteRequest EQU 0EBh errCreateDirectoryRequest EQU 0EAh errGetFileRequest EQU 0E9h errGetFileOKRequest EQU 0E8h errGetFileDoneRequest EQU 0E7h errOutOfMemory EQU 0E6h errSendFileRequest EQU 0E5h errSendFileData EQU 0E4h errCopyFile EQU 0E3h errInstallOSRequest EQU 0E2h errCopyFileRequest EQU 0E1h errRenameFileRequest EQU 0E0h errSendOSPacket EQU 0DFh errSendOSInstallationAck EQU 0DEh errBASICEPIndex EQU 0DDh ;Event codes evDeviceInfoReceived EQU 01h evEchoReceived EQU 02h evFileRequestReceived EQU 03h evOSRequestReceived EQU 04h Var MACRO first, second segment MemVars &first: ds second segment Main ENDMAC OP7 EQU symtable+1 DISAVE MACRO ld (83EBh),a ld a,i push af di ld a,(83EBh) ENDMAC EIRESTORE MACRO push af push hl ld hl,4 add hl,sp bit 2,(hl) jr z,$eir ei $eir: pop hl pop af inc sp inc sp ENDMAC ;periph8x Stuff USBflag equ 0FFFFh msdActive equ 0 kbdActive equ 1 setAddress equ 2 debugOn equ 3 driverConfigured equ 4 ;calcActive equ 5 mouseActive equ 6 gamepadActive equ 7 deviceDescAddress equ 9C16h configDescAddress equ 9C18h callbackAddress equ 9C1Ch bytesRemaining equ 9C27h outputBuffer equ 9C29h inputBuffer equ 9C31h USBaddress equ 9C71h numOutBytes equ 9C78h periph8xFlags equ asm_Flag1 receivingOS equ 0 deviceDesc equ 2 readSectorCmdReceived equ 3 notDoneSending equ 5 useExtraRAMPages equ 6 getOutNow equ 7 LOGGING_ENABLED EQU 1 LOG MACRO first, second IF LOGGING_ENABLED = 1 IFNDEF DoLog EXTERN DoLog ENDIF push bc ifneq "_&second", "_" ld c,second else ld c,0 endif ld b,log&first call DoLog2 pop bc ENDIF ENDMAC logGetMaxPacketSize EQU 1 logData EQU 2 logGetClass EQU 3 logGetIDs EQU 4 logReadDescriptor EQU 5 logQuit EQU 6 logSendData EQU 7 logSendControlData EQU 8 logAutoSetup EQU 9 logDataEnd EQU 10 logInA0Start EQU 11 logOutA0Start EQU 12 logHostInit EQU 13 logKillDevice EQU 14 logKillDriver EQU 15 logSetupLog EQU 16 logInData EQU 17 logCallBack EQU 18 logError EQU 19 logSetPortFeature EQU 20 logClearPortFeature EQU 21 logGetDeviceStatus EQU 22 logSetHubFeature EQU 23 logClearHubFeature EQU 24 logGetHubStatus EQU 25 logGetHubPortStatus EQU 26 logSetAddress EQU 27 logLogDone EQU 28 logDataStart EQU 29 logCustom EQU 30 logInterrupt EQU 31 logKBDInit EQU 32 logKBDGetKey EQU 33 logMSDInit EQU 34 logUFIInit EQU 35 logFATInit EQU 36 logPadInit EQU 37 logPadStart EQU 38 logPadSetup EQU 39 logPadCallBack EQU 40 logPumpOn EQU 41 logPumpOff EQU 42 logPump EQU 43 logCache EQU 44 logIntPort82 EQU 45 logIntPort84 EQU 46 logIntPort8F EQU 47 logIStallPipe EQU 48 logSetConfig EQU 49 logPeriphInit EQU 50 logIntPort86 EQU 51 logControlData EQU 52 logEnableOut EQU 53 logIntData EQU 54 logBulkData EQU 55 logMSDCmd EQU 56 logGotSetAddr EQU 57 logSectorRead EQU 58 logWriteError EQU 59 logSectorWrite EQU 60 logInvalidMSDCmd EQU 61 logInvalidDesc EQU 62 logStringDesc EQU 63 logCalcCmd EQU 64 logCalcUSBErr EQU 65 logBit0Port56 EQU 66 logCacheOn EQU 0 logCacheOff EQU 1 logCacheIsInCache EQU 2 logCacheReadFromCache EQU 3 logCacheResetLRU EQU 4 logCacheSaveToCache EQU 5