Subversion Repositories svn.mios

Compare Revisions

Ignore whitespace Rev 1218 → Rev 1219

/playground/Antichambre/midibox_tia/setup_tia_cartridge.asm
22,15 → 22,15
#define DEFAULT_IS_CARTRIDGE 1
 
;; Kit and Wavetable fisrt:
;; position, banks start at this bankstick address(id):
;; positionbanks start at this bankstick address(id):
;; Becarrefull! Change this value may reformat your BankStick
;; look at DEFAULT_BS_FPROTECT Value *!
#define DEFAULT_BS_KBANK_ID 4
#define DEFAULT_BS_KBANK_ID 5
;; Default BankStick format protection:
;; 0: No protection.
;; *1: Protects banks which are not good type or position.
;; Depend on DEFAULT_BS_KBANK_ID.
;; 2: Never format at startup.
;; 2: Never format at startup (Sysex command available).
#define DEFAULT_BS_FPROTECT 1
;; BankStick read only:
#define DEFAULT_BS_READONLY 0
37,36 → 37,22
 
;; Default EEPROM Protection:
;; Eeprom read only:
#define DEFAULT_EE_READONLY 0
#define DEFAULT_EE_READONLY 1
;; internal patch Protection
 
;; Adjustable Gate fade out option:
;; to avoid click when envelope is off or envelope release is null.
;; Uses USER_Timer period N * 819 (us), default N=2 (1.638ms).
#define DEFAULT_TIA_GATE_FADEOUT 2
;; Default Debugger Options:
;; Degug Enabled/disabled
#define DEFAULT_TIA_DEBUG_ON 1
;; BankStick Degug Enabled/disabled
#define DEFAULT_TIA_DEBUG_BS 1
;; BankStick Degug Mode
;; 0: Basic.
;; 1: Advanced.
#define DEFAULT_TIA_DEBUG_BS_MODE 0
;; Eeprom Degug Enabled/disabled
;; no effect if DEFAULT_TIA_DEBUG_ON == 0
#define DEFAULT_TIA_DEBUG_EE 1
 
 
;; here you can change Serial DOG LCD connection pins
;; for Cartridge version
#if DEFAULT_IS_CARTRIDGE
;; Clock/data/DC
#define USER_LCD_TRIS_SCLK TRISA
#define USER_LCD_LAT_SCLK LATA ; Pin B.3
#define USER_LCD_PIN_SCLK 3
#define USER_LCD_TRIS_SDA TRISA
#define USER_LCD_LAT_SDA LATA ; Pin B.2
#define USER_LCD_PIN_SDA 2
#define USER_LCD_TRIS_DC TRISA
#define USER_LCD_LAT_DC LATA ; Pin B.1
#define USER_LCD_PIN_DC 1
 
;; Chip Select Line
#define USER_LCD_TRIS_CS TRISB
#define USER_LCD_LAT_CS LATB ; B.0 Only 1 LCD supported
#define USER_LCD_PIN_CS0 3
#endif
 
 
;; use PORTA and PORTE (J5 of the core module) as output
;; you can address these pins in cs_menu_io_tables.inc as "shift register" #0
#define ENABLE_J5 0
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/include.xcscheme
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/include.xcscheme (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/include.xcscheme (revision 1219)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0800"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C31891D9930F700C97EBB"
+ BuildableName = "include"
+ BlueprintName = "include"
+ ReferencedContainer = "container:include.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C31891D9930F700C97EBB"
+ BuildableName = "include"
+ BlueprintName = "include"
+ ReferencedContainer = "container:include.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C31891D9930F700C97EBB"
+ BuildableName = "include"
+ BlueprintName = "include"
+ ReferencedContainer = "container:include.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist (revision 1219)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>include.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>158C31891D9930F700C97EBB</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/project.pbxproj
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/project.pbxproj (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/include.xcodeproj/project.pbxproj (revision 1219)
@@ -0,0 +1,140 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXFileReference section */
+ 158C318A1D9930F700C97EBB /* asm */ = {isa = PBXFileReference; lastKnownFileType = folder; path = asm; sourceTree = "<group>"; };
+ 158C318B1D9930F700C97EBB /* makefile */ = {isa = PBXFileReference; lastKnownFileType = folder; path = makefile; sourceTree = "<group>"; };
+ 158C318C1D9930F700C97EBB /* share */ = {isa = PBXFileReference; lastKnownFileType = folder; path = share; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXGroup section */
+ 158C31841D9930F700C97EBB = {
+ isa = PBXGroup;
+ children = (
+ 158C318A1D9930F700C97EBB /* asm */,
+ 158C318B1D9930F700C97EBB /* makefile */,
+ 158C318C1D9930F700C97EBB /* share */,
+ );
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXLegacyTarget section */
+ 158C31891D9930F700C97EBB /* include */ = {
+ isa = PBXLegacyTarget;
+ buildArgumentsString = "$(ACTION)";
+ buildConfigurationList = 158C318D1D9930F700C97EBB /* Build configuration list for PBXLegacyTarget "include" */;
+ buildPhases = (
+ );
+ buildToolPath = /usr/bin/make;
+ buildWorkingDirectory = "/Volumes/DATA/Bruno/Projets/MB-TIA Cartridge/DEV/Tools/mbtia_interconnection_test/include";
+ dependencies = (
+ );
+ name = include;
+ passBuildSettingsInEnvironment = 1;
+ productName = include;
+ };
+/* End PBXLegacyTarget section */
+
+/* Begin PBXProject section */
+ 158C31851D9930F700C97EBB /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ };
+ buildConfigurationList = 158C31881D9930F700C97EBB /* Build configuration list for PBXProject "include" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 158C31841D9930F700C97EBB;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 158C31891D9930F700C97EBB /* include */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin XCBuildConfiguration section */
+ 158C31861D9930F700C97EBB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx10.6;
+ };
+ name = Debug;
+ };
+ 158C31871D9930F700C97EBB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ COPY_PHASE_STRIP = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ SDKROOT = macosx10.6;
+ };
+ name = Release;
+ };
+ 158C318E1D9930F700C97EBB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ DEBUGGING_SYMBOLS = YES;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = include;
+ };
+ name = Debug;
+ };
+ 158C318F1D9930F700C97EBB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = include;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 158C31881D9930F700C97EBB /* Build configuration list for PBXProject "include" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 158C31861D9930F700C97EBB /* Debug */,
+ 158C31871D9930F700C97EBB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 158C318D1D9930F700C97EBB /* Build configuration list for PBXLegacyTarget "include" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 158C318E1D9930F700C97EBB /* Debug */,
+ 158C318F1D9930F700C97EBB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 158C31851D9930F700C97EBB /* Project object */;
+}
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/app_defines.h
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/app_defines.h (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/app_defines.h (revision 1219)
@@ -0,0 +1,18 @@
+; $Id: app_defines.h bdupeyron.tech@gmail.com(Antichambre)
+;
+; Specific Defines and variables of MIOS Application
+;
+; ==========================================================================
+;
+; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+; Licensed for personal non-commercial use only.
+; All other rights reserved.
+;
+; ==========================================================================
+
+ ;; free memory for user applications:
+ ;; 0x010-0x37f
+
+
+DISPLAY_UPDATE_REQ EQU 0x010
+TIA_PIN_NUMBER EQU 0x011
\ No newline at end of file
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.asm
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.asm (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.asm (revision 1219)
@@ -0,0 +1,466 @@
+; $Id: main.asm 879 2010-01-02 15:52:46Z tk $
+;
+; A CORE->TIA Module Interconnection Test
+;
+; ==========================================================================
+;
+; Copyright 2005 Thorsten Klose (tk@midibox.org)
+; Licensed for personal non-commercial use only.
+; All other rights reserved.
+;
+; ==========================================================================
+
+;; ---[ MIOS header file ]---
+#include <mios.h>
+
+;; ---[ useful macros ]---
+#include <macros.h>
+
+;; ---[ vectors to MIOS functions (never change!) ]---
+#include <mios_vectors.inc>
+
+;; ---[ user hooks (never change!) ]---
+#include <user_vectors.inc>
+
+;; ==========================================================================
+;; General Application Settings
+;; ==========================================================================
+
+;; ---[ variables used by application ]---
+#include "app_defines.h"
+
+; ==========================================================================
+
+;; ---[ configuration table for MIDI processor and rotary encoders ]---
+#include <mios_mt_table.inc>
+#include <mios_enc_table.inc>
+
+;; ---[ Custom LCD driver ]---
+#include <app_lcd.inc>
+
+;; ---[ Debug Message Module ]---
+#include <debug_msg.inc>
+
+
+;; ==========================================================================
+;; Include the TIA SR Code
+;; ==========================================================================
+;; if != 0, special variations for cartridge version hardware:
+#define DEFAULT_IS_CARTRIDGE 0
+#include "tia_sr.inc"
+
+
+;; ==========================================================================
+;; All MIOS hooks in one file
+;; ==========================================================================
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS after startup to initialize the
+;; application
+;; --------------------------------------------------------------------------
+USER_Init
+ call TIA_SR_Init
+ clrf TIA_PIN_NUMBER
+ call TIA_SetPin
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS in the mainloop when nothing else is to do
+;; --------------------------------------------------------------------------
+USER_Tick
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is periodically called by MIOS. The frequency has to be
+;; initialized with MIOS_Timer_Set
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+;; --------------------------------------------------------------------------
+USER_Timer
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a debug command has been received
+;; via SysEx
+;; Input:
+;; o WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3 like
+;; specified in the debug command
+;; Output:
+;; o return values WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_MPROC_DebugTrigger
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when the display content should be
+;; initialized. Thats the case during startup and after a temporary message
+;; has been printed on the screen
+;; --------------------------------------------------------------------------
+USER_DISPLAY_Init
+ call MIOS_LCD_Clear
+
+ TABLE_ADDR TEXT_WELCOME_0
+ call MIOS_LCD_PrintString
+ call MIOS_LCD_PrintString
+
+ call DEBUG_MSG_SendHeader
+ movlw '\n'
+ call DEBUG_MSG_SendChar
+ call DEBUG_MSG_SendFooter
+
+ call DEBUG_MSG_SendHeader
+ call DEBUG_MSG_SendASMString
+ db "MBTIA Interconnection Test\n", 0
+ call DEBUG_MSG_SendFooter
+
+ call DEBUG_MSG_SendHeader
+ call DEBUG_MSG_SendASMString
+ db "==========================\n", 0
+ call DEBUG_MSG_SendFooter
+
+ call DEBUG_MSG_SendHeader
+ call DEBUG_MSG_SendASMString
+ db "Please play a note on any MIDI channel.\n", 0
+ call DEBUG_MSG_SendFooter
+
+ bsf DISPLAY_UPDATE_REQ, 0
+
+ return
+
+TEXT_WELCOME_0 STRING 15, 0x00, "Test TIA Module"
+TEXT_WELCOME_1 STRING 4, 0x40, "Pin:"
+
+;; --------------------------------------------------------------------------
+;; This function is called in the mainloop when no temporary message is shown
+;; on screen. Print the realtime messages here
+;; --------------------------------------------------------------------------
+USER_DISPLAY_Tick
+ ;; display update requested from USER_SR_Service_Prepare on every LED change
+ btfss DISPLAY_UPDATE_REQ, 0
+ return
+ bcf DISPLAY_UPDATE_REQ, 0
+
+ ;; print pin name
+ movlw 0x45
+ call MIOS_LCD_CursorSet
+ TABLE_ADDR TIA_PIN_NAMES_TABLE
+ movf TIA_PIN_NUMBER, W
+ mullw TIA_PIN_NAMES_LEN
+ movf PRODL, W
+ addwf TBLPTRL, F
+ movf PRODH, W
+ addwfc TBLPTRH, F
+ movlw TIA_PIN_NAMES_LEN
+ call MIOS_LCD_PrintPreconfString
+
+
+ ;; send message to MIOS Terminal
+ call DEBUG_MSG_SendHeader
+
+ ;; special message for CS# pin (since it's inverted)
+ movf TIA_PIN_NUMBER, W
+ xorlw 9
+ bnz USER_DISPLAY_Tick_Normal
+USER_DISPLAY_Tick_W
+ call DEBUG_MSG_SendASMString
+ db "Pin 'W#' of TIA chip set to 0V, remaining digital pins set to 0V as well.", 0
+ call DEBUG_MSG_SendFooter
+ return
+
+
+USER_DISPLAY_Tick_Normal
+ call DEBUG_MSG_SendASMString
+ db "Pin '", 0
+
+ TABLE_ADDR TIA_PIN_NAMES_TABLE
+ movf TIA_PIN_NUMBER, W
+ mullw TIA_PIN_NAMES_LEN
+ movf PRODL, W
+ addwf TBLPTRL, F
+ movf PRODH, W
+ addwfc TBLPTRH, F
+
+ ;; always four chars
+ tblrd*+
+ movf TABLAT, W
+ call DEBUG_MSG_SendChar
+ tblrd*+
+ movf TABLAT, W
+ call DEBUG_MSG_SendChar
+ tblrd*+
+ movf TABLAT, W
+ call DEBUG_MSG_SendChar
+ tblrd*+
+ movf TABLAT, W
+ call DEBUG_MSG_SendChar
+
+ call DEBUG_MSG_SendASMString
+ db "' of TIA chip set to 5V, remaining digital pins set to 0V (exception: W# set to 5V)", 0
+ call DEBUG_MSG_SendFooter
+
+ return
+
+
+TIA_PIN_NAMES_LEN EQU 4
+TIA_PIN_NAMES_NUM EQU 10
+TIA_PIN_NAMES_TABLE
+ db "A0 "
+ db "A1 "
+ db "A2 "
+ db "A3 "
+ db "D0 "
+ db "D1 "
+ db "D2 "
+ db "D3 "
+ db "D4 "
+ db "W#"
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a complete MIDI event has been received
+;; Input:
+;; o first MIDI event byte in MIOS_PARAMETER1
+;; o second MIDI event byte in MIOS_PARAMETER2
+;; o third MIDI event byte in MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyReceivedEvent
+ ;; if modulation wheel received: set new pin
+ movf MIOS_PARAMETER1, W
+ andlw 0xf0
+ xorlw 0xb0
+ bnz USER_NotifyReceivedEvent_ChkNote
+ movf MIOS_PARAMETER2, W
+ xorlw 0x01
+ bnz USER_NotifyReceivedEvent_ChkNote
+
+ movf MIOS_PARAMETER3, W
+ movwf TIA_PIN_NUMBER
+ movlw TIA_PIN_NAMES_NUM
+ cpfslt TIA_PIN_NUMBER, ACCESS
+ clrf TIA_PIN_NUMBER
+ bsf DISPLAY_UPDATE_REQ, 0
+
+ ;; set the pin depending on selected TIA number
+ call TIA_SetPin
+ rgoto USER_NotifyReceivedEvent_End
+
+
+USER_NotifyReceivedEvent_ChkNote
+ ;; alternative control via MIDI keyboard (Note On Events with velocity > 0)
+ movf MIOS_PARAMETER1, W
+ andlw 0xf0
+ xorlw 0x90
+ bnz USER_NotifyReceivedEvent_End
+ movf MIOS_PARAMETER3, W
+ bz USER_NotifyReceivedEvent_End
+ ;; normalize note to 0..11 range
+ movf MIOS_PARAMETER2, W
+USER_NotifyReceivedEvent_NoteNor
+ addlw -12
+ BRA_IFCLR WREG, 7, ACCESS, USER_NotifyReceivedEvent_NoteNor
+ addlw 12 ; now in range 0..23
+ movwf TIA_PIN_NUMBER
+
+ movlw TIA_PIN_NAMES_NUM
+ cpfslt TIA_PIN_NUMBER, ACCESS
+ clrf TIA_PIN_NUMBER
+ bsf DISPLAY_UPDATE_REQ, 0
+
+ ;; set the pin depending on selected TIA number
+ call TIA_SetPin
+ ;; rgoto USER_NotifyReceivedEvent_End
+
+USER_NotifyReceivedEvent_End
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI event has been received
+;; which has been specified in the CONFIG_MIDI_IN table
+;; Input:
+;; o number of entry in WREG
+;; o first MIDI event byte in MIOS_PARAMETER1
+;; o second MIDI event byte in MIOS_PARAMETER2
+;; o third MIDI event byte in MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyFoundEvent
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI event has not been completly
+;; received within 2 seconds
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyTimeout
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI byte has been received
+;; Input:
+;; o received MIDI byte in WREG and MIOS_PARAMETER1
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyReceivedByte
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS before the transfer of a MIDI byte.
+;; It can be used to monitor the Tx activity or to do any other actions
+;; (e.g. to switch a pin for multiplexed MIDI Outs) before the byte will
+;; be sent.
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+;; Input:
+;; o transmitted byte in WREG
+;; --------------------------------------------------------------------------
+USER_MIDI_NotifyTx
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI byte has been received.
+;; It can be used to monitor the Rx activity or to do any action - e.g.
+;; to react on realtime events like MIDI clock (0xf8) with a minimum latency
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+;; Input:
+;; o received byte in WREG
+;; --------------------------------------------------------------------------
+USER_MIDI_NotifyRx
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when an button has been toggled
+;; Input:
+;; o Button number in WREG and MIOS_PARAMETER1
+;; o Button value MIOS_PARAMETER2:
+;; - 1 if button has been released (=5V)
+;; - 0 if button has been pressed (=0V)
+;; --------------------------------------------------------------------------
+USER_DIN_NotifyToggle
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when an encoder has been moved
+;; Input:
+;; o Encoder number in WREG and MIOS_PARAMETER1
+;; o signed incrementer value in MIOS_PARAMETER2:
+;; - is positive when encoder has been turned clockwise
+;; - is negative when encoder has been turned counter clockwise
+;; --------------------------------------------------------------------------
+USER_ENC_NotifyChange
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS before the shift register are loaded
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+;; --------------------------------------------------------------------------
+USER_SR_Service_Prepare
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS after the shift register have been loaded
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+;; --------------------------------------------------------------------------
+USER_SR_Service_Finish
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a pot has been moved
+;; Input:
+;; o Pot number in WREG and MIOS_PARAMETER1
+;; o LSB value in MIOS_PARAMETER2
+;; o MSB value in MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_AIN_NotifyChange
+ return
+
+
+
+;; --------------------------------------------------------------------------
+;; This function sets a TIA pin depending on TIA_PIN_NUMBER
+;; --------------------------------------------------------------------------
+TIA_SetPin
+ bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR
+ clrf MIOS_PARAMETER1
+ clrf MIOS_PARAMETER2
+
+ movf TIA_PIN_NUMBER, W
+ JUMPTABLE_2BYTES 15 ; entries
+ rgoto TIA_SetPin0
+ rgoto TIA_SetPin1
+ rgoto TIA_SetPin2
+ rgoto TIA_SetPin3
+ rgoto TIA_SetPin4
+ rgoto TIA_SetPin5
+ rgoto TIA_SetPin6
+ rgoto TIA_SetPin7
+ rgoto TIA_SetPin8
+ rgoto TIA_SetPin9
+ rgoto TIA_SetPinNone
+ rgoto TIA_SetPinNone
+ rgoto TIA_SetPinNone
+ rgoto TIA_SetPinNone
+ rgoto TIA_SetPinNone
+ rgoto TIA_SetPinNone
+
+TIA_SetPin0
+ movlw 0x01 ; A0
+ movwf MIOS_PARAMETER1
+ goto TIA_SR_Write
+
+TIA_SetPin1
+ movlw 0x02 ; A1
+ movwf MIOS_PARAMETER1
+ goto TIA_SR_Write
+
+TIA_SetPin2
+ movlw 0x04 ; A2
+ movwf MIOS_PARAMETER1
+ goto TIA_SR_Write
+
+TIA_SetPin3
+ movlw 0x08 ; A3
+ movwf MIOS_PARAMETER1
+ goto TIA_SR_Write
+
+TIA_SetPin4
+ movlw 0x01 ; D0
+ movwf MIOS_PARAMETER2
+ goto TIA_SR_Write
+
+TIA_SetPin5
+ movlw 0x02 ; D1
+ movwf MIOS_PARAMETER2
+ goto TIA_SR_Write
+
+TIA_SetPin6
+ movlw 0x04 ; D2
+ movwf MIOS_PARAMETER2
+ goto TIA_SR_Write
+
+TIA_SetPin7
+ movlw 0x08 ; D3
+ movwf MIOS_PARAMETER2
+ goto TIA_SR_Write
+
+TIA_SetPin8
+ movlw 0x10 ; D4
+ movwf MIOS_PARAMETER2
+ goto TIA_SR_Write
+
+TIA_SetPin9
+ bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR
+ return
+
+TIA_SetPinNone
+ return
+ END
/playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.asm
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.lst
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.lst (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.lst (revision 1219)
@@ -0,0 +1,6022 @@
+gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 1
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00001 ; $Id: main.asm 879 2010-01-02 15:52:46Z tk $
+ 00002 ;
+ 00003 ; A CORE->TIA Module Interconnection Test
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 2005 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 ;; ---[ MIOS header file ]---
+ 00014 #include <mios.h>
+ 00001 ; $Id: mios.h 822 2009-09-17 18:39:53Z tk $
+ 00002 ;
+ 00003 ; MIOS Definitions file
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2008 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013
+ 00014 ;; ==========================================================================
+ 00015 ;; Include basic defines which characterize the derivative to
+ 00016 ;; simplify dependencies within MIOS source code
+ 00017 ;; ==========================================================================
+ 00018 #include <hw_flags.h>
+ 00001
+ 00002 #ifndef _HW_FLAGS_H
+0000 00003 #define _HW_FLAGS_H
+ 00004
+ 00005 #ifdef __18F452
+ 00006 #define PIC_DERIVATIVE_CODE_SIZE 0x08000
+ 00007 #define PIC_DERIVATIVE_RAM_SIZE 0x600
+ 00008 #define PIC_DERIVATIVE_EEPROM_SIZE 0x100
+ 00009 #define PIC_DERIVATIVE_IRQ_WORKAROUND 0
+ 00010 #define PIC_DERIVATIVE_NEW_ADC 0
+ 00011 #define PIC_DERIVATIVE_CMCON_INIT 0
+ 00012 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+ 00013 #define PIC_DERIVATIVE_SET_LCD_4BIT 0
+ 00014 #endif
+ 00015
+ 00016 #ifdef __18F4620
+ 00017 #define PIC_DERIVATIVE_CODE_SIZE 0x10000
+ 00018 #define PIC_DERIVATIVE_RAM_SIZE 0xf80
+ 00019 #define PIC_DERIVATIVE_EEPROM_SIZE 0x400
+ 00020 #define PIC_DERIVATIVE_IRQ_WORKAROUND 1
+ 00021 #define PIC_DERIVATIVE_NEW_ADC 1
+ 00022 #define PIC_DERIVATIVE_CMCON_INIT 1
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 2
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00023 #define PIC_DERIVATIVE_T08BIT_INVERTED 1
+ 00024 #define PIC_DERIVATIVE_SET_LCD_4BIT 0
+ 00025 #endif
+ 00026
+ 00027 #ifdef __18F4520
+ 00028 #define PIC_DERIVATIVE_CODE_SIZE 0x08000
+ 00029 #define PIC_DERIVATIVE_RAM_SIZE 0x600
+ 00030 #define PIC_DERIVATIVE_EEPROM_SIZE 0x100
+ 00031 #define PIC_DERIVATIVE_IRQ_WORKAROUND 1
+ 00032 #define PIC_DERIVATIVE_NEW_ADC 1
+ 00033 #define PIC_DERIVATIVE_CMCON_INIT 1
+ 00034 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+ 00035 #define PIC_DERIVATIVE_SET_LCD_4BIT 0
+ 00036 #endif
+ 00037
+ 00038 #ifdef __18F4682
+ 00039 #define PIC_DERIVATIVE_CODE_SIZE 0x14000
+ 00040 #define PIC_DERIVATIVE_RAM_SIZE 0xd00
+ 00041 #define PIC_DERIVATIVE_EEPROM_SIZE 0x400
+ 00042 #define PIC_DERIVATIVE_IRQ_WORKAROUND 0
+ 00043 #define PIC_DERIVATIVE_NEW_ADC 1
+ 00044 #define PIC_DERIVATIVE_CMCON_INIT 1
+ 00045 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+ 00046 #define PIC_DERIVATIVE_SET_LCD_4BIT 1
+ 00047 #endif
+ 00048
+ 00049 #ifdef __18F4685
+0000 00050 #define PIC_DERIVATIVE_CODE_SIZE 0x18000
+0000 00051 #define PIC_DERIVATIVE_RAM_SIZE 0xd00
+0000 00052 #define PIC_DERIVATIVE_EEPROM_SIZE 0x400
+0000 00053 #define PIC_DERIVATIVE_IRQ_WORKAROUND 0
+0000 00054 #define PIC_DERIVATIVE_NEW_ADC 1
+0000 00055 #define PIC_DERIVATIVE_CMCON_INIT 1
+0000 00056 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+0000 00057 #define PIC_DERIVATIVE_SET_LCD_4BIT 1
+ 00058 #endif
+ 00059
+ 00060 #endif
+ 00019
+ 00020 ;; ==========================================================================
+ 00021 ;; Assembler directives & device specific include file
+ 00022 ;;
+ 00023 ;; Natively supported devices are listed here.
+ 00024 ;; ==========================================================================
+ 00025
+ 00026 #ifdef __18F452
+ 00027 LIST R=DEC
+ 00028 #include <p18f452.inc>
+ 00029 #endif
+ 00030
+ 00031 #ifdef __18F4620
+ 00032 LIST R=DEC
+ 00033 #include <p18f4620.inc>
+ 00034 #endif
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 3
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00035
+ 00036 #ifdef __18F4520
+ 00037 LIST R=DEC
+ 00038 #include <p18f4520.inc>
+ 00039 #endif
+ 00040
+ 00041 #ifdef __18F4682
+ 00042 LIST R=DEC
+ 00043 #include <p18f4682.inc>
+ 00044 #endif
+ 00045
+ 00046 #ifdef __18F4685
+ 00047 LIST R=DEC
+ 00048 #include <p18f4685.inc>
+ 00001 LIST
+ 00002
+ 00003 ;==========================================================================
+ 00004 ; MPASM PIC18F4685 processor include
+ 00005 ;
+ 00006 ; (c) Copyright 1999-2007 Microchip Technology, All rights reserved
+ 00007 ;==========================================================================
+ 00008
+ 04822 LIST
+ 00049 #endif
+ 00050
+ 00051
+ 00052 ;; ==========================================================================
+ 00053 ;; General constants
+ 00054 ;; ==========================================================================
+ 00055
+ 00056 ;; used by MIOS_MIDI_Interface*
+ 00000000 00057 MIOS_MIDI_INTERFACE_COMMON EQU 0x00
+ 00000001 00058 MIOS_MIDI_INTERFACE_TO_HOST EQU 0x01
+ 00059
+ 00060 ;; used by MIOS_MIDI_Merger*
+ 00000000 00061 MIOS_MIDI_MERGER_DISABLED EQU 0x00
+ 00000001 00062 MIOS_MIDI_MERGER_ENABLED EQU 0x01
+ 00000002 00063 MIOS_MIDI_MERGER_MBLINK_EP EQU 0x02
+ 00000003 00064 MIOS_MIDI_MERGER_MBLINK_FP EQU 0x03
+ 00065
+ 00066 ;; used by MIOS_ENC_PIN_TABLE
+ 00067 #ifdef MIOS_OLD_ENCODER_MODES
+ 00068 MIOS_ENC_MODE_NON_DETENTED EQU 0x00
+ 00069 MIOS_ENC_MODE_DETENTED EQU 0x80
+ 00070 MIOS_ENC_MODE_DETENTED1 EQU 0x80
+ 00071 MIOS_ENC_MODE_DETENTED2 EQU 0x81
+ 00072 MIOS_ENC_MODE_DETENTED3 EQU 0x82
+ 00073 #else
+ 00074 ;; new encoder modes: each bit of MIOS_ENC_MODE_xx tells, if an INC / DEC is
+ 00075 ;; being triggered on the corresponding edge.
+ 00076 ;; Bit 7 6 5 4
+ 00077 ;; DEC <- <- <- <-
+ 00078 ;; Pin A ___|-------|_______
+ 00079 ;; Pin B _______|-------|___
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 4
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00080 ;; INC -> -> -> ->
+ 00081 ;; Bit 0 1 2 3
+ 00082 ;; Ex.: Bit 76543210
+ 00083 ;; DETENTED2 = 0b00100010 = 0x22
+ 00084 ;; -> INC will be triggered on edge 1, DEC on edge 5
+ 000000FF 00085 MIOS_ENC_MODE_NON_DETENTED EQU 0xff
+ 000000AA 00086 MIOS_ENC_MODE_DETENTED EQU 0xaa
+ 000000AA 00087 MIOS_ENC_MODE_DETENTED1 EQU 0xaa
+ 00000022 00088 MIOS_ENC_MODE_DETENTED2 EQU 0x22
+ 00000088 00089 MIOS_ENC_MODE_DETENTED3 EQU 0x88
+ 000000A5 00090 MIOS_ENC_MODE_DETENTED4 EQU 0xa5
+ 0000005A 00091 MIOS_ENC_MODE_DETENTED5 EQU 0x5a
+ 00092 #endif
+ 00093
+ 00094 ;; used by MIOS_ENC_Speed*
+ 00000000 00095 MIOS_ENC_SPEED_SLOW EQU 0
+ 00000001 00096 MIOS_ENC_SPEED_NORMAL EQU 1
+ 00000002 00097 MIOS_ENC_SPEED_FAST EQU 2
+ 00098
+ 00099 ;; used by MIOS_LCD_Type*
+ 00000000 00100 MIOS_LCD_TYPE_CLCD EQU 0x00
+ 00000001 00101 MIOS_LCD_TYPE_GLCD0 EQU 0x01
+ 00000002 00102 MIOS_LCD_TYPE_GLCD1 EQU 0x02
+ 00000003 00103 MIOS_LCD_TYPE_GLCD2 EQU 0x03
+ 00000004 00104 MIOS_LCD_TYPE_GLCD3 EQU 0x04
+ 00000005 00105 MIOS_LCD_TYPE_GLCD4 EQU 0x05
+ 00000006 00106 MIOS_LCD_TYPE_MLCD EQU 0x06
+ 00000007 00107 MIOS_LCD_TYPE_GLCD_CUSTOM EQU 0x07
+ 00108
+ 00109 ;; location of default 5x8 font for graphical displays
+ 00007CFC 00110 MIOS_GLCD_FONT EQU 0x7cfc
+ 00111
+ 00112 ;; general config flags (never overwrite this flags directly!!!)
+ 00000000 00113 MIOS_BOX_CFG0_LCD_TYPE0 EQU 0 ; selects LCD type, bit 0
+ 00000001 00114 MIOS_BOX_CFG0_LCD_TYPE1 EQU 1 ; selects LCD type, bit 1
+ 00000002 00115 MIOS_BOX_CFG0_LCD_TYPE2 EQU 2 ; selects LCD type, bit 2
+ 00000003 00116 MIOS_BOX_CFG0_USE_GLCD EQU 3 ; if 1, graphical LCD is connected
+ 00000004 00117 MIOS_BOX_CFG0_MERGER EQU 4 ; if 1, MIDI merger is enabled
+ 00000005 00118 MIOS_BOX_CFG0_MBLINK EQU 5 ; if 1, MIDIbox Link is enabled
+ 00000006 00119 MIOS_BOX_CFG0_TO_HOST EQU 6 ; if 1, MIDI interface will run with 38400 baud instead of 31250
+ 00000007 00120 MIOS_BOX_CFG0_20MHz EQU 7 ; if 1, it is assumed that box is running with 20 MHz, else with 40 MHz
+ 00121
+ 00000000 00122 MIOS_BOX_CFG1_BS_A0 EQU 0 ; A0 of BankStick (never change the bit position)
+ 00000001 00123 MIOS_BOX_CFG1_BS_A1 EQU 1 ; A1 of BankStick (never change the bit position)
+ 00000002 00124 MIOS_BOX_CFG1_BS_A2 EQU 2 ; A2 of BankStick (never change the bit position)
+ 00000003 00125 MIOS_BOX_CFG1_BS_DIS_VERIFY EQU 3 ; if 1, writes to the BankStick will not be verified
+ 00000004 00126 MIOS_BOX_CFG1_IIC_STRETCH_CLK EQU 4 ; if 1, IIC clock stretching enabled
+ 00127
+ 00128 ;; general status flags (never overwrite this flags directly!!!)
+ 00000000 00129 MIOS_BOX_STAT_BS_AVAILABLE EQU 0 ; if 1, BankStick is available
+ 00000001 00130 MIOS_BOX_STAT_MBLINK_TUNNEL_PASS EQU 1 ; if 1, a MBLinked event will be tunnled
+ 00000002 00131 MIOS_BOX_STAT_SUSPEND_ALL EQU 2 ; if 1, all system and user tasks are suspended
+ 00000003 00132 MIOS_BOX_STAT_SUSPEND_USER EQU 3 ; if 1, all user tasks are suspended
+ 00000004 00133 MIOS_BOX_STAT_AUTOREPEAT EQU 4 ; if 1, start the auto-repeat handler
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 5
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00000005 00134 MIOS_BOX_STAT_MLCD_TRANSFER EQU 5 ; if 1, a transfer to the MLCD has been started
+ 00000006 00135 MIOS_BOX_STAT_FERR EQU 6 ; if 1, a frame error happened during MIDI receive
+ 00136
+ 00137 ;; ==========================================================================
+ 00138 ;; MIOS Special Function Registers
+ 00139 ;; ==========================================================================
+ 00140
+ 00000000 00141 MIOS_BOX_CFG0 EQU 0x000
+ 00000001 00142 MIOS_BOX_CFG1 EQU 0x001
+ 00000002 00143 MIOS_BOX_STAT EQU 0x002
+ 00000003 00144 MIOS_PARAMETER1 EQU 0x003
+ 00000004 00145 MIOS_PARAMETER2 EQU 0x004
+ 00000005 00146 MIOS_PARAMETER3 EQU 0x005
+ 00147
+ 00148 ;; ==========================================================================
+ 00149 ;; temporary registers for main programs
+ 00150 ;; ==========================================================================
+ 00000006 00151 TMP1 EQU 0x006
+ 00000007 00152 TMP2 EQU 0x007
+ 00000008 00153 TMP3 EQU 0x008
+ 00000009 00154 TMP4 EQU 0x009
+ 0000000A 00155 TMP5 EQU 0x00a
+ 00156
+ 00157 ;; ==========================================================================
+ 00158 ;; temporary registers for IRQs
+ 00159 ;; ==========================================================================
+ 0000000B 00160 IRQ_TMP1 EQU 0x00b
+ 0000000C 00161 IRQ_TMP2 EQU 0x00c
+ 0000000D 00162 IRQ_TMP3 EQU 0x00d
+ 0000000E 00163 IRQ_TMP4 EQU 0x00e
+ 0000000F 00164 IRQ_TMP5 EQU 0x00f
+ 00165
+ 00166 ;; ==========================================================================
+ 00167 ;; free memory space for user application:
+ 00168 ;; ==========================================================================
+ 00169 ;; 0x010-0x37f
+ 00170
+ 00171 ;; ==========================================================================
+ 00172 ;; MIOS System Registers -- not defined here --
+ 00173 ;; never use these memory locations!
+ 00174 ;; ==========================================================================
+ 00175 ;; 0x380-0x6ff
+ 00176
+ 00177 ;; ==========================================================================
+ 00178 ;; MIOS System Registers for custom LCD driver
+ 00179 ;; ==========================================================================
+ 00000570 00180 MIOS_GLCD_BUFFER EQU 0x570 ; note: the buffer must be located at ...0-...7
+ 00000578 00181 MIOS_LCD_OPTION1 EQU 0x578 ; contains the first LCD option given by MIOS_LCD_TypeSet
+ 00000579 00182 MIOS_LCD_OPTION2 EQU 0x579 ; contains the second LCD option given by MIOS_LCD_TypeSet
+ 0000057A 00183 MIOS_LCD_CURSOR_POS EQU 0x57a ; the current cursor pos of characters (GLCD: multiplied by width)
+ 0000057B 00184 MIOS_GLCD_GCURSOR_X EQU 0x57b ; for GLCDs: the current X position of graphical cursor
+ 0000057C 00185 MIOS_GLCD_GCURSOR_Y EQU 0x57c ; for GLCDs: the current Y position of graphical cursor
+ 0000057D 00186 MIOS_GLCD_FONT_WIDTH EQU 0x57d ; for GLCDs: the fontwidth given by MIOS_GLCD_FontInit
+ 0000057E 00187 MIOS_GLCD_FONT_HEIGHT EQU 0x57e ; for GLCDs: the fontheight given by MIOS_GLCD_FontInit
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 6
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 0000057F 00188 MIOS_GLCD_FONT_X0 EQU 0x57f ; for GLCDs: the first byte within a char entry
+ 00000580 00189 MIOS_GLCD_FONT_OFFSET EQU 0x580 ; for GLCDs: the byte offset between the characters
+ 00000581 00190 MIOS_GLCD_FONT_PTRL EQU 0x581 ; for GLCDs: pointer to the character table, low-byte
+ 00000582 00191 MIOS_GLCD_FONT_PTRH EQU 0x582 ; for GLCDs: pointer to the character table, high-byte
+ 00000583 00192 MIOS_LCD_TIMEOUT0 EQU 0x583 ; can be used for timeout loops
+ 00000584 00193 MIOS_LCD_TIMEOUT1 EQU 0x584 ; can be used for timeout loops
+ 00000585 00194 MIOS_GLCD_TMP1 EQU 0x585 ; can be used as temporary buffer
+ 00000586 00195 MIOS_GLCD_TMP2 EQU 0x586 ; can be used as temporary buffer
+ 00000587 00196 MIOS_GLCD_TMP3 EQU 0x587 ; can be used as temporary buffer
+ 00000588 00197 MIOS_GLCD_TMP4 EQU 0x588 ; can be used as temporary buffer
+ 00000589 00198 MIOS_LCD_Y0_OFFSET EQU 0x589 ; Y0 offset of LCD
+ 0000058A 00199 MIOS_LCD_Y1_OFFSET EQU 0x58a ; Y1 offset of LCD
+ 0000058B 00200 MIOS_LCD_Y2_OFFSET EQU 0x58b ; Y2 offset of LCD
+ 0000058C 00201 MIOS_LCD_Y3_OFFSET EQU 0x58c ; Y3 offset of LCD
+ 0000058D 00202 MIOS_LCD_CURSOR_POS_REAL EQU 0x58d ; unmapped cursor position which has been set with MIOS_LCD_CursorSet
+ 0000058E 00203 MIOS_GLCD_FONT_PTRU EQU 0x58e ; for GLCDs: pointer to the character table, upper-byte (>64k flash derivatives only)
+ 00015
+ 00016 ;; ---[ useful macros ]---
+ 00017 #include <macros.h>
+ 00001 ; $Id: macros.h 49 2008-01-30 21:47:31Z tk $
+ 00002 ;
+ 00003 ; Macro Definitions
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 BRA_IFSET MACRO reg, bit, reg_a, label
+ 00014 btfsc reg, bit, reg_a
+ 00015 bra label
+ 00016 ENDM
+ 00017
+ 00018
+ 00019 BRA_IFCLR MACRO reg, bit, reg_a, label
+ 00020 btfss reg, bit, reg_a
+ 00021 bra label
+ 00022 ENDM
+ 00023
+ 00024 GOTO_IFSET MACRO reg, bit, reg_a, label
+ 00025 btfsc reg, bit, reg_a
+ 00026 goto label
+ 00027 ENDM
+ 00028
+ 00029
+ 00030 GOTO_IFCLR MACRO reg, bit, reg_a, label
+ 00031 btfss reg, bit, reg_a
+ 00032 goto label
+ 00033 ENDM
+ 00034
+ 00035 CALL_IFSET MACRO reg, bit, reg_a, label
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 7
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00036 btfsc reg, bit, reg_a
+ 00037 call label
+ 00038 ENDM
+ 00039
+ 00040
+ 00041 CALL_IFCLR MACRO reg, bit, reg_a, label
+ 00042 btfss reg, bit, reg_a
+ 00043 call label
+ 00044 ENDM
+ 00045
+ 00046 RCALL_IFSET MACRO reg, bit, reg_a, label
+ 00047 btfsc reg, bit, reg_a
+ 00048 rcall label
+ 00049 ENDM
+ 00050
+ 00051
+ 00052 RCALL_IFCLR MACRO reg, bit, reg_a, label
+ 00053 btfss reg, bit, reg_a
+ 00054 rcall label
+ 00055 ENDM
+ 00056
+ 00057 ;; ==========================================================================
+ 00058
+ 00059 IRQ_DISABLE MACRO
+ 00060 bcf INTCON, GIE
+ 00061 ENDM
+ 00062
+ 00063 IRQ_ENABLE MACRO
+ 00064 bsf INTCON, GIE
+ 00065 ENDM
+ 00066
+ 00067 ;; ==========================================================================
+ 00068
+ 00069 TABLE_ADDR_FULL MACRO addr
+ 00070 movlw LOW(addr) ; store Lo Byte
+ 00071 movwf TBLPTRL
+ 00072 movlw HIGH(addr) ; store Hi Byte
+ 00073 movwf TBLPTRH
+ 00074 movlw UPPER(addr) ; store upper Byte
+ 00075 movwf TBLPTRU
+ 00076 ENDM
+ 00077
+ 00078 TABLE_ADDR MACRO addr
+ 00079 movlw LOW(addr) ; store Lo Byte
+ 00080 movwf TBLPTRL
+ 00081 movlw HIGH(addr) ; store Hi Byte
+ 00082 movwf TBLPTRH
+ 00083 #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+ 00084 movlw UPPER(addr) ; store Upper Byte
+ 00085 movwf TBLPTRU
+ 00086 #endif
+ 00087 ENDM
+ 00088
+ 00089 TABLE_H MACRO addr
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 8
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00090 movlw HIGH(addr) ; store Hi Byte
+ 00091 movwf TBLPTRH
+ 00092 ENDM
+ 00093
+ 00094 TABLE_L MACRO addr
+ 00095 movlw LOW(addr) ; store Lo Byte
+ 00096 movwf TBLPTRL
+ 00097 ENDM
+ 00098
+ 00099 TABLE_ADD_W MACRO
+ 00100 addwf TBLPTRL, F
+ 00101 movlw 0x00
+ 00102 addwfc TBLPTRH, F
+ 00103 #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+ 00104 movlw 0x00
+ 00105 addwfc TBLPTRU, F
+ 00106 #endif
+ 00107 ENDM
+ 00108
+ 00109 TABLE_ADDR_MUL_W MACRO addr, multiplicator
+ 00110 mullw multiplicator
+ 00111 movlw LOW(addr)
+ 00112 addwf PRODL, W
+ 00113 movwf TBLPTRL
+ 00114 movlw HIGH(addr)
+ 00115 addwfc PRODH, W
+ 00116 movwf TBLPTRH
+ 00117 #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+ 00118 clrf TBLPTRU
+ 00119 movlw UPPER(addr)
+ 00120 addwfc TBLPTRU, F
+ 00121 #endif
+ 00122 ENDM
+ 00123
+ 00124 ;; ==========================================================================
+ 00125
+ 00126 JUMPTABLE_2BYTES MACRO max_value
+ 00127 addlw -(max_value) ; ensure that jump index is not greater than (max_value-1)
+ 00128 skpnc
+ 00129 movlw -(max_value)
+ 00130 addlw max_value
+ 00131 call MIOS_HLP_GetIndex_2bytes
+ 00132 ENDM
+ 00133
+ 00134 JUMPTABLE_2BYTES_UNSECURE MACRO
+ 00135 call MIOS_HLP_GetIndex_2bytes
+ 00136 ENDM
+ 00137
+ 00138 JUMPTABLE_4BYTES MACRO max_value
+ 00139 addlw -(max_value) ; ensure that jump index is not greater than (max_value-1)
+ 00140 skpnc
+ 00141 return
+ 00142 addlw (max_value)
+ 00143 call MIOS_HLP_GetIndex_4bytes
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 9
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00144 ENDM
+ 00145
+ 00146 JUMPTABLE_4BYTES_UNSECURE MACRO
+ 00147 call MIOS_HLP_GetIndex_4bytes
+ 00148 ENDM
+ 00149
+ 00150 ;; ==========================================================================
+ 00151
+ 00152 TWOBYTE_ENTRY MACRO low_byte, high_byte
+ 00153 dw (high_byte << 8) | (low_byte)
+ 00154 ENDM
+ 00155
+ 00156 ;; ==========================================================================
+ 00157
+0000 00158 #define skpnz btfsc STATUS, Z
+0000 00159 #define skpz btfss STATUS, Z
+0000 00160 #define skpndc btfsc STATUS, DC
+0000 00161 #define skpdc btfss STATUS, DC
+0000 00162 #define skpnc btfsc STATUS, C
+0000 00163 #define skpc btfss STATUS, C
+0000 00164 #define clrc bcf STATUS, C
+0000 00165 #define setc bsf STATUS, C
+0000 00166 #define clrz bcf STATUS, Z
+0000 00167 #define setz bsf STATUS, Z
+0000 00168 #define rrf rrcf
+0000 00169 #define rlf rlcf
+ 00170
+ 00171 rgoto MACRO label
+ 00172 bra label
+ 00173 ENDM
+ 00174
+ 00175 SET_BSR MACRO reg
+ 00176 movlb HIGH(reg)
+ 00177 ENDM
+ 00178
+ 00179 ;; ==========================================================================
+ 00180
+ 00181 FONT_ENTRY MACRO width, height, x0, char_offset
+ 00182 dw ((height) << 8) | (width), ((char_offset) << 8) | (x0)
+ 00183 ENDM
+ 00184
+ 00185 ;; ==========================================================================
+ 00186
+ 00187 STRING MACRO length, pos, str
+ 00188 da ((length) << 8) | (pos), str
+ 00189 ENDM
+ 00190
+ 00191 ;; ==========================================================================
+ 00018
+ 00019 ;; ---[ vectors to MIOS functions (never change!) ]---
+ 00020 #include <mios_vectors.inc>
+ 00001 ; $Id: mios_vectors.inc 49 2008-01-30 21:47:31Z tk $
+ 00002
+ 00002C00 00003 MIOS_MIDI_BeginStream EQU 0x2c00
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 10
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002C04 00004 MIOS_MIDI_DeviceIDAutoSet EQU 0x2c04
+ 00002C08 00005 MIOS_MIDI_DeviceIDGet EQU 0x2c08
+ 00002C0C 00006 MIOS_MIDI_DeviceIDSet EQU 0x2c0c
+ 00002C10 00007 MIOS_MIDI_EndStream EQU 0x2c10
+ 00002C14 00008 MIOS_MIDI_Init EQU 0x2c14
+ 00002C18 00009 MIOS_MIDI_InterfaceAutoSet EQU 0x2c18
+ 00002C1C 00010 MIOS_MIDI_InterfaceGet EQU 0x2c1c
+ 00002C20 00011 MIOS_MIDI_InterfaceSet EQU 0x2c20
+ 00002C24 00012 MIOS_MIDI_MergerGet EQU 0x2c24
+ 00002C28 00013 MIOS_MIDI_MergerSet EQU 0x2c28
+ 00002C2C 00014 MIOS_MIDI_RxBufferFree EQU 0x2c2c
+ 00002C30 00015 MIOS_MIDI_RxBufferGet EQU 0x2c30
+ 00002C34 00016 MIOS_MIDI_RxBufferPut EQU 0x2c34
+ 00002C38 00017 MIOS_MIDI_RxBufferUsed EQU 0x2c38
+ 00002C3C 00018 MIOS_MIDI_TxBufferFlush EQU 0x2c3c
+ 00002C40 00019 MIOS_MIDI_TxBufferFree EQU 0x2c40
+ 00002C44 00020 MIOS_MIDI_TxBufferGet EQU 0x2c44
+ 00002C48 00021 MIOS_MIDI_TxBufferPut EQU 0x2c48
+ 00002C4C 00022 MIOS_MIDI_TxBufferUsed EQU 0x2c4c
+ 00002C50 00023 MIOS_MPROC_MergerDisable EQU 0x2c50
+ 00002C54 00024 MIOS_MPROC_MergerEnable EQU 0x2c54
+ 00002C58 00025 MIOS_MPROC_MergerGet EQU 0x2c58
+ 00002C5C 00026 MIOS_AIN_DeadbandGet EQU 0x2c5c
+ 00002C60 00027 MIOS_AIN_DeadbandSet EQU 0x2c60
+ 00002C64 00028 MIOS_AIN_Muxed EQU 0x2c64
+ 00002C68 00029 MIOS_AIN_NumberGet EQU 0x2c68
+ 00002C6C 00030 MIOS_AIN_NumberSet EQU 0x2c6c
+ 00002C70 00031 MIOS_AIN_Pin7bitGet EQU 0x2c70
+ 00002C74 00032 MIOS_AIN_PinGet EQU 0x2c74
+ 00002C78 00033 MIOS_AIN_PinLSBGet EQU 0x2c78
+ 00002C7C 00034 MIOS_AIN_PinMSBGet EQU 0x2c7c
+ 00002C80 00035 MIOS_AIN_UnMuxed EQU 0x2c80
+ 00002C84 00036 MIOS_MF_PWM_DutyCycleDownGet EQU 0x2c84
+ 00002C88 00037 MIOS_MF_PWM_DutyCycleDownSet EQU 0x2c88
+ 00002C8C 00038 MIOS_MF_PWM_DutyCycleUpGet EQU 0x2c8c
+ 00002C90 00039 MIOS_MF_PWM_DutyCycleUpSet EQU 0x2c90
+ 00002C94 00040 MIOS_MF_DeadbandGet EQU 0x2c94
+ 00002C98 00041 MIOS_MF_DeadbandSet EQU 0x2c98
+ 00002C9C 00042 MIOS_MF_Disable EQU 0x2c9c
+ 00002CA0 00043 MIOS_MF_Enable EQU 0x2ca0
+ 00002CA4 00044 MIOS_MF_FaderMove EQU 0x2ca4
+ 00002CA8 00045 MIOS_MF_SuspendDisable EQU 0x2ca8
+ 00002CAC 00046 MIOS_MF_SuspendEnable EQU 0x2cac
+ 00002CB0 00047 MIOS_MF_SuspendGet EQU 0x2cb0
+ 00002CB4 00048 MIOS_DIN_PinGet EQU 0x2cb4
+ 00002CB8 00049 MIOS_DIN_SRGet EQU 0x2cb8
+ 00002CBC 00050 MIOS_DOUT_PinGet EQU 0x2cbc
+ 00002CC0 00051 MIOS_DOUT_PinSet EQU 0x2cc0
+ 00002CC4 00052 MIOS_DOUT_PinSet0 EQU 0x2cc4
+ 00002CC8 00053 MIOS_DOUT_PinSet1 EQU 0x2cc8
+ 00002CCC 00054 MIOS_DOUT_SRGet EQU 0x2ccc
+ 00002CD0 00055 MIOS_DOUT_SRSet EQU 0x2cd0
+ 00002CD4 00056 MIOS_ENC_Abs7bitAdd EQU 0x2cd4
+ 00002CD8 00057 MIOS_ENC_Abs7bitGet EQU 0x2cd8
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 11
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002CDC 00058 MIOS_ENC_Abs7bitSet EQU 0x2cdc
+ 00002CE0 00059 MIOS_ENC_NumberGet EQU 0x2ce0
+ 00002CE4 00060 MIOS_ENC_SpeedGet EQU 0x2ce4
+ 00002CE8 00061 MIOS_ENC_SpeedSet EQU 0x2ce8
+ 00002CEC 00062 MIOS_SRIO_NumberGet EQU 0x2cec
+ 00002CF0 00063 MIOS_SRIO_NumberSet EQU 0x2cf0
+ 00002CF4 00064 MIOS_SRIO_TS_SensitivityGet EQU 0x2cf4
+ 00002CF8 00065 MIOS_SRIO_TS_SensitivitySet EQU 0x2cf8
+ 00002CFC 00066 MIOS_SRIO_UpdateFrqGet EQU 0x2cfc
+ 00002D00 00067 MIOS_SRIO_UpdateFrqSet EQU 0x2d00
+ 00002D04 00068 MIOS_LCD_Clear EQU 0x2d04
+ 00002D08 00069 MIOS_LCD_Cmd EQU 0x2d08
+ 00002D0C 00070 MIOS_LCD_CursorGet EQU 0x2d0c
+ 00002D10 00071 MIOS_LCD_CursorSet EQU 0x2d10
+ 00002D14 00072 MIOS_LCD_Data EQU 0x2d14
+ 00002D18 00073 MIOS_LCD_Init EQU 0x2d18
+ 00002D1C 00074 MIOS_LCD_PrintBCD1 EQU 0x2d1c
+ 00002D20 00075 MIOS_LCD_PrintBCD2 EQU 0x2d20
+ 00002D24 00076 MIOS_LCD_PrintBCD3 EQU 0x2d24
+ 00002D28 00077 MIOS_LCD_PrintChar EQU 0x2d28
+ 00002D2C 00078 MIOS_LCD_PrintHex1 EQU 0x2d2c
+ 00002D30 00079 MIOS_LCD_PrintHex2 EQU 0x2d30
+ 00002D34 00080 MIOS_LCD_PrintMessage EQU 0x2d34
+ 00002D38 00081 MIOS_LCD_PrintPreconfString EQU 0x2d38
+ 00002D3C 00082 MIOS_LCD_PrintString EQU 0x2d3c
+ 00002D40 00083 MIOS_LCD_TypeAutoSet EQU 0x2d40
+ 00002D44 00084 MIOS_LCD_TypeGet EQU 0x2d44
+ 00002D48 00085 MIOS_LCD_TypeSet EQU 0x2d48
+ 00002D4C 00086 MIOS_LCD_YAddressGet EQU 0x2d4c
+ 00002D50 00087 MIOS_LCD_YAddressSet EQU 0x2d50
+ 00002D54 00088 MIOS_GLCD_FontInit EQU 0x2d54
+ 00002D58 00089 MIOS_GLCD_GCursorGet EQU 0x2d58
+ 00002D5C 00090 MIOS_GLCD_GCursorSet EQU 0x2d5c
+ 00002D60 00091 MIOS_EEPROM_Read EQU 0x2d60
+ 00002D64 00092 MIOS_EEPROM_Write EQU 0x2d64
+ 00002D68 00093 MIOS_FLASH_Read EQU 0x2d68
+ 00002D6C 00094 MIOS_FLASH_Write EQU 0x2d6c
+ 00002D70 00095 MIOS_BANKSTICK_Read EQU 0x2d70
+ 00002D74 00096 MIOS_BANKSTICK_Write EQU 0x2d74
+ 00002D78 00097 MIOS_TIMER_Init EQU 0x2d78
+ 00002D7C 00098 MIOS_TIMER_Start EQU 0x2d7c
+ 00002D80 00099 MIOS_TIMER_Stop EQU 0x2d80
+ 00002D84 00100 MIOS_HLP_AddressFromTable EQU 0x2d84
+ 00002D88 00101 MIOS_HLP_GetBitANDMask EQU 0x2d88
+ 00002D8C 00102 MIOS_HLP_GetBitORMask EQU 0x2d8c
+ 00002D90 00103 MIOS_HLP_GetIndex_2bytes EQU 0x2d90
+ 00002D94 00104 MIOS_HLP_GetIndex_4bytes EQU 0x2d94
+ 00002D98 00105 MIOS_HLP_IndirectJump EQU 0x2d98
+ 00002D9C 00106 MIOS_Delay EQU 0x2d9c
+ 00002DA0 00107 MIOS_GPCounterGet EQU 0x2da0
+ 00002DA4 00108 MIOS_Reset EQU 0x2da4
+ 00002DA8 00109 MIOS_SystemResume EQU 0x2da8
+ 00002DAC 00110 MIOS_SystemSuspend EQU 0x2dac
+ 00002DB0 00111 MIOS_UserResume EQU 0x2db0
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 12
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002DB4 00112 MIOS_UserSuspend EQU 0x2db4
+ 00002DB8 00113 MIOS_HLP_16bitAddSaturate EQU 0x2db8
+ 00002DBC 00114 MIOS_DIN_PinAutoRepeatEnable EQU 0x2dbc
+ 00002DC0 00115 MIOS_DIN_PinAutoRepeatDisable EQU 0x2dc0
+ 00002DC4 00116 MIOS_DIN_PinAutoRepeatGet EQU 0x2dc4
+ 00002DC8 00117 MIOS_CLCD_SpecialCharInit EQU 0x2dc8
+ 00002DCC 00118 MIOS_CLCD_SpecialCharsInit EQU 0x2dcc
+ 00002DD0 00119 MIOS_AIN_DynamicPrioSet EQU 0x2dd0
+ 00002DD4 00120 MIOS_AIN_DynamicPrioGet EQU 0x2dd4
+ 00002DD8 00121 MIOS_AIN_LastPinsGet EQU 0x2dd8
+ 00002DDC 00122 MIOS_BANKSTICK_CtrlSet EQU 0x2ddc
+ 00002DE0 00123 MIOS_BANKSTICK_CtrlGet EQU 0x2de0
+ 00002DE4 00124 MIOS_BANKSTICK_WritePage EQU 0x2de4
+ 00002DE8 00125 MIOS_HLP_Dec2BCD EQU 0x2de8
+ 00002DEC 00126 MIOS_LCD_PrintBCD4 EQU 0x2dec
+ 00002DF0 00127 MIOS_LCD_PrintBCD5 EQU 0x2df0
+ 00002DF4 00128 MIOS_LCD_MessageStart EQU 0x2df4
+ 00002DF8 00129 MIOS_LCD_MessageStop EQU 0x2df8
+ 00002DFC 00130 MIOS_MF_PWM_PeriodGet EQU 0x2dfc
+ 00002E00 00131 MIOS_MF_PWM_PeriodSet EQU 0x2e00
+ 00002E04 00132 MIOS_IIC_Start EQU 0x2e04
+ 00002E08 00133 MIOS_IIC_Stop EQU 0x2e08
+ 00002E0C 00134 MIOS_IIC_ByteSend EQU 0x2e0c
+ 00002E10 00135 MIOS_IIC_ByteReceive EQU 0x2e10
+ 00002E14 00136 MIOS_IIC_AckSend EQU 0x2e14
+ 00002E18 00137 MIOS_IIC_NakSend EQU 0x2e18
+ 00002E1C 00138 MIOS_IIC_CtrlSet EQU 0x2e1c
+ 00002E20 00139 MIOS_IIC_CtrlGet EQU 0x2e20
+ 00002E24 00140 MIOS_SRIO_DebounceSet EQU 0x2e24
+ 00002E28 00141 MIOS_SRIO_DebounceGet EQU 0x2e28
+ 00002E2C 00142 MIOS_MF_TouchDetectionReset EQU 0x2e2c
+ 00002E30 00143 MIOS_BANKSTICK_ReadPage EQU 0x2e30
+ 00002E34 00144 MIOS_EEPROM_ReadPage EQU 0x2e34
+ 00002E38 00145 MIOS_EEPROM_WritePage EQU 0x2e38
+ 00002E3C 00146 MIOS_TIMER_ReInit EQU 0x2e3c
+ 00002E40 00147 MIOS_RESERVED_144 EQU 0x2e40
+ 00002E44 00148 MIOS_RESERVED_145 EQU 0x2e44
+ 00002E48 00149 MIOS_RESERVED_146 EQU 0x2e48
+ 00002E4C 00150 MIOS_RESERVED_147 EQU 0x2e4c
+ 00002E50 00151 MIOS_RESERVED_148 EQU 0x2e50
+ 00002E54 00152 MIOS_RESERVED_149 EQU 0x2e54
+ 00002E58 00153 MIOS_RESERVED_150 EQU 0x2e58
+ 00002E5C 00154 MIOS_RESERVED_151 EQU 0x2e5c
+ 00002E60 00155 MIOS_RESERVED_152 EQU 0x2e60
+ 00002E64 00156 MIOS_RESERVED_153 EQU 0x2e64
+ 00002E68 00157 MIOS_RESERVED_154 EQU 0x2e68
+ 00002E6C 00158 MIOS_RESERVED_155 EQU 0x2e6c
+ 00002E70 00159 MIOS_RESERVED_156 EQU 0x2e70
+ 00002E74 00160 MIOS_RESERVED_157 EQU 0x2e74
+ 00002E78 00161 MIOS_RESERVED_158 EQU 0x2e78
+ 00002E7C 00162 MIOS_RESERVED_159 EQU 0x2e7c
+ 00002E80 00163 MIOS_RESERVED_160 EQU 0x2e80
+ 00002E84 00164 MIOS_RESERVED_161 EQU 0x2e84
+ 00002E88 00165 MIOS_RESERVED_162 EQU 0x2e88
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 13
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002E8C 00166 MIOS_RESERVED_163 EQU 0x2e8c
+ 00002E90 00167 MIOS_RESERVED_164 EQU 0x2e90
+ 00002E94 00168 MIOS_RESERVED_165 EQU 0x2e94
+ 00002E98 00169 MIOS_RESERVED_166 EQU 0x2e98
+ 00002E9C 00170 MIOS_RESERVED_167 EQU 0x2e9c
+ 00002EA0 00171 MIOS_RESERVED_168 EQU 0x2ea0
+ 00002EA4 00172 MIOS_RESERVED_169 EQU 0x2ea4
+ 00002EA8 00173 MIOS_RESERVED_170 EQU 0x2ea8
+ 00002EAC 00174 MIOS_RESERVED_171 EQU 0x2eac
+ 00002EB0 00175 MIOS_RESERVED_172 EQU 0x2eb0
+ 00002EB4 00176 MIOS_RESERVED_173 EQU 0x2eb4
+ 00002EB8 00177 MIOS_RESERVED_174 EQU 0x2eb8
+ 00002EBC 00178 MIOS_RESERVED_175 EQU 0x2ebc
+ 00002EC0 00179 MIOS_RESERVED_176 EQU 0x2ec0
+ 00002EC4 00180 MIOS_RESERVED_177 EQU 0x2ec4
+ 00002EC8 00181 MIOS_RESERVED_178 EQU 0x2ec8
+ 00002ECC 00182 MIOS_RESERVED_179 EQU 0x2ecc
+ 00002ED0 00183 MIOS_RESERVED_180 EQU 0x2ed0
+ 00002ED4 00184 MIOS_RESERVED_181 EQU 0x2ed4
+ 00002ED8 00185 MIOS_RESERVED_182 EQU 0x2ed8
+ 00002EDC 00186 MIOS_RESERVED_183 EQU 0x2edc
+ 00002EE0 00187 MIOS_RESERVED_184 EQU 0x2ee0
+ 00002EE4 00188 MIOS_RESERVED_185 EQU 0x2ee4
+ 00002EE8 00189 MIOS_RESERVED_186 EQU 0x2ee8
+ 00002EEC 00190 MIOS_RESERVED_187 EQU 0x2eec
+ 00002EF0 00191 MIOS_RESERVED_188 EQU 0x2ef0
+ 00002EF4 00192 MIOS_RESERVED_189 EQU 0x2ef4
+ 00002EF8 00193 MIOS_RESERVED_190 EQU 0x2ef8
+ 00002EFC 00194 MIOS_RESERVED_191 EQU 0x2efc
+ 00002F00 00195 MIOS_RESERVED_192 EQU 0x2f00
+ 00002F04 00196 MIOS_RESERVED_193 EQU 0x2f04
+ 00002F08 00197 MIOS_RESERVED_194 EQU 0x2f08
+ 00002F0C 00198 MIOS_RESERVED_195 EQU 0x2f0c
+ 00002F10 00199 MIOS_RESERVED_196 EQU 0x2f10
+ 00002F14 00200 MIOS_RESERVED_197 EQU 0x2f14
+ 00002F18 00201 MIOS_RESERVED_198 EQU 0x2f18
+ 00002F1C 00202 MIOS_RESERVED_199 EQU 0x2f1c
+ 00002F20 00203 MIOS_RESERVED_200 EQU 0x2f20
+ 00002F24 00204 MIOS_RESERVED_201 EQU 0x2f24
+ 00002F28 00205 MIOS_RESERVED_202 EQU 0x2f28
+ 00002F2C 00206 MIOS_RESERVED_203 EQU 0x2f2c
+ 00002F30 00207 MIOS_RESERVED_204 EQU 0x2f30
+ 00002F34 00208 MIOS_RESERVED_205 EQU 0x2f34
+ 00002F38 00209 MIOS_RESERVED_206 EQU 0x2f38
+ 00002F3C 00210 MIOS_RESERVED_207 EQU 0x2f3c
+ 00002F40 00211 MIOS_RESERVED_208 EQU 0x2f40
+ 00002F44 00212 MIOS_RESERVED_209 EQU 0x2f44
+ 00002F48 00213 MIOS_RESERVED_210 EQU 0x2f48
+ 00002F4C 00214 MIOS_RESERVED_211 EQU 0x2f4c
+ 00002F50 00215 MIOS_RESERVED_212 EQU 0x2f50
+ 00002F54 00216 MIOS_RESERVED_213 EQU 0x2f54
+ 00002F58 00217 MIOS_RESERVED_214 EQU 0x2f58
+ 00002F5C 00218 MIOS_RESERVED_215 EQU 0x2f5c
+ 00002F60 00219 MIOS_RESERVED_216 EQU 0x2f60
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 14
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002F64 00220 MIOS_RESERVED_217 EQU 0x2f64
+ 00002F68 00221 MIOS_RESERVED_218 EQU 0x2f68
+ 00002F6C 00222 MIOS_RESERVED_219 EQU 0x2f6c
+ 00002F70 00223 MIOS_RESERVED_220 EQU 0x2f70
+ 00002F74 00224 MIOS_RESERVED_221 EQU 0x2f74
+ 00002F78 00225 MIOS_RESERVED_222 EQU 0x2f78
+ 00002F7C 00226 MIOS_RESERVED_223 EQU 0x2f7c
+ 00002F80 00227 MIOS_RESERVED_224 EQU 0x2f80
+ 00002F84 00228 MIOS_RESERVED_225 EQU 0x2f84
+ 00002F88 00229 MIOS_RESERVED_226 EQU 0x2f88
+ 00002F8C 00230 MIOS_RESERVED_227 EQU 0x2f8c
+ 00002F90 00231 MIOS_RESERVED_228 EQU 0x2f90
+ 00002F94 00232 MIOS_RESERVED_229 EQU 0x2f94
+ 00002F98 00233 MIOS_RESERVED_230 EQU 0x2f98
+ 00002F9C 00234 MIOS_RESERVED_231 EQU 0x2f9c
+ 00002FA0 00235 MIOS_RESERVED_232 EQU 0x2fa0
+ 00002FA4 00236 MIOS_RESERVED_233 EQU 0x2fa4
+ 00002FA8 00237 MIOS_RESERVED_234 EQU 0x2fa8
+ 00002FAC 00238 MIOS_RESERVED_235 EQU 0x2fac
+ 00002FB0 00239 MIOS_RESERVED_236 EQU 0x2fb0
+ 00002FB4 00240 MIOS_RESERVED_237 EQU 0x2fb4
+ 00002FB8 00241 MIOS_RESERVED_238 EQU 0x2fb8
+ 00002FBC 00242 MIOS_RESERVED_239 EQU 0x2fbc
+ 00002FC0 00243 MIOS_RESERVED_240 EQU 0x2fc0
+ 00002FC4 00244 MIOS_RESERVED_241 EQU 0x2fc4
+ 00002FC8 00245 MIOS_RESERVED_242 EQU 0x2fc8
+ 00002FCC 00246 MIOS_RESERVED_243 EQU 0x2fcc
+ 00002FD0 00247 MIOS_RESERVED_244 EQU 0x2fd0
+ 00002FD4 00248 MIOS_RESERVED_245 EQU 0x2fd4
+ 00002FD8 00249 MIOS_RESERVED_246 EQU 0x2fd8
+ 00002FDC 00250 MIOS_RESERVED_247 EQU 0x2fdc
+ 00002FE0 00251 MIOS_RESERVED_248 EQU 0x2fe0
+ 00002FE4 00252 MIOS_RESERVED_249 EQU 0x2fe4
+ 00002FE8 00253 MIOS_RESERVED_250 EQU 0x2fe8
+ 00002FEC 00254 MIOS_RESERVED_251 EQU 0x2fec
+ 00002FF0 00255 MIOS_RESERVED_252 EQU 0x2ff0
+ 00002FF4 00256 MIOS_RESERVED_253 EQU 0x2ff4
+ 00002FF8 00257 MIOS_RESERVED_254 EQU 0x2ff8
+ 00002FFC 00258 MIOS_RESERVED_255 EQU 0x2ffc
+ 00021
+ 00022 ;; ---[ user hooks (never change!) ]---
+ 00023 #include <user_vectors.inc>
+ 00001 ; $Id: user_vectors.inc 49 2008-01-30 21:47:31Z tk $
+ 00002 ;
+ 00003 ; User vectortable - contains user hooks to MIOS
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 15
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00013 ;; never change the origin or the order of entries!
+3000 00014 org 0x3000
+3000 00015 _User_Init
+3000 EF5B F01A 00016 goto USER_Init
+3004 00017 _USER_Tick
+3004 EF61 F01A 00018 goto USER_Tick
+3008 00019 _USER_Timer
+3008 EF62 F01A 00020 goto USER_Timer
+300C 00021 _USER_MPROC_DebugTrigger
+300C EF63 F01A 00022 goto USER_MPROC_DebugTrigger
+3010 00023 _USER_DISPLAY_Init
+3010 EF64 F01A 00024 goto USER_DISPLAY_Init
+3014 00025 _USER_DISPLAY_Tick
+3014 EFC8 F01A 00026 goto USER_DISPLAY_Tick
+3018 00027 _USER_SR_Service_Prepare
+3018 EF99 F01B 00028 goto USER_SR_Service_Prepare
+301C 00029 _USER_SR_Service_Finish
+301C EF9A F01B 00030 goto USER_SR_Service_Finish
+3020 00031 _USER_DIN_NotifyToggle
+3020 EF97 F01B 00032 goto USER_DIN_NotifyToggle
+3024 00033 _USER_ENC_NotifyChange
+3024 EF98 F01B 00034 goto USER_ENC_NotifyChange
+3028 00035 _USER_AIN_NotifyChange
+3028 EF9B F01B 00036 goto USER_AIN_NotifyChange
+302C 00037 _USER_MPROC_NotifyReceivedByte
+302C EF94 F01B 00038 goto USER_MPROC_NotifyReceivedByte
+3030 00039 _USER_MPROC_NotifyTimeout
+3030 EF93 F01B 00040 goto USER_MPROC_NotifyTimeout
+3034 00041 _USER_MPROC_NotifyReceivedEvent
+3034 EF6F F01B 00042 goto USER_MPROC_NotifyReceivedEvent
+3038 00043 _USER_MPROC_NotifyFoundEvent
+3038 EF92 F01B 00044 goto USER_MPROC_NotifyFoundEvent
+303C 00045 _USER_LCD_Init
+303C EF80 F019 00046 goto USER_LCD_Init
+3040 00047 _USER_LCD_Clear
+3040 EF81 F019 00048 goto USER_LCD_Clear
+3044 00049 _USER_LCD_CursorSet
+3044 EF82 F019 00050 goto USER_LCD_CursorSet
+3048 00051 _USER_LCD_PrintChar
+3048 EF83 F019 00052 goto USER_LCD_PrintChar
+304C 00053 _USER_MIDI_NotifyRx
+304C EF96 F01B 00054 goto USER_MIDI_NotifyRx
+3050 00055 _USER_MIDI_NotifyTx
+3050 EF95 F01B 00056 goto USER_MIDI_NotifyTx
+3054 00057 _USER_LCD_Data
+3054 EF84 F019 00058 goto USER_LCD_Data
+3058 00059 _USER_LCD_Cmd
+3058 EF85 F019 00060 goto USER_LCD_Cmd
+305C 00061 _USER_LCD_SpecialCharInit
+305C EF86 F019 00062 goto USER_LCD_SpecialCharInit
+3060 00063 USER_RESERVED_25
+3060 0012 00064 return
+3062 0000 00065 nop
+3064 00066 USER_RESERVED_26
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 16
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3064 0012 00067 return
+3066 0000 00068 nop
+3068 00069 USER_RESERVED_27
+3068 0012 00070 return
+306A 0000 00071 nop
+306C 00072 USER_RESERVED_28
+306C 0012 00073 return
+306E 0000 00074 nop
+3070 00075 USER_RESERVED_29
+3070 0012 00076 return
+3072 0000 00077 nop
+3074 00078 USER_RESERVED_30
+3074 0012 00079 return
+3076 0000 00080 nop
+3078 00081 USER_RESERVED_31
+3078 0012 00082 return
+307A 0000 00083 nop
+307C 00084 USER_RESERVED_32
+307C 0012 00085 return
+307E 0000 00086 nop
+ 00024
+ 00025 ;; ==========================================================================
+ 00026 ;; General Application Settings
+ 00027 ;; ==========================================================================
+ 00028
+ 00029 ;; ---[ variables used by application ]---
+ 00030 #include "app_defines.h"
+ 00001 ; $Id: app_defines.h bdupeyron.tech@gmail.com(Antichambre)
+ 00002 ;
+ 00003 ; Specific Defines and variables of MIOS Application
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 ;; free memory for user applications:
+ 00014 ;; 0x010-0x37f
+ 00015
+ 00016
+ 00000010 00017 DISPLAY_UPDATE_REQ EQU 0x010
+ 00000011 00031
+ 00032 ; ==========================================================================
+ 00033
+ 00034 ;; ---[ configuration table for MIDI processor and rotary encoders ]---
+ 00035 #include <mios_mt_table.inc>
+ 00001 ; $Id: mios_mt_table.inc 69 2008-02-01 00:20:18Z tk $
+ 00002 ;
+ 00003 ; "Dummy" MIDI Trigger Configuaration Table
+ 00004 ;
+ 00005 ; Should be included by the application, if the MIDI processor feature
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 17
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00006 ; is not used in order to pre-initialize the table area with EOT's
+ 00007 ;
+ 00008 ; Note: due to the inflexible concept (e.g. handling of Note On/Off events),
+ 00009 ; the usage of this function is not recommented for new designs - please parse
+ 00010 ; MIDI events locally within the application.
+ 00011 ;
+ 00012 ;
+3080 00013 org 0x3080 ; never change the origin!
+ 00014
+ 00015 ;; --------------------------------------------------------------------------
+ 00016 ;; The MIDI Trigger table maps incoming MIDI events to control elements
+ 00017 ;; (pots/faders, encoders, buttons, LEDs, ...)
+ 00018 ;;
+ 00019 ;; After the MIOS MIDI processor (MPROC) has received a complete event, it
+ 00020 ;; searches in this table for a matching entry and calls USER_MPROC_NotifyFoundEvent
+ 00021 ;; with the table index in WREG and the MIDI event in MIOS_PARAMETER[123]
+ 00022 ;;
+ 00023 ;; Note also that the MIDI processor stops scanning the table after
+ 00024 ;; the first MT_EOT entry
+ 00025 ;;
+ 00026 ;; Note2: never change the origin (memory location) of this table!
+ 00027 ;;
+ 00028 ;; Optionally this table can also be used to define events, which should be
+ 00029 ;; transmitted (Example: see example_ain64_din128_dout128), so that incoming
+ 00030 ;; and outgoing events are located at one place
+ 00031 ;;
+ 00032 ;; The table *must* contain 256 entries. Unused entries should be filled with
+ 00033 ;; MT_EOT.
+ 00034 ;; --------------------------------------------------------------------------
+ 00035
+ 00036 ;; MIDI Trigger entry structure
+ 00037 MT_ENTRY MACRO event_0, event_1
+ 00038 dw (event_1 << 8) | event_0
+ 00039 ENDM
+ 00040
+ 00041 MT_EOT MACRO
+ 00042 dw 0xffff
+ 00043 ENDM
+ 00044
+ 00045
+3080 00046 _MIOS_MPROC_EVENT_TABLE
+3080 00047 MIOS_MPROC_EVENT_TABLE
+ 00048 ;; entry 0x00-0x0f
+ 00049 MT_EOT
+3080 FFFF M dw 0xffff
+ 00050 MT_EOT
+3082 FFFF M dw 0xffff
+ 00051 MT_EOT
+3084 FFFF M dw 0xffff
+ 00052 MT_EOT
+3086 FFFF M dw 0xffff
+ 00053 MT_EOT
+3088 FFFF M dw 0xffff
+ 00054 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 18
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+308A FFFF M dw 0xffff
+ 00055 MT_EOT
+308C FFFF M dw 0xffff
+ 00056 MT_EOT
+308E FFFF M dw 0xffff
+ 00057 MT_EOT
+3090 FFFF M dw 0xffff
+ 00058 MT_EOT
+3092 FFFF M dw 0xffff
+ 00059 MT_EOT
+3094 FFFF M dw 0xffff
+ 00060 MT_EOT
+3096 FFFF M dw 0xffff
+ 00061 MT_EOT
+3098 FFFF M dw 0xffff
+ 00062 MT_EOT
+309A FFFF M dw 0xffff
+ 00063 MT_EOT
+309C FFFF M dw 0xffff
+ 00064 MT_EOT
+309E FFFF M dw 0xffff
+ 00065
+ 00066 ;; entry 0x10-0x1f
+ 00067 MT_EOT
+30A0 FFFF M dw 0xffff
+ 00068 MT_EOT
+30A2 FFFF M dw 0xffff
+ 00069 MT_EOT
+30A4 FFFF M dw 0xffff
+ 00070 MT_EOT
+30A6 FFFF M dw 0xffff
+ 00071 MT_EOT
+30A8 FFFF M dw 0xffff
+ 00072 MT_EOT
+30AA FFFF M dw 0xffff
+ 00073 MT_EOT
+30AC FFFF M dw 0xffff
+ 00074 MT_EOT
+30AE FFFF M dw 0xffff
+ 00075 MT_EOT
+30B0 FFFF M dw 0xffff
+ 00076 MT_EOT
+30B2 FFFF M dw 0xffff
+ 00077 MT_EOT
+30B4 FFFF M dw 0xffff
+ 00078 MT_EOT
+30B6 FFFF M dw 0xffff
+ 00079 MT_EOT
+30B8 FFFF M dw 0xffff
+ 00080 MT_EOT
+30BA FFFF M dw 0xffff
+ 00081 MT_EOT
+30BC FFFF M dw 0xffff
+ 00082 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 19
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+30BE FFFF M dw 0xffff
+ 00083
+ 00084 ;; entry 0x20-0x2f
+ 00085 MT_EOT
+30C0 FFFF M dw 0xffff
+ 00086 MT_EOT
+30C2 FFFF M dw 0xffff
+ 00087 MT_EOT
+30C4 FFFF M dw 0xffff
+ 00088 MT_EOT
+30C6 FFFF M dw 0xffff
+ 00089 MT_EOT
+30C8 FFFF M dw 0xffff
+ 00090 MT_EOT
+30CA FFFF M dw 0xffff
+ 00091 MT_EOT
+30CC FFFF M dw 0xffff
+ 00092 MT_EOT
+30CE FFFF M dw 0xffff
+ 00093 MT_EOT
+30D0 FFFF M dw 0xffff
+ 00094 MT_EOT
+30D2 FFFF M dw 0xffff
+ 00095 MT_EOT
+30D4 FFFF M dw 0xffff
+ 00096 MT_EOT
+30D6 FFFF M dw 0xffff
+ 00097 MT_EOT
+30D8 FFFF M dw 0xffff
+ 00098 MT_EOT
+30DA FFFF M dw 0xffff
+ 00099 MT_EOT
+30DC FFFF M dw 0xffff
+ 00100 MT_EOT
+30DE FFFF M dw 0xffff
+ 00101
+ 00102 ;; entry 0x30-0x3f
+ 00103 MT_EOT
+30E0 FFFF M dw 0xffff
+ 00104 MT_EOT
+30E2 FFFF M dw 0xffff
+ 00105 MT_EOT
+30E4 FFFF M dw 0xffff
+ 00106 MT_EOT
+30E6 FFFF M dw 0xffff
+ 00107 MT_EOT
+30E8 FFFF M dw 0xffff
+ 00108 MT_EOT
+30EA FFFF M dw 0xffff
+ 00109 MT_EOT
+30EC FFFF M dw 0xffff
+ 00110 MT_EOT
+30EE FFFF M dw 0xffff
+ 00111 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 20
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+30F0 FFFF M dw 0xffff
+ 00112 MT_EOT
+30F2 FFFF M dw 0xffff
+ 00113 MT_EOT
+30F4 FFFF M dw 0xffff
+ 00114 MT_EOT
+30F6 FFFF M dw 0xffff
+ 00115 MT_EOT
+30F8 FFFF M dw 0xffff
+ 00116 MT_EOT
+30FA FFFF M dw 0xffff
+ 00117 MT_EOT
+30FC FFFF M dw 0xffff
+ 00118 MT_EOT
+30FE FFFF M dw 0xffff
+ 00119
+ 00120 ;; entry 0x40-0x4f
+ 00121 MT_EOT
+3100 FFFF M dw 0xffff
+ 00122 MT_EOT
+3102 FFFF M dw 0xffff
+ 00123 MT_EOT
+3104 FFFF M dw 0xffff
+ 00124 MT_EOT
+3106 FFFF M dw 0xffff
+ 00125 MT_EOT
+3108 FFFF M dw 0xffff
+ 00126 MT_EOT
+310A FFFF M dw 0xffff
+ 00127 MT_EOT
+310C FFFF M dw 0xffff
+ 00128 MT_EOT
+310E FFFF M dw 0xffff
+ 00129 MT_EOT
+3110 FFFF M dw 0xffff
+ 00130 MT_EOT
+3112 FFFF M dw 0xffff
+ 00131 MT_EOT
+3114 FFFF M dw 0xffff
+ 00132 MT_EOT
+3116 FFFF M dw 0xffff
+ 00133 MT_EOT
+3118 FFFF M dw 0xffff
+ 00134 MT_EOT
+311A FFFF M dw 0xffff
+ 00135 MT_EOT
+311C FFFF M dw 0xffff
+ 00136 MT_EOT
+311E FFFF M dw 0xffff
+ 00137
+ 00138 ;; entry 0x50-0x5f
+ 00139 MT_EOT
+3120 FFFF M dw 0xffff
+ 00140 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 21
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3122 FFFF M dw 0xffff
+ 00141 MT_EOT
+3124 FFFF M dw 0xffff
+ 00142 MT_EOT
+3126 FFFF M dw 0xffff
+ 00143 MT_EOT
+3128 FFFF M dw 0xffff
+ 00144 MT_EOT
+312A FFFF M dw 0xffff
+ 00145 MT_EOT
+312C FFFF M dw 0xffff
+ 00146 MT_EOT
+312E FFFF M dw 0xffff
+ 00147 MT_EOT
+3130 FFFF M dw 0xffff
+ 00148 MT_EOT
+3132 FFFF M dw 0xffff
+ 00149 MT_EOT
+3134 FFFF M dw 0xffff
+ 00150 MT_EOT
+3136 FFFF M dw 0xffff
+ 00151 MT_EOT
+3138 FFFF M dw 0xffff
+ 00152 MT_EOT
+313A FFFF M dw 0xffff
+ 00153 MT_EOT
+313C FFFF M dw 0xffff
+ 00154 MT_EOT
+313E FFFF M dw 0xffff
+ 00155
+ 00156 ;; entry 0x60-0x6f
+ 00157 MT_EOT
+3140 FFFF M dw 0xffff
+ 00158 MT_EOT
+3142 FFFF M dw 0xffff
+ 00159 MT_EOT
+3144 FFFF M dw 0xffff
+ 00160 MT_EOT
+3146 FFFF M dw 0xffff
+ 00161 MT_EOT
+3148 FFFF M dw 0xffff
+ 00162 MT_EOT
+314A FFFF M dw 0xffff
+ 00163 MT_EOT
+314C FFFF M dw 0xffff
+ 00164 MT_EOT
+314E FFFF M dw 0xffff
+ 00165 MT_EOT
+3150 FFFF M dw 0xffff
+ 00166 MT_EOT
+3152 FFFF M dw 0xffff
+ 00167 MT_EOT
+3154 FFFF M dw 0xffff
+ 00168 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 22
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3156 FFFF M dw 0xffff
+ 00169 MT_EOT
+3158 FFFF M dw 0xffff
+ 00170 MT_EOT
+315A FFFF M dw 0xffff
+ 00171 MT_EOT
+315C FFFF M dw 0xffff
+ 00172 MT_EOT
+315E FFFF M dw 0xffff
+ 00173
+ 00174 ;; entry 0x70-0x7f
+ 00175 MT_EOT
+3160 FFFF M dw 0xffff
+ 00176 MT_EOT
+3162 FFFF M dw 0xffff
+ 00177 MT_EOT
+3164 FFFF M dw 0xffff
+ 00178 MT_EOT
+3166 FFFF M dw 0xffff
+ 00179 MT_EOT
+3168 FFFF M dw 0xffff
+ 00180 MT_EOT
+316A FFFF M dw 0xffff
+ 00181 MT_EOT
+316C FFFF M dw 0xffff
+ 00182 MT_EOT
+316E FFFF M dw 0xffff
+ 00183 MT_EOT
+3170 FFFF M dw 0xffff
+ 00184 MT_EOT
+3172 FFFF M dw 0xffff
+ 00185 MT_EOT
+3174 FFFF M dw 0xffff
+ 00186 MT_EOT
+3176 FFFF M dw 0xffff
+ 00187 MT_EOT
+3178 FFFF M dw 0xffff
+ 00188 MT_EOT
+317A FFFF M dw 0xffff
+ 00189 MT_EOT
+317C FFFF M dw 0xffff
+ 00190 MT_EOT
+317E FFFF M dw 0xffff
+ 00191
+ 00192 ;; entry 0x80-0x8f
+ 00193 MT_EOT
+3180 FFFF M dw 0xffff
+ 00194 MT_EOT
+3182 FFFF M dw 0xffff
+ 00195 MT_EOT
+3184 FFFF M dw 0xffff
+ 00196 MT_EOT
+3186 FFFF M dw 0xffff
+ 00197 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 23
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3188 FFFF M dw 0xffff
+ 00198 MT_EOT
+318A FFFF M dw 0xffff
+ 00199 MT_EOT
+318C FFFF M dw 0xffff
+ 00200 MT_EOT
+318E FFFF M dw 0xffff
+ 00201 MT_EOT
+3190 FFFF M dw 0xffff
+ 00202 MT_EOT
+3192 FFFF M dw 0xffff
+ 00203 MT_EOT
+3194 FFFF M dw 0xffff
+ 00204 MT_EOT
+3196 FFFF M dw 0xffff
+ 00205 MT_EOT
+3198 FFFF M dw 0xffff
+ 00206 MT_EOT
+319A FFFF M dw 0xffff
+ 00207 MT_EOT
+319C FFFF M dw 0xffff
+ 00208 MT_EOT
+319E FFFF M dw 0xffff
+ 00209
+ 00210 ;; entry 0x90-0x9f
+ 00211 MT_EOT
+31A0 FFFF M dw 0xffff
+ 00212 MT_EOT
+31A2 FFFF M dw 0xffff
+ 00213 MT_EOT
+31A4 FFFF M dw 0xffff
+ 00214 MT_EOT
+31A6 FFFF M dw 0xffff
+ 00215 MT_EOT
+31A8 FFFF M dw 0xffff
+ 00216 MT_EOT
+31AA FFFF M dw 0xffff
+ 00217 MT_EOT
+31AC FFFF M dw 0xffff
+ 00218 MT_EOT
+31AE FFFF M dw 0xffff
+ 00219 MT_EOT
+31B0 FFFF M dw 0xffff
+ 00220 MT_EOT
+31B2 FFFF M dw 0xffff
+ 00221 MT_EOT
+31B4 FFFF M dw 0xffff
+ 00222 MT_EOT
+31B6 FFFF M dw 0xffff
+ 00223 MT_EOT
+31B8 FFFF M dw 0xffff
+ 00224 MT_EOT
+31BA FFFF M dw 0xffff
+ 00225 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 24
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+31BC FFFF M dw 0xffff
+ 00226 MT_EOT
+31BE FFFF M dw 0xffff
+ 00227
+ 00228 ;; entry 0xa0-0xaf
+ 00229 MT_EOT
+31C0 FFFF M dw 0xffff
+ 00230 MT_EOT
+31C2 FFFF M dw 0xffff
+ 00231 MT_EOT
+31C4 FFFF M dw 0xffff
+ 00232 MT_EOT
+31C6 FFFF M dw 0xffff
+ 00233 MT_EOT
+31C8 FFFF M dw 0xffff
+ 00234 MT_EOT
+31CA FFFF M dw 0xffff
+ 00235 MT_EOT
+31CC FFFF M dw 0xffff
+ 00236 MT_EOT
+31CE FFFF M dw 0xffff
+ 00237 MT_EOT
+31D0 FFFF M dw 0xffff
+ 00238 MT_EOT
+31D2 FFFF M dw 0xffff
+ 00239 MT_EOT
+31D4 FFFF M dw 0xffff
+ 00240 MT_EOT
+31D6 FFFF M dw 0xffff
+ 00241 MT_EOT
+31D8 FFFF M dw 0xffff
+ 00242 MT_EOT
+31DA FFFF M dw 0xffff
+ 00243 MT_EOT
+31DC FFFF M dw 0xffff
+ 00244 MT_EOT
+31DE FFFF M dw 0xffff
+ 00245
+ 00246 ;; entry 0xb1-0xbf
+ 00247 MT_EOT
+31E0 FFFF M dw 0xffff
+ 00248 MT_EOT
+31E2 FFFF M dw 0xffff
+ 00249 MT_EOT
+31E4 FFFF M dw 0xffff
+ 00250 MT_EOT
+31E6 FFFF M dw 0xffff
+ 00251 MT_EOT
+31E8 FFFF M dw 0xffff
+ 00252 MT_EOT
+31EA FFFF M dw 0xffff
+ 00253 MT_EOT
+31EC FFFF M dw 0xffff
+ 00254 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 25
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+31EE FFFF M dw 0xffff
+ 00255 MT_EOT
+31F0 FFFF M dw 0xffff
+ 00256 MT_EOT
+31F2 FFFF M dw 0xffff
+ 00257 MT_EOT
+31F4 FFFF M dw 0xffff
+ 00258 MT_EOT
+31F6 FFFF M dw 0xffff
+ 00259 MT_EOT
+31F8 FFFF M dw 0xffff
+ 00260 MT_EOT
+31FA FFFF M dw 0xffff
+ 00261 MT_EOT
+31FC FFFF M dw 0xffff
+ 00262 MT_EOT
+31FE FFFF M dw 0xffff
+ 00263
+ 00264 ;; entry 0xc0-0xcf
+ 00265 MT_EOT
+3200 FFFF M dw 0xffff
+ 00266 MT_EOT
+3202 FFFF M dw 0xffff
+ 00267 MT_EOT
+3204 FFFF M dw 0xffff
+ 00268 MT_EOT
+3206 FFFF M dw 0xffff
+ 00269 MT_EOT
+3208 FFFF M dw 0xffff
+ 00270 MT_EOT
+320A FFFF M dw 0xffff
+ 00271 MT_EOT
+320C FFFF M dw 0xffff
+ 00272 MT_EOT
+320E FFFF M dw 0xffff
+ 00273 MT_EOT
+3210 FFFF M dw 0xffff
+ 00274 MT_EOT
+3212 FFFF M dw 0xffff
+ 00275 MT_EOT
+3214 FFFF M dw 0xffff
+ 00276 MT_EOT
+3216 FFFF M dw 0xffff
+ 00277 MT_EOT
+3218 FFFF M dw 0xffff
+ 00278 MT_EOT
+321A FFFF M dw 0xffff
+ 00279 MT_EOT
+321C FFFF M dw 0xffff
+ 00280 MT_EOT
+321E FFFF M dw 0xffff
+ 00281
+ 00282 ;; entry 0xd0-0xdf
+ 00283 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 26
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3220 FFFF M dw 0xffff
+ 00284 MT_EOT
+3222 FFFF M dw 0xffff
+ 00285 MT_EOT
+3224 FFFF M dw 0xffff
+ 00286 MT_EOT
+3226 FFFF M dw 0xffff
+ 00287 MT_EOT
+3228 FFFF M dw 0xffff
+ 00288 MT_EOT
+322A FFFF M dw 0xffff
+ 00289 MT_EOT
+322C FFFF M dw 0xffff
+ 00290 MT_EOT
+322E FFFF M dw 0xffff
+ 00291 MT_EOT
+3230 FFFF M dw 0xffff
+ 00292 MT_EOT
+3232 FFFF M dw 0xffff
+ 00293 MT_EOT
+3234 FFFF M dw 0xffff
+ 00294 MT_EOT
+3236 FFFF M dw 0xffff
+ 00295 MT_EOT
+3238 FFFF M dw 0xffff
+ 00296 MT_EOT
+323A FFFF M dw 0xffff
+ 00297 MT_EOT
+323C FFFF M dw 0xffff
+ 00298 MT_EOT
+323E FFFF M dw 0xffff
+ 00299
+ 00300 ;; entry 0xe0-0xef
+ 00301 MT_EOT
+3240 FFFF M dw 0xffff
+ 00302 MT_EOT
+3242 FFFF M dw 0xffff
+ 00303 MT_EOT
+3244 FFFF M dw 0xffff
+ 00304 MT_EOT
+3246 FFFF M dw 0xffff
+ 00305 MT_EOT
+3248 FFFF M dw 0xffff
+ 00306 MT_EOT
+324A FFFF M dw 0xffff
+ 00307 MT_EOT
+324C FFFF M dw 0xffff
+ 00308 MT_EOT
+324E FFFF M dw 0xffff
+ 00309 MT_EOT
+3250 FFFF M dw 0xffff
+ 00310 MT_EOT
+3252 FFFF M dw 0xffff
+ 00311 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 27
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3254 FFFF M dw 0xffff
+ 00312 MT_EOT
+3256 FFFF M dw 0xffff
+ 00313 MT_EOT
+3258 FFFF M dw 0xffff
+ 00314 MT_EOT
+325A FFFF M dw 0xffff
+ 00315 MT_EOT
+325C FFFF M dw 0xffff
+ 00316 MT_EOT
+325E FFFF M dw 0xffff
+ 00317
+ 00318 ;; entry 0xf0-0xff
+ 00319 MT_EOT
+3260 FFFF M dw 0xffff
+ 00320 MT_EOT
+3262 FFFF M dw 0xffff
+ 00321 MT_EOT
+3264 FFFF M dw 0xffff
+ 00322 MT_EOT
+3266 FFFF M dw 0xffff
+ 00323 MT_EOT
+3268 FFFF M dw 0xffff
+ 00324 MT_EOT
+326A FFFF M dw 0xffff
+ 00325 MT_EOT
+326C FFFF M dw 0xffff
+ 00326 MT_EOT
+326E FFFF M dw 0xffff
+ 00327 MT_EOT
+3270 FFFF M dw 0xffff
+ 00328 MT_EOT
+3272 FFFF M dw 0xffff
+ 00329 MT_EOT
+3274 FFFF M dw 0xffff
+ 00330 MT_EOT
+3276 FFFF M dw 0xffff
+ 00331 MT_EOT
+3278 FFFF M dw 0xffff
+ 00332 MT_EOT
+327A FFFF M dw 0xffff
+ 00333 MT_EOT
+327C FFFF M dw 0xffff
+ 00334 MT_EOT
+327E FFFF M dw 0xffff
+ 00335
+ 00036 #include <mios_enc_table.inc>
+ 00001 ; $Id: mios_enc_table.inc 69 2008-02-01 00:20:18Z tk $
+ 00002 ;
+ 00003 ; "Dummy" Configuration Table for Rotary Encoders
+ 00004 ;
+ 00005 ; Should be included by the application, if no rotary encoders are connected
+ 00006 ; in order to pre-initialize the table area with EOT's
+ 00007 ;
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 28
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00008 ; ==========================================================================
+ 00009
+3280 00010 org 0x3280 ; never change the origin!
+ 00011
+ 00012 ;; --------------------------------------------------------------------------
+ 00013 ;; In this table DIN pins have to be assigned to rotary encoders for the
+ 00014 ;; MIOS_ENC driver
+ 00015 ;;
+ 00016 ;; up to 64 entries are provided
+ 00017 ;;
+ 00018 ;; The table must be terminated with an ENC_EOT entry. Unused entries should
+ 00019 ;; be filled with ENC_EOT
+ 00020 ;;
+ 00021 ;; ENC_ENTRY provides following parameters
+ 00022 ;; o first parameter: number of shift register - 1, 2, 3, ... 16
+ 00023 ;; o second parameter: number of pin; since two pins are necessary
+ 00024 ;; for each encoder, an even number is expected: 0, 2, 4 or 6
+ 00025 ;; o the third parameter contains the encoder mode:
+ 00026 ;; either MIOS_ENC_MODE_NON_DETENTED
+ 00027 ;; or MIOS_ENC_MODE_DETENTED
+ 00028 ;; or MIOS_ENC_MODE_DETENTED2
+ 00029 ;; or MIOS_ENC_MODE_DETENTED3
+ 00030 ;;
+ 00031 ;; Configuration Examples:
+ 00032 ;; ENC_ENTRY 1, 0, MIOS_ENC_MODE_NON_DETENTED ; non-detented encoder at pin 0 and 1 of SR 1
+ 00033 ;; ENC_ENTRY 1, 2, MIOS_ENC_MODE_DETENTED ; detented encoder at pin 2 and 3 of SR 1
+ 00034 ;; ENC_ENTRY 9, 6, MIOS_ENC_MODE_NON_DETENTED ; non-detented encoder at pin 6 and 7 of SR 9
+ 00035 ;; --------------------------------------------------------------------------
+ 00036
+ 00037 ;; encoder entry structure
+ 00038 ENC_ENTRY MACRO sr, din_0, mode
+ 00039 dw (mode << 8) | (din_0 + 8*(sr-1))
+ 00040 ENDM
+ 00041 ENC_EOT MACRO
+ 00042 dw 0xffff
+ 00043 ENDM
+ 00044
+3280 00045 _MIOS_ENC_PIN_TABLE
+3280 00046 MIOS_ENC_PIN_TABLE
+ 00047 ;; encoders 1-16
+ 00048 ;; SR Pin Mode
+ 00049 ENC_EOT
+3280 FFFF M dw 0xffff
+ 00050 ENC_EOT
+3282 FFFF M dw 0xffff
+ 00051 ENC_EOT
+3284 FFFF M dw 0xffff
+ 00052 ENC_EOT
+3286 FFFF M dw 0xffff
+ 00053 ENC_EOT
+3288 FFFF M dw 0xffff
+ 00054 ENC_EOT
+328A FFFF M dw 0xffff
+ 00055 ENC_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 29
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+328C FFFF M dw 0xffff
+ 00056 ENC_EOT
+328E FFFF M dw 0xffff
+ 00057 ENC_EOT
+3290 FFFF M dw 0xffff
+ 00058 ENC_EOT
+3292 FFFF M dw 0xffff
+ 00059 ENC_EOT
+3294 FFFF M dw 0xffff
+ 00060 ENC_EOT
+3296 FFFF M dw 0xffff
+ 00061 ENC_EOT
+3298 FFFF M dw 0xffff
+ 00062 ENC_EOT
+329A FFFF M dw 0xffff
+ 00063 ENC_EOT
+329C FFFF M dw 0xffff
+ 00064 ENC_EOT
+329E FFFF M dw 0xffff
+ 00065
+ 00066 ;; encoders 17-32
+ 00067 ENC_EOT
+32A0 FFFF M dw 0xffff
+ 00068 ENC_EOT
+32A2 FFFF M dw 0xffff
+ 00069 ENC_EOT
+32A4 FFFF M dw 0xffff
+ 00070 ENC_EOT
+32A6 FFFF M dw 0xffff
+ 00071 ENC_EOT
+32A8 FFFF M dw 0xffff
+ 00072 ENC_EOT
+32AA FFFF M dw 0xffff
+ 00073 ENC_EOT
+32AC FFFF M dw 0xffff
+ 00074 ENC_EOT
+32AE FFFF M dw 0xffff
+ 00075 ENC_EOT
+32B0 FFFF M dw 0xffff
+ 00076 ENC_EOT
+32B2 FFFF M dw 0xffff
+ 00077 ENC_EOT
+32B4 FFFF M dw 0xffff
+ 00078 ENC_EOT
+32B6 FFFF M dw 0xffff
+ 00079 ENC_EOT
+32B8 FFFF M dw 0xffff
+ 00080 ENC_EOT
+32BA FFFF M dw 0xffff
+ 00081 ENC_EOT
+32BC FFFF M dw 0xffff
+ 00082 ENC_EOT
+32BE FFFF M dw 0xffff
+ 00083
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 30
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00084 ;; encoders 33-48
+ 00085 ENC_EOT
+32C0 FFFF M dw 0xffff
+ 00086 ENC_EOT
+32C2 FFFF M dw 0xffff
+ 00087 ENC_EOT
+32C4 FFFF M dw 0xffff
+ 00088 ENC_EOT
+32C6 FFFF M dw 0xffff
+ 00089 ENC_EOT
+32C8 FFFF M dw 0xffff
+ 00090 ENC_EOT
+32CA FFFF M dw 0xffff
+ 00091 ENC_EOT
+32CC FFFF M dw 0xffff
+ 00092 ENC_EOT
+32CE FFFF M dw 0xffff
+ 00093 ENC_EOT
+32D0 FFFF M dw 0xffff
+ 00094 ENC_EOT
+32D2 FFFF M dw 0xffff
+ 00095 ENC_EOT
+32D4 FFFF M dw 0xffff
+ 00096 ENC_EOT
+32D6 FFFF M dw 0xffff
+ 00097 ENC_EOT
+32D8 FFFF M dw 0xffff
+ 00098 ENC_EOT
+32DA FFFF M dw 0xffff
+ 00099 ENC_EOT
+32DC FFFF M dw 0xffff
+ 00100 ENC_EOT
+32DE FFFF M dw 0xffff
+ 00101
+ 00102 ;; encoders 49-64
+ 00103 ENC_EOT
+32E0 FFFF M dw 0xffff
+ 00104 ENC_EOT
+32E2 FFFF M dw 0xffff
+ 00105 ENC_EOT
+32E4 FFFF M dw 0xffff
+ 00106 ENC_EOT
+32E6 FFFF M dw 0xffff
+ 00107 ENC_EOT
+32E8 FFFF M dw 0xffff
+ 00108 ENC_EOT
+32EA FFFF M dw 0xffff
+ 00109 ENC_EOT
+32EC FFFF M dw 0xffff
+ 00110 ENC_EOT
+32EE FFFF M dw 0xffff
+ 00111 ENC_EOT
+32F0 FFFF M dw 0xffff
+ 00112 ENC_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 31
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+32F2 FFFF M dw 0xffff
+ 00113 ENC_EOT
+32F4 FFFF M dw 0xffff
+ 00114 ENC_EOT
+32F6 FFFF M dw 0xffff
+ 00115 ENC_EOT
+32F8 FFFF M dw 0xffff
+ 00116 ENC_EOT
+32FA FFFF M dw 0xffff
+ 00117 ENC_EOT
+32FC FFFF M dw 0xffff
+ 00118 ENC_EOT
+32FE FFFF M dw 0xffff
+ 00119
+ 00037
+ 00038 ;; ---[ Custom LCD driver ]---
+ 00039 #include <app_lcd.inc>
+ 00001 ; $Id: app_lcd.inc 69 2008-02-01 00:20:18Z tk $
+ 00002 ;
+ 00003 ; MIOS Custom LCD Driver Skeleton
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 ;; --------------------------------------------------------------------------
+ 00014 ;; Following system variables are given by MIOS and can be directly
+ 00015 ;; accessed by the driver. The addresses are defined in mios.h and
+ 00016 ;; should not be changed
+ 00017 ;;
+ 00018 ;; MIOS_GLCD_BUFFER a 8 byte buffer for data transfers
+ 00019 ;; MIOS_LCD_OPTION1 contains the first LCD option given by MIOS_LCD_TypeSet
+ 00020 ;; MIOS_LCD_OPTION2 contains the second LCD option given by MIOS_LCD_TypeSet
+ 00021 ;; MIOS_LCD_CURSOR_POS the current cursor pos of characters (GLCD: multiplied by width)
+ 00022 ;; MIOS_GLCD_GCURSOR_X for GLCDs: the current X position of graphical cursor
+ 00023 ;; MIOS_GLCD_GCURSOR_Y for GLCDs: the current Y position of graphical cursor
+ 00024 ;; MIOS_GLCD_FONT_WIDTH for GLCDs: the fontwidth given by MIOS_GLCD_FontInit
+ 00025 ;; MIOS_GLCD_FONT_HEIGHT for GLCDs: the fontheight given by MIOS_GLCD_FontInit
+ 00026 ;; MIOS_GLCD_FONT_X0 for GLCDs: the first byte within a char entry
+ 00027 ;; MIOS_GLCD_FONT_OFFSET for GLCDs: the byte offset between the characters
+ 00028 ;; MIOS_GLCD_FONT_PTRL for GLCDs: pointer to the character table, low-byte
+ 00029 ;; MIOS_GLCD_FONT_PTRH for GLCDs: pointer to the character table, high-byte
+ 00030 ;; MIOS_LCD_TIMEOUT0 can be used for timeout loops
+ 00031 ;; MIOS_LCD_TIMEOUT1 can be used for timeout loops
+ 00032 ;; MIOS_GLCD_TMP1 can be used as temporary buffer
+ 00033 ;; MIOS_GLCD_TMP2 can be used as temporary buffer
+ 00034 ;; MIOS_GLCD_TMP3 can be used as temporary buffer
+ 00035 ;; MIOS_GLCD_TMP4 can be used as temporary buffer
+ 00036 ;; MIOS_LCD_Y0_OFFSET Y0 offset of LCD
+ 00037 ;; MIOS_LCD_Y1_OFFSET Y1 offset of LCD
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 32
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00038 ;; MIOS_LCD_Y2_OFFSET Y2 offset of LCD
+ 00039 ;; MIOS_LCD_Y3_OFFSET Y3 offset of LCD
+ 00040 ;; MIOS_LCD_CURSOR_POS_REAL unmapped cursor position which has been set with MIOS_LCD_CursorSet
+ 00041 ;;
+ 00042 ;; Note: the addresses are located in an upper bank and therefore have to
+ 00043 ;; be accessed with the BANKED flag. Also the BSR has to be justified
+ 00044 ;; before using the registers
+ 00045 ;; Example:
+ 00046 ;; SET_BSR MIOS_LCD_OPTION1 ; sets BSR to the bank where MIOS_LCD_*
+ 00047 ;; ; has been located. You don't need to
+ 00048 ;; ; change the BSR for the other LCD registers
+ 00049 ;; movf MIOS_LCD_OPTION1, W, BANKED ; get LCD option #1
+ 00050 ;;
+ 00051 ;; Important: to allow a proper interaction with MIOS applications, you are
+ 00052 ;; only allowed to modify MIOS_PARAMETER[123], the mutliplication registers
+ 00053 ;; and FSR1. You are not allowed to change TMP[1-5] or FSR0
+ 00054 ;; if you need some temporary registers, use the given addresses above or
+ 00055 ;; locate them to addresses which are not used by the application
+ 00056 ;; --------------------------------------------------------------------------
+ 00057
+ 00058 ;; --------------------------------------------------------------------------
+ 00059 ;; This function is called by MIOS when the custom LCD should be initialized
+ 00060 ;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+ 00061 ;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+ 00062 ;; Out: -
+ 00063 ;; --------------------------------------------------------------------------
+3300 00064 USER_LCD_Init
+3300 0012 00065 return
+ 00066
+ 00067 ;; --------------------------------------------------------------------------
+ 00068 ;; This function is called by MIOS when the custom LCD should be cleared
+ 00069 ;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+ 00070 ;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+ 00071 ;; Out: -
+ 00072 ;; --------------------------------------------------------------------------
+3302 00073 USER_LCD_Clear
+3302 0012 00074 return
+ 00075
+ 00076 ;; --------------------------------------------------------------------------
+ 00077 ;; This function is called by MIOS when the cursor should be changed
+ 00078 ;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+ 00079 ;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+ 00080 ;; MIOS_GLCD_CURSOR_X - horizontal cursor position (for GLCDs)
+ 00081 ;; MIOS_GLCD_CURSOR_X - vertical cursor position (for GLCDs)
+ 00082 ;; MIOS_LCD_CURSOR - character cursor position (for CLCDs)
+ 00083 ;; Out: -
+ 00084 ;; --------------------------------------------------------------------------
+3304 00085 USER_LCD_CursorSet
+3304 0012 00086 return
+ 00087
+ 00088 ;; --------------------------------------------------------------------------
+ 00089 ;; This function is called by MIOS when a character should be print
+ 00090 ;; In: WREG - character
+ 00091 ;; all other MIOS_*LCD_* registers
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 33
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00092 ;; Out: GLCDs should justify the X/Y cursor position
+ 00093 ;; --------------------------------------------------------------------------
+3306 00094 USER_LCD_PrintChar
+3306 0012 00095 return
+ 00096
+ 00097 ;; --------------------------------------------------------------------------
+ 00098 ;; FUNCTION: USER_LCD_Data
+ 00099 ;; DESCRIPTION: sends a data value to the LCD display.<BR>
+ 00100 ;; On CLCDs: branch directly to USER_LCD_PrintChar<BR>
+ 00101 ;; On GLCDs: ignore this function!
+ 00102 ;; IN: data which should be sent
+ 00103 ;; OUT: -
+ 00104 ;; NOTE: see the custom_lcd_example for further details
+ 00105 ;; --------------------------------------------------------------------------
+3308 00106 USER_LCD_Data
+3308 0012 00107 return
+ 00108
+ 00109 ;; --------------------------------------------------------------------------
+ 00110 ;; FUNCTION: USER_LCD_Cmd
+ 00111 ;; DESCRIPTION: sends a command to the LCD display.<BR>
+ 00112 ;; On CLCDs: use this function to decode the HD44780 commands if required<BR>
+ 00113 ;; On GLCDs: ignore this function!
+ 00114 ;; IN: command which should be sent
+ 00115 ;; OUT: -
+ 00116 ;; NOTE: see the custom_lcd_example for further details
+ 00117 ;; --------------------------------------------------------------------------
+330A 00118 USER_LCD_Cmd
+330A 0012 00119 return
+ 00120
+ 00121 ;; --------------------------------------------------------------------------
+ 00122 ;; FUNCTION: USER_LCD_SpecialCharInit
+ 00123 ;; DESCRIPTION: see MIOS_CLCD_SpecialCharInit
+ 00124 ;; IN: number of special character (0-7) in WREG
+ 00125 ;; pointer to special char pattern in TBLPTR (consists of 8
+ 00126 ;; entries for every character-line)
+ 00127 ;; OUT: TBLPTR has to be set to next table entry (TBLPTR+=8)
+ 00128 ;; NOTE: see the custom_lcd_example for further details
+ 00129 ;; --------------------------------------------------------------------------
+330C 00130 USER_LCD_SpecialCharInit
+330C 0012 00131 return
+ 00040
+ 00041 ;; ---[ Debug Message Module ]---
+ 00042 #include <debug_msg.inc>
+ 00001 ; $Id: debug_msg.inc 626 2009-01-19 21:36:33Z tk $
+ 00002 ;
+ 00003 ; Help functions to send debug messages to MIOS Terminal via SysEx
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 2009 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 34
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00012
+ 00013
+ 00014 ;; --------------------------------------------------------------------------
+ 00015 ;; FUNCTION: DEBUG_MSG_SendHeader
+ 00016 ;; DESCRIPTION: sends the SysEx header
+ 00017 ;; IN: -
+ 00018 ;; OUT: -
+ 00019 ;; USES: BSR, FSR1
+ 00020 ;; --------------------------------------------------------------------------
+330E 00021 _DEBUG_MSG_SendHeader ; for C
+330E 00022 DEBUG_MSG_SendHeader
+ 00023 ;; this SysEx command will be parsed by MIOS Terminal to print out text messages
+330E 0EF0 00024 movlw 0xf0
+3310 EC24 F016 00025 call MIOS_MIDI_TxBufferPut
+3314 0E00 00026 movlw 0x00
+3316 EC24 F016 00027 call MIOS_MIDI_TxBufferPut
+331A 0E00 00028 movlw 0x00
+331C EC24 F016 00029 call MIOS_MIDI_TxBufferPut
+3320 0E7E 00030 movlw 0x7e
+3322 EC24 F016 00031 call MIOS_MIDI_TxBufferPut
+3326 0E32 00032 movlw 0x32
+3328 EC24 F016 00033 call MIOS_MIDI_TxBufferPut
+332C EC04 F016 00034 call MIOS_MIDI_DeviceIDGet
+3330 EC24 F016 00035 call MIOS_MIDI_TxBufferPut
+3334 0E0D 00036 movlw 0x0d
+3336 EC24 F016 00037 call MIOS_MIDI_TxBufferPut
+333A 0E40 00038 movlw 0x40
+333C EC24 F016 00039 call MIOS_MIDI_TxBufferPut
+ 00040
+ 00041 ;; following characters will be print on terminal
+3340 0012 00042 return
+ 00043
+ 00044
+ 00045 ;; --------------------------------------------------------------------------
+ 00046 ;; FUNCTION: DEBUG_MSG_SendFooter
+ 00047 ;; DESCRIPTION: sends the SysEx footer
+ 00048 ;; IN: -
+ 00049 ;; OUT: -
+ 00050 ;; USES: BSR, FSR1
+ 00051 ;; --------------------------------------------------------------------------
+3342 00052 _DEBUG_MSG_SendFooter ; for C
+3342 00053 DEBUG_MSG_SendFooter
+ 00054 ;; finish SysEx stream - MIOS Terminal will print the received characters now
+3342 0EF7 00055 movlw 0xf7
+3344 EC24 F016 00056 call MIOS_MIDI_TxBufferPut
+3348 0012 00057 return
+ 00058
+ 00059
+ 00060 ;; --------------------------------------------------------------------------
+ 00061 ;; FUNCTION: DEBUG_MSG_SendChar
+ 00062 ;; DESCRIPTION: sends a single character
+ 00063 ;; IN: Character in WREG
+ 00064 ;; OUT: -
+ 00065 ;; USES: BSR, FSR1
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 35
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00066 ;; --------------------------------------------------------------------------
+334A 00067 _DEBUG_MSG_SendChar ; for C
+334A 00068 DEBUG_MSG_SendChar
+334A 0B7F 00069 andlw 0x7f ; ensure that MSB is cleared, otherwise we would violate the MIDI protocol
+334C EF24 F016 00070 goto MIOS_MIDI_TxBufferPut
+ 00071
+ 00072
+ 00073 ;; --------------------------------------------------------------------------
+ 00074 ;; FUNCTION: DEBUG_MSG_SendASMString
+ 00075 ;; DESCRIPTION: used in assembly programs to send a string
+ 00076 ;; see example in README.txt for usage
+ 00077 ;; IN: zero-terminated string after call instruction
+ 00078 ;; OUT: -
+ 00079 ;; USES: BSR, FSR1, TBLPTR[LHU], TABLAT
+ 00080 ;; --------------------------------------------------------------------------
+3350 00081 DEBUG_MSG_SendASMString
+ 00082 ;; we expect that the zero-terminated string is located behind the "call" instruction
+ 00083 ;; transfer pointer to TBLPTR[LHU]
+3350 CFFD FFF6 00084 movff TOSL, TBLPTRL
+3354 CFFE FFF7 00085 movff TOSH, TBLPTRH
+3358 CFFF FFF8 00086 movff TOSU, TBLPTRU
+ 00087
+ 00088 ;; print until zero is read
+335C 00089 DEBUG_MSG_SendASMStringLoop
+335C 0009 00090 tblrd*+
+335E 50F5 00091 movf TABLAT, W
+3360 E002 00092 bz DEBUG_MSG_SendASMStringLoop_End
+3362 DFF3 00093 rcall DEBUG_MSG_SendChar
+ 00094 rgoto DEBUG_MSG_SendASMStringLoop
+3364 D7FB M bra label
+3366 00095 DEBUG_MSG_SendASMStringLoop_End
+ 00096
+ 00097 ;; return pointer now in TBLPTR[LH]
+ 00098
+ 00099 ;; ensure that it is aligned to next instruction
+3366 50F6 00100 movf TBLPTRL, W
+3368 0B01 00101 andlw 0x01
+336A E005 00102 bz DEBUG_MSG_SendASMString_NoIAlign
+336C 2AF6 00103 incf TBLPTRL, F
+336E B4D8 00104 skpnz
+3370 2AF7 00105 incf TBLPTRH, F
+3372 B4D8 00106 skpnz
+3374 2AF8 00107 incf TBLPTRU, F
+3376 00108 DEBUG_MSG_SendASMString_NoIAlign
+ 00109
+ 00110 IRQ_DISABLE
+3376 9EF2 M bcf INTCON, GIE
+3378 50F6 00111 movf TBLPTRL, W
+337A 6EFD 00112 movwf TOSL
+337C 50F7 00113 movf TBLPTRH, W
+337E 6EFE 00114 movwf TOSH
+3380 50F8 00115 movf TBLPTRU, W
+3382 6EFF 00116 movwf TOSU
+ 00117 IRQ_ENABLE
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 36
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3384 8EF2 M bsf INTCON, GIE
+3386 0012 00118 return
+ 00119
+ 00120
+ 00121 ;; --------------------------------------------------------------------------
+ 00122 ;; FUNCTION: DEBUG_MSG_SendBCD1
+ 00123 ;; DESCRIPTION: sends a 8-bit value as BCD (decimal value) -- one digit only
+ 00124 ;; IN: Value in WREG
+ 00125 ;; OUT: -
+ 00126 ;; USES: BSR, FSR1
+ 00127 ;; --------------------------------------------------------------------------
+ 00128 ;; --------------------------------------------------------------------------
+ 00129 ;; FUNCTION: DEBUG_MSG_SendHex1
+ 00130 ;; DESCRIPTION: sends a 4-bit hex value
+ 00131 ;; IN: Value in WREG
+ 00132 ;; OUT: -
+ 00133 ;; USES: BSR, FSR1
+ 00134 ;; --------------------------------------------------------------------------
+3388 00135 _DEBUG_MSG_SendBCD1 ; for C
+3388 00136 DEBUG_MSG_SendBCD1
+3388 00137 _DEBUG_MSG_SendHex1 ; for C
+3388 00138 DEBUG_MSG_SendHex1
+3388 0B0F 00139 andlw 0x0f
+338A 0FF6 00140 addlw -0x0a
+338C B0D8 00141 skpnc
+338E 0F07 00142 addlw 0x07
+3390 0F3A 00143 addlw 0x3a
+ 00144 rgoto DEBUG_MSG_SendChar
+3392 D7DB M bra label
+ 00145
+ 00146
+ 00147 ;; --------------------------------------------------------------------------
+ 00148 ;; FUNCTION: DEBUG_MSG_SendHex2
+ 00149 ;; DESCRIPTION: sends a 8-bit hex value
+ 00150 ;; IN: Value in WREG
+ 00151 ;; OUT: -
+ 00152 ;; USES: BSR, FSR1, PRODL (!)
+ 00153 ;; --------------------------------------------------------------------------
+3394 00154 _DEBUG_MSG_SendHex2 ; for C
+3394 00155 DEBUG_MSG_SendHex2
+3394 6EF3 00156 movwf PRODL
+3396 38F3 00157 swapf PRODL, W
+3398 DFF7 00158 rcall DEBUG_MSG_SendBCD1
+339A 50F3 00159 movf PRODL, W
+ 00160 rgoto DEBUG_MSG_SendBCD1
+339C D7F5 M bra label
+ 00161
+ 00162
+ 00163 ;; --------------------------------------------------------------------------
+ 00164 ;; FUNCTION: DEBUG_MSG_SendBCD2
+ 00165 ;; DESCRIPTION: prints a 8-bit value as BCD (decimal value) -- two digits only
+ 00166 ;; IN: Value in WREG
+ 00167 ;; OUT: -
+ 00168 ;; USES: BSR, FSR1
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 37
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00169 ;; --------------------------------------------------------------------------
+339E 00170 _DEBUG_MSG_SendBCD2 ; for C
+339E 00171 DEBUG_MSG_SendBCD2
+339E 6A03 00172 clrf MIOS_PARAMETER1
+33A0 ECF4 F016 00173 call MIOS_HLP_Dec2BCD
+ 00174 rgoto DEBUG_MSG_SendBCD2_Cont
+33A4 D018 M bra label
+ 00175
+ 00176 ;; --------------------------------------------------------------------------
+ 00177 ;; FUNCTION: DEBUG_MSG_SendBCD3
+ 00178 ;; DESCRIPTION: prints a 8-bit value as BCD (decimal value) -- all three digits
+ 00179 ;; IN: Value in WREG
+ 00180 ;; OUT: -
+ 00181 ;; USES: BSR, FSR1
+ 00182 ;; --------------------------------------------------------------------------
+33A6 00183 _DEBUG_MSG_SendBCD3 ; for C
+33A6 00184 DEBUG_MSG_SendBCD3
+33A6 6A03 00185 clrf MIOS_PARAMETER1
+33A8 ECF4 F016 00186 call MIOS_HLP_Dec2BCD
+ 00187 rgoto DEBUG_MSG_SendBCD3_Cont
+33AC D00F M bra label
+ 00188
+ 00189 ;; --------------------------------------------------------------------------
+ 00190 ;; FUNCTION: DEBUG_MSG_SendBCD4
+ 00191 ;; DESCRIPTION: prints a 16-bit as BCD (decimal value) -- four digits
+ 00192 ;; IN: Low-byte in WREG, High-byte in MIOS_PARAMETER1
+ 00193 ;; IN: Value in WREG
+ 00194 ;; OUT: -
+ 00195 ;; USES: BSR, FSR1, MIOS_PARAMETER[123]
+ 00196 ;; --------------------------------------------------------------------------
+ 00197 ;_DEBUG_MSG_SendBCD4 ; "unsigned int" parameter converted in debug_msg.asm
+33AE 00198 DEBUG_MSG_SendBCD4
+33AE ECF4 F016 00199 call MIOS_HLP_Dec2BCD
+ 00200 rgoto DEBUG_MSG_SendBCD4_Cont
+33B2 D007 M bra label
+ 00201
+ 00202 ;; --------------------------------------------------------------------------
+ 00203 ;; FUNCTION: DEBUG_MSG_SendBCD5
+ 00204 ;; DESCRIPTION: prints a 16-bit as BCD (decimal value) -- five digits
+ 00205 ;; IN: Low-byte in WREG, High-byte in MIOS_PARAMETER1
+ 00206 ;; IN: Value in WREG
+ 00207 ;; OUT: -
+ 00208 ;; USES: BSR, FSR1, MIOS_PARAMETER[123]
+ 00209 ;; --------------------------------------------------------------------------
+ 00210 ;_DEBUG_MSG_SendBCD5 ; "unsigned int" parameter converted in debug_msg.asm
+33B4 00211 DEBUG_MSG_SendBCD5
+33B4 ECF4 F016 00212 call MIOS_HLP_Dec2BCD
+ 00213
+ 00214 ;; -----------------
+33B8 00215 DEBUG_MSG_SendBCD5_Cont
+33B8 5005 00216 movf MIOS_PARAMETER3, W
+33BA 0B0F 00217 andlw 0x0f
+33BC E112 00218 bnz DEBUG_MSG_SendBCD_D5
+ 00219
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 38
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+33BE 0E20 00220 movlw ' '
+33C0 DFC4 00221 rcall DEBUG_MSG_SendChar
+ 00222
+33C2 00223 DEBUG_MSG_SendBCD4_Cont
+33C2 3804 00224 swapf MIOS_PARAMETER2, W
+33C4 0B0F 00225 andlw 0x0f
+33C6 E10E 00226 bnz DEBUG_MSG_SendBCD_D4
+ 00227
+33C8 0E20 00228 movlw ' '
+33CA DFBF 00229 rcall DEBUG_MSG_SendChar
+ 00230
+33CC 00231 DEBUG_MSG_SendBCD3_Cont
+33CC 5004 00232 movf MIOS_PARAMETER2, W
+33CE 0B0F 00233 andlw 0x0f
+33D0 E10B 00234 bnz DEBUG_MSG_SendBCD_D3
+ 00235
+33D2 0E20 00236 movlw ' '
+33D4 DFBA 00237 rcall DEBUG_MSG_SendChar
+ 00238
+33D6 00239 DEBUG_MSG_SendBCD2_Cont
+33D6 3803 00240 swapf MIOS_PARAMETER1, W
+33D8 0B0F 00241 andlw 0x0f
+33DA E108 00242 bnz DEBUG_MSG_SendBCD_D2
+ 00243
+33DC 0E20 00244 movlw ' '
+33DE DFB5 00245 rcall DEBUG_MSG_SendChar
+ 00246
+33E0 00247 DEBUG_MSG_SendBCD1_Cont
+ 00248 rgoto DEBUG_MSG_SendBCD_D1
+33E0 D007 M bra label
+ 00249
+ 00250
+ 00251 ;; ---
+33E2 00252 DEBUG_MSG_SendBCD_D5
+33E2 DFD2 00253 rcall DEBUG_MSG_SendBCD1
+33E4 00254 DEBUG_MSG_SendBCD_D4
+33E4 3804 00255 swapf MIOS_PARAMETER2, W
+33E6 DFD0 00256 rcall DEBUG_MSG_SendBCD1
+33E8 00257 DEBUG_MSG_SendBCD_D3
+33E8 5004 00258 movf MIOS_PARAMETER2, W
+33EA DFCE 00259 rcall DEBUG_MSG_SendBCD1
+33EC 00260 DEBUG_MSG_SendBCD_D2
+33EC 3803 00261 swapf MIOS_PARAMETER1, W
+33EE DFCC 00262 rcall DEBUG_MSG_SendBCD1
+33F0 00263 DEBUG_MSG_SendBCD_D1
+33F0 5003 00264 movf MIOS_PARAMETER1, W
+ 00265 rgoto DEBUG_MSG_SendBCD1
+33F2 D7CA M bra label
+ 00266
+ 00267
+ 00268 ;; --------------------------------------------------------------------------
+ 00269 ;; FUNCTION: DEBUG_MSG_SendCString
+ 00270 ;; C_DECLARATION: void DEBUG_MSG_SendCString(char *str)
+ 00271 ;; DESCRIPTION: sends a 0-terminated string --- only provided by the C Wrapper!
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 39
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00272 ;; C_IN: Pointer to 0-terminated String in <str>
+ 00273 ;; USES: BSR, FSR1
+ 00274 ;; --------------------------------------------------------------------------
+ 00043
+ 00044
+ 00045 ;; ==========================================================================
+ 00046 ;; Include the TIA SR Code
+ 00047 ;; ==========================================================================
+ 00048 ;; if != 0, special variations for cartridge version hardware:
+33F4 00049 #define DEFAULT_IS_CARTRIDGE 0
+ 00050 #include "tia_sr.inc"
+ 00001 ; $Id: tia_sr.inc bdupeyron.tech@gmail.com(Antichambre)
+ 00002 ;
+ 00003 ; MIDIbox TIA
+ 00004 ; TIA Shift Register Service Routine
+ 00005 ;
+ 00006 ; ==========================================================================
+ 00007 ;
+ 00008 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00009 ; Licensed for personal non-commercial use only.
+ 00010 ; All other rights reserved.
+ 00011 ;
+ 00012 ; ==========================================================================
+ 00013 ;
+ 00014 ; define the pins to which the MBHPS_TIA module is connected
+ 00015 ;
+ 00016 #if DEFAULT_IS_CARTRIDGE==1
+ 00017 TIA_SR_LAT_SCLK EQU LATC
+ 00018 TIA_SR_PIN_SCLK EQU 0 ; Pin C.0
+ 00019 TIA_SR_LAT_RCLK EQU LATC
+ 00020 TIA_SR_PIN_RCLK EQU 2 ; Pin C.2
+ 00021 TIA_SR_LAT_OUT EQU LATC
+ 00022 TIA_SR_PIN_OUT EQU 3 ; Pin C.3
+ 00023
+ 00024 TIA_SR_LAT_WR EQU LATC
+ 00025 TIA_SR_PIN_WR EQU 1 ; Pin C.1
+ 00026 #else
+ 00000F8C 00027 TIA_SR_LAT_SCLK EQU LATD
+ 00000005 00028 TIA_SR_PIN_SCLK EQU 5 ; Pin D.5
+ 00000F8B 00029 TIA_SR_LAT_RCLK EQU LATC
+ 00000004 00030 TIA_SR_PIN_RCLK EQU 4 ; Pin C.4
+ 00000F8C 00031 TIA_SR_LAT_OUT EQU LATD
+ 00000006 00032 TIA_SR_PIN_OUT EQU 6 ; Pin D.6
+ 00033
+ 00000F8B 00034 TIA_SR_LAT_WR EQU LATC
+ 00000005 00035 TIA_SR_PIN_WR EQU 5 ; Pin C.5
+ 00036 #endif
+ 00037
+ 00038 ;; --------------------------------------------------------------------------
+ 00039 ;; Initialize the MBHP_TIA module
+ 00040 ;; --------------------------------------------------------------------------
+33F4 00041 TIA_SR_Init
+ 00042 ;; reset the TIA
+33F4 6A03 00043 clrf MIOS_PARAMETER1
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 40
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+33F6 6A04 00044 clrf MIOS_PARAMETER2
+33F8 D801 00045 rcall TIA_SR_Write
+33FA 0012 00046 return
+ 00047
+ 00048 ;; --------------------------------------------------------------------------
+ 00049 ;; TIA Write: write to TIA register
+ 00050 ;; --------------------------------------------------------------------------
+33FC 00051 TIA_SR_Write
+ 00052 ;; TIA signals:
+ 00053 ;; MIOS_PARAMETER2[4..0]: Data
+ 00054 ;; MIOS_PARAMETER1[3..0]: Address
+ 00055 ;; temporary used as counter: MIOS_PARAMETER3
+ 00056
+33FC 9A8C 00057 bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; clear clock
+ 00058
+ 00059 ;; superfast transfer with unrolled loop (takes some memory, but guarantees the
+ 00060 ;; lowest system load :)
+ 00061 TIA_SR_WRITE_BIT MACRO reg, bit
+ 00062 bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+ 00063 btfsc reg, bit
+ 00064 bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+ 00065 bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+ 00066 bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00067 ENDM
+ 00068 #if DEFAULT_IS_CARTRIDGE==1
+ 00069 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 4 ; IC8.O0
+ 00070 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 3 ; IC8.O1
+ 00071 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 2 ; IC8.O2
+ 00072 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 1 ; IC8.O3
+ 00073 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 0 ; IC8.O4
+ 00074 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O5
+ 00075 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O6
+ 00076 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O7
+ 00077
+ 00078 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 3 ; IC7.O0
+ 00079 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 2 ; IC7.O1
+ 00080 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 1 ; IC7.O2
+ 00081 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 0 ; IC7.O3
+ 00082 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O4
+ 00083 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O5
+ 00084 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O6
+ 00085 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O7
+ 00086
+ 00087 #else
+ 00088 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 0 ; IC2.O0
+33FE 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3400 B004 M btfsc reg, bit
+3402 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3404 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3406 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00089 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 1 ; IC2.O1
+3408 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+340A B204 M btfsc reg, bit
+340C 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 41
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+340E 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3410 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00090 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 2 ; IC2.O2
+3412 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3414 B404 M btfsc reg, bit
+3416 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3418 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+341A 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00091 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 3 ; IC2.O3
+341C 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+341E B604 M btfsc reg, bit
+3420 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3422 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3424 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00092 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 4 ; IC2.O4
+3426 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3428 B804 M btfsc reg, bit
+342A 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+342C 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+342E 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00093 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O5
+3430 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3432 BE04 M btfsc reg, bit
+3434 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3436 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3438 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00094 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O6
+343A 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+343C BE04 M btfsc reg, bit
+343E 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3440 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3442 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00095 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O7
+3444 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3446 BE04 M btfsc reg, bit
+3448 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+344A 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+344C 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00096
+ 00097 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 3 ; IC3.O0
+344E 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3450 B603 M btfsc reg, bit
+3452 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3454 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3456 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00098 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 2 ; IC3.O1
+3458 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+345A B403 M btfsc reg, bit
+345C 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+345E 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3460 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00099 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 1 ; IC3.O2
+3462 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3464 B203 M btfsc reg, bit
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 42
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3466 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3468 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+346A 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00100 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 0 ; IC3.O3
+346C 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+346E B003 M btfsc reg, bit
+3470 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3472 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3474 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00101 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O4
+3476 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3478 BE03 M btfsc reg, bit
+347A 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+347C 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+347E 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00102 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O5
+3480 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3482 BE03 M btfsc reg, bit
+3484 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3486 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3488 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00103 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O6
+348A 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+348C BE03 M btfsc reg, bit
+348E 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3490 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3492 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00104 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O7
+3494 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3496 BE03 M btfsc reg, bit
+3498 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+349A 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+349C 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00105 #endif
+349E 888B 00106 bsf TIA_SR_LAT_RCLK, TIA_SR_PIN_RCLK ; latch TIA values
+ 00107
+34A0 9A8B 00108 bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; enable write (MBHP_TIA: chip select)
+34A2 9C8C 00109 bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; clear out pin (standby)
+34A4 988B 00110 bcf TIA_SR_LAT_RCLK, TIA_SR_PIN_RCLK ; release latch
+ 00111
+34A6 9A8B 00112 bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; enable write (MBHP_TIA: chip select)
+34A8 D000 00113 bra $+2 ; to ensure compatibility with on-board oscillator,
+34AA D000 00114 bra $+2 ; wait for 0.840 uS (1 us) (> one TIA clock cycle)
+34AC D000 00115 bra $+2
+34AE D000 00116 bra $+2
+34B0 D000 00117 bra $+2
+34B2 8A8B 00118 bsf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; disable write (MBHP_TIA: chip select)
+ 00119
+34B4 0012 00120 return
+ 00121
+ 00122
+ 00123
+ 00124
+ 00051
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 43
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00052
+ 00053 ;; ==========================================================================
+ 00054 ;; All MIOS hooks in one file
+ 00055 ;; ==========================================================================
+ 00056
+ 00057 ;; --------------------------------------------------------------------------
+ 00058 ;; This function is called by MIOS after startup to initialize the
+ 00059 ;; application
+ 00060 ;; --------------------------------------------------------------------------
+34B6 00061 USER_Init
+34B6 ECFA F019 00062 call TIA_SR_Init
+34BA 6A11 00063 clrf TIA_PIN_NUMBER
+34BC EC9C F01B 00064 call TIA_SetPin
+34C0 0012 00065 return
+ 00066
+ 00067
+ 00068 ;; --------------------------------------------------------------------------
+ 00069 ;; This function is called by MIOS in the mainloop when nothing else is to do
+ 00070 ;; --------------------------------------------------------------------------
+34C2 00071 USER_Tick
+34C2 0012 00072 return
+ 00073
+ 00074
+ 00075 ;; --------------------------------------------------------------------------
+ 00076 ;; This function is periodically called by MIOS. The frequency has to be
+ 00077 ;; initialized with MIOS_Timer_Set
+ 00078 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00079 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+ 00080 ;; --------------------------------------------------------------------------
+34C4 00081 USER_Timer
+34C4 0012 00082 return
+ 00083
+ 00084
+ 00085 ;; --------------------------------------------------------------------------
+ 00086 ;; This function is called by MIOS when a debug command has been received
+ 00087 ;; via SysEx
+ 00088 ;; Input:
+ 00089 ;; o WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3 like
+ 00090 ;; specified in the debug command
+ 00091 ;; Output:
+ 00092 ;; o return values WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3
+ 00093 ;; --------------------------------------------------------------------------
+34C6 00094 USER_MPROC_DebugTrigger
+34C6 0012 00095 return
+ 00096
+ 00097
+ 00098 ;; --------------------------------------------------------------------------
+ 00099 ;; This function is called by MIOS when the display content should be
+ 00100 ;; initialized. Thats the case during startup and after a temporary message
+ 00101 ;; has been printed on the screen
+ 00102 ;; --------------------------------------------------------------------------
+34C8 00103 USER_DISPLAY_Init
+34C8 EC82 F016 00104 call MIOS_LCD_Clear
+ 00105
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 44
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00106 TABLE_ADDR TEXT_WELCOME_0
+34CC 0E78 M movlw LOW(addr) ; store Lo Byte
+34CE 6EF6 M movwf TBLPTRL
+34D0 0E35 M movlw HIGH(addr) ; store Hi Byte
+34D2 6EF7 M movwf TBLPTRH
+ M #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+34D4 0E00 M movlw UPPER(addr) ; store Upper Byte
+34D6 6EF8 M movwf TBLPTRU
+ M #endif
+34D8 EC9E F016 00107 call MIOS_LCD_PrintString
+34DC EC9E F016 00108 call MIOS_LCD_PrintString
+ 00109
+34E0 EC87 F019 00110 call DEBUG_MSG_SendHeader
+34E4 0E0A 00111 movlw '\n'
+34E6 ECA5 F019 00112 call DEBUG_MSG_SendChar
+34EA ECA1 F019 00113 call DEBUG_MSG_SendFooter
+ 00114
+34EE EC87 F019 00115 call DEBUG_MSG_SendHeader
+34F2 ECA8 F019 00116 call DEBUG_MSG_SendASMString
+34F6 424D 4954 00117 db "MBTIA Interconnection Test\n", 0
+ 2041 6E49
+ 6574 6372
+ 6E6F 656E
+ 7463 6F69
+ 206E 6554
+ 7473 000A
+3512 ECA1 F019 00118 call DEBUG_MSG_SendFooter
+ 00119
+3516 EC87 F019 00120 call DEBUG_MSG_SendHeader
+351A ECA8 F019 00121 call DEBUG_MSG_SendASMString
+351E 3D3D 3D3D 00122 db "==========================\n", 0
+ 3D3D 3D3D
+ 3D3D 3D3D
+ 3D3D 3D3D
+ 3D3D 3D3D
+ 3D3D 3D3D
+ 3D3D 000A
+353A ECA1 F019 00123 call DEBUG_MSG_SendFooter
+ 00124
+353E EC87 F019 00125 call DEBUG_MSG_SendHeader
+3542 ECA8 F019 00126 call DEBUG_MSG_SendASMString
+3546 6C50 6165 00127 db "Please play a note on any MIDI channel.\n", 0
+ 6573 7020
+ 616C 2079
+ 2061 6F6E
+ 6574 6F20
+ 206E 6E61
+ 2079 494D
+ 4944 6320
+ 6168 6E6E
+ 6C65 0A2E
+ 0000
+3570 ECA1 F019 00128 call DEBUG_MSG_SendFooter
+ 00129
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 45
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3574 8010 00130 bsf DISPLAY_UPDATE_REQ, 0
+ 00131
+3576 0012 00132 return
+ 00133
+3578 00134 TEXT_WELCOME_0 STRING 15, 0x00, "Test TIA Module"
+3578 0F00 6554 M da ((length) << 8) | (pos), str
+ 7473 5420
+ 4149 4D20
+ 646F 6C75
+ 0065
+358A 00135 TEXT_WELCOME_1 STRING 4, 0x40, "Pin:"
+358A 0440 6950 M da ((length) << 8) | (pos), str
+ 3A6E
+ 00136
+ 00137 ;; --------------------------------------------------------------------------
+ 00138 ;; This function is called in the mainloop when no temporary message is shown
+ 00139 ;; on screen. Print the realtime messages here
+ 00140 ;; --------------------------------------------------------------------------
+3590 00141 USER_DISPLAY_Tick
+ 00142 ;; display update requested from USER_SR_Service_Prepare on every LED change
+3590 A010 00143 btfss DISPLAY_UPDATE_REQ, 0
+3592 0012 00144 return
+3594 9010 00145 bcf DISPLAY_UPDATE_REQ, 0
+ 00146
+ 00147 ;; print pin name
+3596 0E45 00148 movlw 0x45
+3598 EC88 F016 00149 call MIOS_LCD_CursorSet
+ 00150 TABLE_ADDR TIA_PIN_NAMES_TABLE
+359C 0EB8 M movlw LOW(addr) ; store Lo Byte
+359E 6EF6 M movwf TBLPTRL
+35A0 0E36 M movlw HIGH(addr) ; store Hi Byte
+35A2 6EF7 M movwf TBLPTRH
+ M #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+35A4 0E00 M movlw UPPER(addr) ; store Upper Byte
+35A6 6EF8 M movwf TBLPTRU
+ M #endif
+35A8 5011 00151 movf TIA_PIN_NUMBER, W
+35AA 0D04 00152 mullw TIA_PIN_NAMES_LEN
+35AC 50F3 00153 movf PRODL, W
+35AE 26F6 00154 addwf TBLPTRL, F
+35B0 50F4 00155 movf PRODH, W
+35B2 22F7 00156 addwfc TBLPTRH, F
+35B4 0E04 00157 movlw TIA_PIN_NAMES_LEN
+35B6 EC9C F016 00158 call MIOS_LCD_PrintPreconfString
+ 00159
+ 00160
+ 00161 ;; send message to MIOS Terminal
+35BA EC87 F019 00162 call DEBUG_MSG_SendHeader
+ 00163
+ 00164 ;; special message for CS# pin (since it's inverted)
+35BE 5011 00165 movf TIA_PIN_NUMBER, W
+35C0 0A09 00166 xorlw 9
+35C2 E12A 00167 bnz USER_DISPLAY_Tick_Normal
+35C4 00168 USER_DISPLAY_Tick_W
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 46
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+35C4 ECA8 F019 00169 call DEBUG_MSG_SendASMString
+35C8 6950 206E 00170 db "Pin 'W#' of TIA chip set to 0V, remaining digital pins set to 0V as well.", 0
+ 5727 2723
+ 6F20 2066
+ 4954 2041
+ 6863 7069
+ 7320 7465
+ 7420 206F
+ 5630 202C
+ 6572 616D
+ 6E69 6E69
+ 2067 6964
+ 6967 6174
+ 206C 6970
+ 736E 7320
+ 7465 7420
+ 206F 5630
+ 6120 2073
+ 6577 6C6C
+ 002E
+3612 ECA1 F019 00171 call DEBUG_MSG_SendFooter
+3616 0012 00172 return
+ 00173
+ 00174
+3618 00175 USER_DISPLAY_Tick_Normal
+3618 ECA8 F019 00176 call DEBUG_MSG_SendASMString
+361C 6950 206E 00177 db "Pin '", 0
+ 0027
+ 00178
+ 00179 TABLE_ADDR TIA_PIN_NAMES_TABLE
+3622 0EB8 M movlw LOW(addr) ; store Lo Byte
+3624 6EF6 M movwf TBLPTRL
+3626 0E36 M movlw HIGH(addr) ; store Hi Byte
+3628 6EF7 M movwf TBLPTRH
+ M #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+362A 0E00 M movlw UPPER(addr) ; store Upper Byte
+362C 6EF8 M movwf TBLPTRU
+ M #endif
+362E 5011 00180 movf TIA_PIN_NUMBER, W
+3630 0D04 00181 mullw TIA_PIN_NAMES_LEN
+3632 50F3 00182 movf PRODL, W
+3634 26F6 00183 addwf TBLPTRL, F
+3636 50F4 00184 movf PRODH, W
+3638 22F7 00185 addwfc TBLPTRH, F
+ 00186
+ 00187 ;; always four chars
+363A 0009 00188 tblrd*+
+363C 50F5 00189 movf TABLAT, W
+363E ECA5 F019 00190 call DEBUG_MSG_SendChar
+3642 0009 00191 tblrd*+
+3644 50F5 00192 movf TABLAT, W
+3646 ECA5 F019 00193 call DEBUG_MSG_SendChar
+364A 0009 00194 tblrd*+
+364C 50F5 00195 movf TABLAT, W
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 47
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+364E ECA5 F019 00196 call DEBUG_MSG_SendChar
+3652 0009 00197 tblrd*+
+3654 50F5 00198 movf TABLAT, W
+3656 ECA5 F019 00199 call DEBUG_MSG_SendChar
+ 00200
+365A ECA8 F019 00201 call DEBUG_MSG_SendASMString
+365E 2027 666F 00202 db "' of TIA chip set to 5V, remaining digital pins set to 0V (exception: W# set to 5V)", 0
+ 5420 4149
+ 6320 6968
+ 2070 6573
+ 2074 6F74
+ 3520 2C56
+ 7220 6D65
+ 6961 696E
+ 676E 6420
+ 6769 7469
+ 6C61 7020
+ 6E69 2073
+ 6573 2074
+ 6F74 3020
+ 2056 6528
+ 6378 7065
+ 6974 6E6F
+ 203A 2357
+ 7320 7465
+ 7420 206F
+ 5635 0029
+36B2 ECA1 F019 00203 call DEBUG_MSG_SendFooter
+ 00204
+36B6 0012 00205 return
+ 00206
+ 00207
+ 00000004 00208 TIA_PIN_NAMES_LEN EQU 4
+ 0000000A 00209 TIA_PIN_NAMES_NUM EQU 10
+36B8 00210 TIA_PIN_NAMES_TABLE
+36B8 3041 2020 00211 db "A0 "
+36BC 3141 2020 00212 db "A1 "
+36C0 3241 2020 00213 db "A2 "
+36C4 3341 2020 00214 db "A3 "
+36C8 3044 2020 00215 db "D0 "
+36CC 3144 2020 00216 db "D1 "
+36D0 3244 2020 00217 db "D2 "
+36D4 3344 2020 00218 db "D3 "
+36D8 3444 2020 00219 db "D4 "
+36DC 2357 00220 db "W#"
+ 00221
+ 00222
+ 00223 ;; --------------------------------------------------------------------------
+ 00224 ;; This function is called by MIOS when a complete MIDI event has been received
+ 00225 ;; Input:
+ 00226 ;; o first MIDI event byte in MIOS_PARAMETER1
+ 00227 ;; o second MIDI event byte in MIOS_PARAMETER2
+ 00228 ;; o third MIDI event byte in MIOS_PARAMETER3
+ 00229 ;; --------------------------------------------------------------------------
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 48
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+36DE 00230 USER_MPROC_NotifyReceivedEvent
+ 00231 ;; if modulation wheel received: set new pin
+36DE 5003 00232 movf MIOS_PARAMETER1, W
+36E0 0BF0 00233 andlw 0xf0
+36E2 0AB0 00234 xorlw 0xb0
+36E4 E10C 00235 bnz USER_NotifyReceivedEvent_ChkNote
+36E6 5004 00236 movf MIOS_PARAMETER2, W
+36E8 0A01 00237 xorlw 0x01
+36EA E109 00238 bnz USER_NotifyReceivedEvent_ChkNote
+ 00239
+36EC 5005 00240 movf MIOS_PARAMETER3, W
+36EE 6E11 00241 movwf TIA_PIN_NUMBER
+36F0 0E0A 00242 movlw TIA_PIN_NAMES_NUM
+36F2 6011 00243 cpfslt TIA_PIN_NUMBER, ACCESS
+36F4 6A11 00244 clrf TIA_PIN_NUMBER
+36F6 8010 00245 bsf DISPLAY_UPDATE_REQ, 0
+ 00246
+ 00247 ;; set the pin depending on selected TIA number
+36F8 EC9C F01B 00248 call TIA_SetPin
+ 00249 rgoto USER_NotifyReceivedEvent_End
+36FC D012 M bra label
+ 00250
+ 00251
+36FE 00252 USER_NotifyReceivedEvent_ChkNote
+ 00253 ;; alternative control via MIDI keyboard (Note On Events with velocity > 0)
+36FE 5003 00254 movf MIOS_PARAMETER1, W
+3700 0BF0 00255 andlw 0xf0
+3702 0A90 00256 xorlw 0x90
+3704 E10E 00257 bnz USER_NotifyReceivedEvent_End
+3706 5005 00258 movf MIOS_PARAMETER3, W
+3708 E00C 00259 bz USER_NotifyReceivedEvent_End
+ 00260 ;; normalize note to 0..11 range
+370A 5004 00261 movf MIOS_PARAMETER2, W
+370C 00262 USER_NotifyReceivedEvent_NoteNor
+370C 0FF4 00263 addlw -12
+ 00264 BRA_IFCLR WREG, 7, ACCESS, USER_NotifyReceivedEvent_NoteNor
+370E AEE8 M btfss reg, bit, reg_a
+3710 D7FD M bra label
+3712 0F0C 00265 addlw 12 ; now in range 0..23
+3714 6E11 00266 movwf TIA_PIN_NUMBER
+ 00267
+3716 0E0A 00268 movlw TIA_PIN_NAMES_NUM
+3718 6011 00269 cpfslt TIA_PIN_NUMBER, ACCESS
+371A 6A11 00270 clrf TIA_PIN_NUMBER
+371C 8010 00271 bsf DISPLAY_UPDATE_REQ, 0
+ 00272
+ 00273 ;; set the pin depending on selected TIA number
+371E EC9C F01B 00274 call TIA_SetPin
+ 00275 ;; rgoto USER_NotifyReceivedEvent_End
+ 00276
+3722 00277 USER_NotifyReceivedEvent_End
+3722 0012 00278 return
+ 00279
+ 00280
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 49
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00281 ;; --------------------------------------------------------------------------
+ 00282 ;; This function is called by MIOS when a MIDI event has been received
+ 00283 ;; which has been specified in the CONFIG_MIDI_IN table
+ 00284 ;; Input:
+ 00285 ;; o number of entry in WREG
+ 00286 ;; o first MIDI event byte in MIOS_PARAMETER1
+ 00287 ;; o second MIDI event byte in MIOS_PARAMETER2
+ 00288 ;; o third MIDI event byte in MIOS_PARAMETER3
+ 00289 ;; --------------------------------------------------------------------------
+3724 00290 USER_MPROC_NotifyFoundEvent
+3724 0012 00291 return
+ 00292
+ 00293
+ 00294 ;; --------------------------------------------------------------------------
+ 00295 ;; This function is called by MIOS when a MIDI event has not been completly
+ 00296 ;; received within 2 seconds
+ 00297 ;; --------------------------------------------------------------------------
+3726 00298 USER_MPROC_NotifyTimeout
+3726 0012 00299 return
+ 00300
+ 00301
+ 00302 ;; --------------------------------------------------------------------------
+ 00303 ;; This function is called by MIOS when a MIDI byte has been received
+ 00304 ;; Input:
+ 00305 ;; o received MIDI byte in WREG and MIOS_PARAMETER1
+ 00306 ;; --------------------------------------------------------------------------
+3728 00307 USER_MPROC_NotifyReceivedByte
+3728 0012 00308 return
+ 00309
+ 00310 ;; --------------------------------------------------------------------------
+ 00311 ;; This function is called by MIOS before the transfer of a MIDI byte.
+ 00312 ;; It can be used to monitor the Tx activity or to do any other actions
+ 00313 ;; (e.g. to switch a pin for multiplexed MIDI Outs) before the byte will
+ 00314 ;; be sent.
+ 00315 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00316 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+ 00317 ;; Input:
+ 00318 ;; o transmitted byte in WREG
+ 00319 ;; --------------------------------------------------------------------------
+372A 00320 USER_MIDI_NotifyTx
+372A 0012 00321 return
+ 00322
+ 00323 ;; --------------------------------------------------------------------------
+ 00324 ;; This function is called by MIOS when a MIDI byte has been received.
+ 00325 ;; It can be used to monitor the Rx activity or to do any action - e.g.
+ 00326 ;; to react on realtime events like MIDI clock (0xf8) with a minimum latency
+ 00327 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00328 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+ 00329 ;; Input:
+ 00330 ;; o received byte in WREG
+ 00331 ;; --------------------------------------------------------------------------
+372C 00332 USER_MIDI_NotifyRx
+372C 0012 00333 return
+ 00334
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 50
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00335 ;; --------------------------------------------------------------------------
+ 00336 ;; This function is called by MIOS when an button has been toggled
+ 00337 ;; Input:
+ 00338 ;; o Button number in WREG and MIOS_PARAMETER1
+ 00339 ;; o Button value MIOS_PARAMETER2:
+ 00340 ;; - 1 if button has been released (=5V)
+ 00341 ;; - 0 if button has been pressed (=0V)
+ 00342 ;; --------------------------------------------------------------------------
+372E 00343 USER_DIN_NotifyToggle
+372E 0012 00344 return
+ 00345
+ 00346
+ 00347 ;; --------------------------------------------------------------------------
+ 00348 ;; This function is called by MIOS when an encoder has been moved
+ 00349 ;; Input:
+ 00350 ;; o Encoder number in WREG and MIOS_PARAMETER1
+ 00351 ;; o signed incrementer value in MIOS_PARAMETER2:
+ 00352 ;; - is positive when encoder has been turned clockwise
+ 00353 ;; - is negative when encoder has been turned counter clockwise
+ 00354 ;; --------------------------------------------------------------------------
+3730 00355 USER_ENC_NotifyChange
+3730 0012 00356 return
+ 00357
+ 00358
+ 00359 ;; --------------------------------------------------------------------------
+ 00360 ;; This function is called by MIOS before the shift register are loaded
+ 00361 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00362 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+ 00363 ;; --------------------------------------------------------------------------
+3732 00364 USER_SR_Service_Prepare
+3732 0012 00365 return
+ 00366
+ 00367
+ 00368 ;; --------------------------------------------------------------------------
+ 00369 ;; This function is called by MIOS after the shift register have been loaded
+ 00370 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00371 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+ 00372 ;; --------------------------------------------------------------------------
+3734 00373 USER_SR_Service_Finish
+3734 0012 00374 return
+ 00375
+ 00376 ;; --------------------------------------------------------------------------
+ 00377 ;; This function is called by MIOS when a pot has been moved
+ 00378 ;; Input:
+ 00379 ;; o Pot number in WREG and MIOS_PARAMETER1
+ 00380 ;; o LSB value in MIOS_PARAMETER2
+ 00381 ;; o MSB value in MIOS_PARAMETER3
+ 00382 ;; --------------------------------------------------------------------------
+3736 00383 USER_AIN_NotifyChange
+3736 0012 00384 return
+ 00385
+ 00386
+ 00387
+ 00388 ;; --------------------------------------------------------------------------
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 51
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00389 ;; This function sets a TIA pin depending on TIA_PIN_NUMBER
+ 00390 ;; --------------------------------------------------------------------------
+3738 00391 TIA_SetPin
+3738 9A8B 00392 bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR
+373A 6A03 00393 clrf MIOS_PARAMETER1
+373C 6A04 00394 clrf MIOS_PARAMETER2
+ 00395
+373E 5011 00396 movf TIA_PIN_NUMBER, W
+ 00397 JUMPTABLE_2BYTES 15 ; entries
+3740 0FF1 M addlw -(max_value) ; ensure that jump index is not greater than (max_value-1)
+3742 B0D8 M skpnc
+3744 0EF1 M movlw -(max_value)
+3746 0F0F M addlw max_value
+3748 ECC8 F016 M call MIOS_HLP_GetIndex_2bytes
+ 00398 rgoto TIA_SetPin0
+374C D00F M bra label
+ 00399 rgoto TIA_SetPin1
+374E D012 M bra label
+ 00400 rgoto TIA_SetPin2
+3750 D015 M bra label
+ 00401 rgoto TIA_SetPin3
+3752 D018 M bra label
+ 00402 rgoto TIA_SetPin4
+3754 D01B M bra label
+ 00403 rgoto TIA_SetPin5
+3756 D01E M bra label
+ 00404 rgoto TIA_SetPin6
+3758 D021 M bra label
+ 00405 rgoto TIA_SetPin7
+375A D024 M bra label
+ 00406 rgoto TIA_SetPin8
+375C D027 M bra label
+ 00407 rgoto TIA_SetPin9
+375E D02A M bra label
+ 00408 rgoto TIA_SetPinNone
+3760 D02B M bra label
+ 00409 rgoto TIA_SetPinNone
+3762 D02A M bra label
+ 00410 rgoto TIA_SetPinNone
+3764 D029 M bra label
+ 00411 rgoto TIA_SetPinNone
+3766 D028 M bra label
+ 00412 rgoto TIA_SetPinNone
+3768 D027 M bra label
+ 00413 rgoto TIA_SetPinNone
+376A D026 M bra label
+ 00414
+376C 00415 TIA_SetPin0
+376C 0E01 00416 movlw 0x01 ; A0
+376E 6E03 00417 movwf MIOS_PARAMETER1
+3770 EFFE F019 00418 goto TIA_SR_Write
+ 00419
+3774 00420 TIA_SetPin1
+3774 0E02 00421 movlw 0x02 ; A1
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 52
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3776 6E03 00422 movwf MIOS_PARAMETER1
+3778 EFFE F019 00423 goto TIA_SR_Write
+ 00424
+377C 00425 TIA_SetPin2
+377C 0E04 00426 movlw 0x04 ; A2
+377E 6E03 00427 movwf MIOS_PARAMETER1
+3780 EFFE F019 00428 goto TIA_SR_Write
+ 00429
+3784 00430 TIA_SetPin3
+3784 0E08 00431 movlw 0x08 ; A3
+3786 6E03 00432 movwf MIOS_PARAMETER1
+3788 EFFE F019 00433 goto TIA_SR_Write
+ 00434
+378C 00435 TIA_SetPin4
+378C 0E01 00436 movlw 0x01 ; D0
+378E 6E04 00437 movwf MIOS_PARAMETER2
+3790 EFFE F019 00438 goto TIA_SR_Write
+ 00439
+3794 00440 TIA_SetPin5
+3794 0E02 00441 movlw 0x02 ; D1
+3796 6E04 00442 movwf MIOS_PARAMETER2
+3798 EFFE F019 00443 goto TIA_SR_Write
+ 00444
+379C 00445 TIA_SetPin6
+379C 0E04 00446 movlw 0x04 ; D2
+379E 6E04 00447 movwf MIOS_PARAMETER2
+37A0 EFFE F019 00448 goto TIA_SR_Write
+ 00449
+37A4 00450 TIA_SetPin7
+37A4 0E08 00451 movlw 0x08 ; D3
+37A6 6E04 00452 movwf MIOS_PARAMETER2
+37A8 EFFE F019 00453 goto TIA_SR_Write
+ 00454
+37AC 00455 TIA_SetPin8
+37AC 0E10 00456 movlw 0x10 ; D4
+37AE 6E04 00457 movwf MIOS_PARAMETER2
+37B0 EFFE F019 00458 goto TIA_SR_Write
+ 00459
+37B4 00460 TIA_SetPin9
+37B4 9A8B 00461 bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR
+37B6 0012 00462 return
+ 00463
+37B8 00464 TIA_SetPinNone
+37B8 0012 00465 return
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 53
+
+
+SYMBOL TABLE
+ LABEL VALUE
+
+A 00000000
+ABAT 00000004
+ABDEN 00000000
+ABDOVF 00000007
+ACCESS 00000000
+ACKDT 00000005
+ACKEN 00000004
+ACKSTAT 00000006
+ACQT0 00000003
+ACQT1 00000004
+ACQT2 00000005
+ADCON0 00000FC2
+ADCON1 00000FC1
+ADCON2 00000FC0
+ADCS0 00000000
+ADCS1 00000001
+ADCS2 00000002
+ADDEN 00000003
+ADEN 00000003
+ADFM 00000007
+ADIE 00000006
+ADIF 00000006
+ADIP 00000006
+ADON 00000000
+ADRES 00000FC3
+ADRESH 00000FC4
+ADRESL 00000FC3
+AN0 00000000
+AN1 00000001
+AN10 00000000
+AN2 00000002
+AN3 00000003
+AN4 00000005
+AN5 00000000
+AN6 00000001
+AN7 00000002
+AN8 00000001
+AN9 00000004
+B0CON 00000E20
+B0D0 00000E26
+B0D00 00000000
+B0D01 00000001
+B0D02 00000002
+B0D03 00000003
+B0D04 00000004
+B0D05 00000005
+B0D06 00000006
+B0D07 00000007
+B0D1 00000E27
+B0D10 00000000
+B0D11 00000001
+B0D12 00000002
+B0D13 00000003
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 54
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B0D14 00000004
+B0D15 00000005
+B0D16 00000006
+B0D17 00000007
+B0D2 00000E28
+B0D20 00000000
+B0D21 00000001
+B0D22 00000002
+B0D23 00000003
+B0D24 00000004
+B0D25 00000005
+B0D26 00000006
+B0D27 00000007
+B0D3 00000E29
+B0D30 00000000
+B0D31 00000001
+B0D32 00000002
+B0D33 00000003
+B0D34 00000004
+B0D35 00000005
+B0D36 00000006
+B0D37 00000007
+B0D4 00000E2A
+B0D40 00000000
+B0D41 00000001
+B0D42 00000002
+B0D43 00000003
+B0D44 00000004
+B0D45 00000005
+B0D46 00000006
+B0D47 00000007
+B0D5 00000E2B
+B0D50 00000000
+B0D51 00000001
+B0D52 00000002
+B0D53 00000003
+B0D54 00000004
+B0D55 00000005
+B0D56 00000006
+B0D57 00000007
+B0D6 00000E2C
+B0D60 00000000
+B0D61 00000001
+B0D62 00000002
+B0D63 00000003
+B0D64 00000004
+B0D65 00000005
+B0D66 00000006
+B0D67 00000007
+B0D7 00000E2D
+B0D70 00000000
+B0D71 00000001
+B0D72 00000002
+B0D73 00000003
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 55
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B0D74 00000004
+B0D75 00000005
+B0D76 00000006
+B0D77 00000007
+B0DLC 00000E25
+B0EIDH 00000E23
+B0EIDL 00000E24
+B0IE 00000002
+B0SIDH 00000E21
+B0SIDL 00000E22
+B0TXEN 00000002
+B1CON 00000E30
+B1D0 00000E36
+B1D00 00000000
+B1D01 00000001
+B1D02 00000002
+B1D03 00000003
+B1D04 00000004
+B1D05 00000005
+B1D06 00000006
+B1D07 00000007
+B1D1 00000E37
+B1D10 00000000
+B1D11 00000001
+B1D12 00000002
+B1D13 00000003
+B1D14 00000004
+B1D15 00000005
+B1D16 00000006
+B1D17 00000007
+B1D2 00000E38
+B1D20 00000000
+B1D21 00000001
+B1D22 00000002
+B1D23 00000003
+B1D24 00000004
+B1D25 00000005
+B1D26 00000006
+B1D27 00000007
+B1D3 00000E39
+B1D30 00000000
+B1D31 00000001
+B1D32 00000002
+B1D33 00000003
+B1D34 00000004
+B1D35 00000005
+B1D36 00000006
+B1D37 00000007
+B1D4 00000E3A
+B1D40 00000000
+B1D41 00000001
+B1D42 00000002
+B1D43 00000003
+B1D44 00000004
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 56
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B1D45 00000005
+B1D46 00000006
+B1D47 00000007
+B1D5 00000E3B
+B1D50 00000000
+B1D51 00000001
+B1D52 00000002
+B1D53 00000003
+B1D54 00000004
+B1D55 00000005
+B1D56 00000006
+B1D57 00000007
+B1D6 00000E3C
+B1D60 00000000
+B1D61 00000001
+B1D62 00000002
+B1D63 00000003
+B1D64 00000004
+B1D65 00000005
+B1D66 00000006
+B1D67 00000007
+B1D7 00000E3D
+B1D70 00000000
+B1D71 00000001
+B1D72 00000002
+B1D73 00000003
+B1D74 00000004
+B1D75 00000005
+B1D76 00000006
+B1D77 00000007
+B1DLC 00000E35
+B1EIDH 00000E33
+B1EIDL 00000E34
+B1IE 00000003
+B1SIDH 00000E31
+B1SIDL 00000E32
+B1TXEN 00000003
+B2CON 00000E40
+B2D0 00000E46
+B2D00 00000000
+B2D01 00000001
+B2D02 00000002
+B2D03 00000003
+B2D04 00000004
+B2D05 00000005
+B2D06 00000006
+B2D07 00000007
+B2D1 00000E47
+B2D10 00000000
+B2D11 00000001
+B2D12 00000002
+B2D13 00000003
+B2D14 00000004
+B2D15 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 57
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B2D16 00000006
+B2D17 00000007
+B2D2 00000E48
+B2D20 00000000
+B2D21 00000001
+B2D22 00000002
+B2D23 00000003
+B2D24 00000004
+B2D25 00000005
+B2D26 00000006
+B2D27 00000007
+B2D3 00000E49
+B2D30 00000000
+B2D31 00000001
+B2D32 00000002
+B2D33 00000003
+B2D34 00000004
+B2D35 00000005
+B2D36 00000006
+B2D37 00000007
+B2D4 00000E4A
+B2D40 00000000
+B2D41 00000001
+B2D42 00000002
+B2D43 00000003
+B2D44 00000004
+B2D45 00000005
+B2D46 00000006
+B2D47 00000007
+B2D5 00000E4B
+B2D50 00000000
+B2D51 00000001
+B2D52 00000002
+B2D53 00000003
+B2D54 00000004
+B2D55 00000005
+B2D56 00000006
+B2D57 00000007
+B2D6 00000E4C
+B2D60 00000000
+B2D61 00000001
+B2D62 00000002
+B2D63 00000003
+B2D64 00000004
+B2D65 00000005
+B2D66 00000006
+B2D67 00000007
+B2D7 00000E4D
+B2D70 00000000
+B2D71 00000001
+B2D72 00000002
+B2D73 00000003
+B2D74 00000004
+B2D75 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 58
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B2D76 00000006
+B2D77 00000007
+B2DLC 00000E45
+B2EIDH 00000E43
+B2EIDL 00000E44
+B2IE 00000004
+B2SIDH 00000E41
+B2SIDL 00000E42
+B2TXEN 00000004
+B3CON 00000E50
+B3D0 00000E56
+B3D00 00000000
+B3D01 00000001
+B3D02 00000002
+B3D03 00000003
+B3D04 00000004
+B3D05 00000005
+B3D06 00000006
+B3D07 00000007
+B3D1 00000E57
+B3D10 00000000
+B3D11 00000001
+B3D12 00000002
+B3D13 00000003
+B3D14 00000004
+B3D15 00000005
+B3D16 00000006
+B3D17 00000007
+B3D2 00000E58
+B3D20 00000000
+B3D21 00000001
+B3D22 00000002
+B3D23 00000003
+B3D24 00000004
+B3D25 00000005
+B3D26 00000006
+B3D27 00000007
+B3D3 00000E59
+B3D30 00000000
+B3D31 00000001
+B3D32 00000002
+B3D33 00000003
+B3D34 00000004
+B3D35 00000005
+B3D36 00000006
+B3D37 00000007
+B3D4 00000E5A
+B3D40 00000000
+B3D41 00000001
+B3D42 00000002
+B3D43 00000003
+B3D44 00000004
+B3D45 00000005
+B3D46 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 59
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B3D47 00000007
+B3D5 00000E5B
+B3D50 00000000
+B3D51 00000001
+B3D52 00000002
+B3D53 00000003
+B3D54 00000004
+B3D55 00000005
+B3D56 00000006
+B3D57 00000007
+B3D6 00000E5C
+B3D60 00000000
+B3D61 00000001
+B3D62 00000002
+B3D63 00000003
+B3D64 00000004
+B3D65 00000005
+B3D66 00000006
+B3D67 00000007
+B3D7 00000E5D
+B3D70 00000000
+B3D71 00000001
+B3D72 00000002
+B3D73 00000003
+B3D74 00000004
+B3D75 00000005
+B3D76 00000006
+B3D77 00000007
+B3DLC 00000E55
+B3EIDH 00000E53
+B3EIDL 00000E54
+B3IE 00000005
+B3SIDH 00000E51
+B3SIDL 00000E52
+B3TXEN 00000005
+B46D77 00000007
+B4CON 00000E60
+B4D0 00000E66
+B4D00 00000000
+B4D01 00000001
+B4D02 00000002
+B4D03 00000003
+B4D04 00000004
+B4D05 00000005
+B4D06 00000006
+B4D07 00000007
+B4D1 00000E67
+B4D10 00000000
+B4D11 00000001
+B4D12 00000002
+B4D13 00000003
+B4D14 00000004
+B4D15 00000005
+B4D16 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 60
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B4D17 00000007
+B4D2 00000E68
+B4D20 00000000
+B4D21 00000001
+B4D22 00000002
+B4D23 00000003
+B4D24 00000004
+B4D25 00000005
+B4D26 00000006
+B4D27 00000007
+B4D3 00000E69
+B4D30 00000000
+B4D31 00000001
+B4D32 00000002
+B4D33 00000003
+B4D34 00000004
+B4D35 00000005
+B4D36 00000006
+B4D37 00000007
+B4D4 00000E6A
+B4D40 00000000
+B4D41 00000001
+B4D42 00000002
+B4D43 00000003
+B4D44 00000004
+B4D45 00000005
+B4D46 00000006
+B4D47 00000007
+B4D5 00000E6B
+B4D50 00000000
+B4D51 00000001
+B4D52 00000002
+B4D53 00000003
+B4D54 00000004
+B4D55 00000005
+B4D56 00000006
+B4D57 00000007
+B4D6 00000E6C
+B4D60 00000000
+B4D61 00000001
+B4D62 00000002
+B4D63 00000003
+B4D64 00000004
+B4D65 00000005
+B4D66 00000006
+B4D67 00000007
+B4D7 00000E6D
+B4D70 00000000
+B4D71 00000001
+B4D72 00000002
+B4D73 00000003
+B4D74 00000004
+B4D75 00000005
+B4D76 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 61
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B4D77 00000007
+B4DLC 00000E65
+B4EIDH 00000E63
+B4EIDL 00000E64
+B4IE 00000006
+B4SIDH 00000E61
+B4SIDL 00000E62
+B4TXEN 00000006
+B57D07 00000007
+B57D23 00000003
+B5CON 00000E70
+B5D0 00000E76
+B5D00 00000000
+B5D01 00000001
+B5D02 00000002
+B5D03 00000003
+B5D04 00000004
+B5D05 00000005
+B5D06 00000006
+B5D07 00000007
+B5D1 00000E77
+B5D10 00000000
+B5D11 00000001
+B5D12 00000002
+B5D13 00000003
+B5D14 00000004
+B5D15 00000005
+B5D16 00000006
+B5D17 00000007
+B5D2 00000E78
+B5D20 00000000
+B5D21 00000001
+B5D22 00000002
+B5D23 00000003
+B5D24 00000004
+B5D25 00000005
+B5D26 00000006
+B5D27 00000007
+B5D3 00000E79
+B5D30 00000000
+B5D31 00000001
+B5D32 00000002
+B5D33 00000003
+B5D34 00000004
+B5D35 00000005
+B5D36 00000006
+B5D37 00000007
+B5D4 00000E7A
+B5D40 00000000
+B5D41 00000001
+B5D42 00000002
+B5D43 00000003
+B5D44 00000004
+B5D45 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 62
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B5D46 00000006
+B5D47 00000007
+B5D5 00000E7B
+B5D50 00000000
+B5D51 00000001
+B5D52 00000002
+B5D53 00000003
+B5D54 00000004
+B5D55 00000005
+B5D56 00000006
+B5D57 00000007
+B5D6 00000E7C
+B5D60 00000000
+B5D61 00000001
+B5D62 00000002
+B5D63 00000003
+B5D64 00000004
+B5D65 00000005
+B5D66 00000006
+B5D67 00000007
+B5D7 00000E7D
+B5D70 00000000
+B5D71 00000001
+B5D72 00000002
+B5D73 00000003
+B5D74 00000004
+B5D75 00000005
+B5D76 00000006
+B5D77 00000007
+B5DLC 00000E75
+B5EIDH 00000E73
+B5EIDL 00000E74
+B5IE 00000007
+B5SIDH 00000E71
+B5SIDL 00000E72
+B5TXEN 00000007
+BANKED 00000001
+BAUDCON 00000FB8
+BCLIE 00000003
+BCLIF 00000003
+BCLIP 00000003
+BF 00000000
+BGST 00000005
+BIE0 00000DFA
+BOR 00000000
+BRG16 00000003
+BRGCON1 00000F70
+BRGCON2 00000F71
+BRGCON3 00000F72
+BRGH 00000002
+BRP0 00000000
+BRP1 00000001
+BRP2 00000002
+BRP3 00000003
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 63
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+BRP4 00000004
+BRP5 00000005
+BSEL0 00000DF8
+BSR 00000FE0
+C 00000000
+C1INA 00000001
+C1INB 00000000
+C1INV 00000004
+C1OUT 00000006
+C2INA 00000003
+C2INB 00000002
+C2INV 00000005
+C2OUT 00000007
+CANCAP 00000004
+CANCON 00000F6F
+CANCON_RO0 00000F5F
+CANCON_RO1 00000F4F
+CANCON_RO2 00000F3F
+CANCON_RO3 00000F2F
+CANCON_RO4 00000E7F
+CANCON_RO5 00000E6F
+CANCON_RO6 00000E5F
+CANCON_RO7 00000E4F
+CANCON_RO8 00000E3F
+CANCON_RO9 00000E2F
+CANRX 00000003
+CANSTAT 00000F6E
+CANSTAT_RO0 00000F5E
+CANSTAT_RO1 00000F4E
+CANSTAT_RO2 00000F3E
+CANSTAT_RO3 00000F2E
+CANSTAT_RO4 00000E7E
+CANSTAT_RO5 00000E6E
+CANSTAT_RO6 00000E5E
+CANSTAT_RO7 00000E4E
+CANSTAT_RO8 00000E3E
+CANSTAT_RO9 00000E2E
+CANTX 00000002
+CCP1 00000002
+CCP1CON 00000FBD
+CCP1IE 00000002
+CCP1IF 00000002
+CCP1IP 00000002
+CCP1M0 00000000
+CCP1M1 00000001
+CCP1M2 00000002
+CCP1M3 00000003
+CCPR1 00000FBE
+CCPR1H 00000FBF
+CCPR1L 00000FBE
+CFGS 00000006
+CHS0 00000002
+CHS1 00000003
+CHS2 00000004
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 64
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+CHS3 00000005
+CIOCON 00000F73
+CIS 00000003
+CK 00000006
+CKE 00000006
+CKP 00000004
+CLKI 00000007
+CLKO 00000006
+CM0 00000000
+CM1 00000001
+CM2 00000002
+CMCON 00000FB4
+CMIE 00000006
+CMIF 00000006
+CMIP 00000006
+COMSTAT 00000F74
+CREN 00000004
+CS 00000002
+CSRC 00000007
+CVR0 00000000
+CVR1 00000001
+CVR2 00000002
+CVR3 00000003
+CVRCON 00000FB5
+CVREF_CVRCON 00000004
+CVREF_PORTA 00000000
+CVREN 00000007
+CVROE 00000006
+CVRR 00000005
+CVRSS 00000004
+D 00000005
+DATA_ADDRESS 00000005
+DC 00000001
+DC1B0 00000004
+DC1B1 00000005
+DEBUG_MSG_SendASMString 00003350
+DEBUG_MSG_SendASMStringLoop 0000335C
+DEBUG_MSG_SendASMStringLoop_End 00003366
+DEBUG_MSG_SendASMString_NoIAlign 00003376
+DEBUG_MSG_SendBCD1 00003388
+DEBUG_MSG_SendBCD1_Cont 000033E0
+DEBUG_MSG_SendBCD2 0000339E
+DEBUG_MSG_SendBCD2_Cont 000033D6
+DEBUG_MSG_SendBCD3 000033A6
+DEBUG_MSG_SendBCD3_Cont 000033CC
+DEBUG_MSG_SendBCD4 000033AE
+DEBUG_MSG_SendBCD4_Cont 000033C2
+DEBUG_MSG_SendBCD5 000033B4
+DEBUG_MSG_SendBCD5_Cont 000033B8
+DEBUG_MSG_SendBCD_D1 000033F0
+DEBUG_MSG_SendBCD_D2 000033EC
+DEBUG_MSG_SendBCD_D3 000033E8
+DEBUG_MSG_SendBCD_D4 000033E4
+DEBUG_MSG_SendBCD_D5 000033E2
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 65
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+DEBUG_MSG_SendChar 0000334A
+DEBUG_MSG_SendFooter 00003342
+DEBUG_MSG_SendHeader 0000330E
+DEBUG_MSG_SendHex1 00003388
+DEBUG_MSG_SendHex2 00003394
+DFLC0 00000000
+DFLC1 00000001
+DFLC2 00000002
+DFLC3 00000003
+DFLC4 00000004
+DISPLAY_UPDATE_REQ 00000010
+DLC0 00000000
+DLC1 00000001
+DLC2 00000002
+DLC3 00000003
+DONE 00000001
+D_A 00000005
+ECANCON 00000F77
+ECCP1 00000004
+ECCP1AS 00000FB6
+ECCP1CON 00000FBA
+ECCP1DEL 00000FB7
+ECCP1IE 00000000
+ECCP1IF 00000000
+ECCP1IP 00000000
+ECCP1M0 00000000
+ECCP1M1 00000001
+ECCP1M2 00000002
+ECCP1M3 00000003
+ECCPAS0 00000004
+ECCPAS1 00000005
+ECCPAS2 00000006
+ECCPASE 00000007
+ECCPR1 00000FBB
+ECCPR1H 00000FBC
+ECCPR1L 00000FBB
+EDC1B0 00000004
+EDC1B1 00000005
+EEADR 00000FA9
+EEADRH 00000FAA
+EECON1 00000FA6
+EECON2 00000FA7
+EEDATA 00000FA8
+EEIE 00000004
+EEIF 00000004
+EEIP 00000004
+EEPGD 00000007
+EICODE0 00000000
+EICODE1 00000001
+EICODE2 00000002
+EICODE3 00000003
+EICODE4 00000004
+EID0 00000000
+EID1 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 66
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+EID10 00000002
+EID11 00000003
+EID12 00000004
+EID13 00000005
+EID14 00000006
+EID15 00000007
+EID16 00000000
+EID17 00000001
+EID2 00000002
+EID3 00000003
+EID4 00000004
+EID5 00000005
+EID6 00000006
+EID7 00000007
+EID8 00000000
+EID9 00000001
+ENDRHI 00000005
+EPWM1M0 00000006
+EPWM1M1 00000007
+ERRIE 00000005
+ERRIF 00000005
+ERRIP 00000005
+EWARN 00000000
+EWIN0 00000000
+EWIN1 00000001
+EWIN2 00000002
+EWIN3 00000003
+EWIN4 00000004
+EXID 00000003
+EXIDE 00000003
+EXIDEN 00000003
+F 00000005
+F0BP_0 00000000
+F0BP_1 00000001
+F0BP_2 00000002
+F0BP_3 00000003
+F10BP_0 00000000
+F10BP_1 00000001
+F10BP_2 00000002
+F10BP_3 00000003
+F11BP_0 00000004
+F11BP_1 00000005
+F11BP_2 00000006
+F11BP_3 00000007
+F12BP_0 00000000
+F12BP_1 00000001
+F12BP_2 00000002
+F12BP_3 00000003
+F13BP_0 00000004
+F13BP_1 00000005
+F13BP_2 00000006
+F13BP_3 00000007
+F14BP_0 00000000
+F14BP_1 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 67
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+F14BP_2 00000002
+F14BP_3 00000003
+F15BP_0 00000004
+F15BP_1 00000005
+F15BP_2 00000006
+F15BP_3 00000007
+F1BP_0 00000004
+F1BP_1 00000005
+F1BP_2 00000006
+F1BP_3 00000007
+F2BP_0 00000000
+F2BP_1 00000001
+F2BP_2 00000002
+F2BP_3 00000003
+F3BP_0 00000004
+F3BP_1 00000005
+F3BP_2 00000006
+F3BP_3 00000007
+F4BP_0 00000000
+F4BP_1 00000001
+F4BP_2 00000002
+F4BP_3 00000003
+F5BP_0 00000004
+F5BP_1 00000005
+F5BP_2 00000006
+F5BP_3 00000007
+F6BP_0 00000000
+F6BP_1 00000001
+F6BP_2 00000002
+F6BP_3 00000003
+F7BP_0 00000004
+F7BP_1 00000005
+F7BP_2 00000006
+F7BP_3 00000007
+F8BP_0 00000000
+F8BP_1 00000001
+F8BP_2 00000002
+F8BP_3 00000003
+F9BP_0 00000004
+F9BP_1 00000005
+F9BP_2 00000006
+F9BP_3 00000007
+FAST 00000001
+FERR 00000002
+FIFOEMPTY 00000007
+FIFOMWIE 00000000
+FIFOWM 00000005
+FIFOWMIE 00000000
+FIFOWMIF 00000000
+FIFOWMIP 00000000
+FIL0_0 00000000
+FIL0_1 00000001
+FIL10_0 00000004
+FIL10_1 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 68
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+FIL11_0 00000006
+FIL11_1 00000007
+FIL12_0 00000000
+FIL12_1 00000001
+FIL13_0 00000002
+FIL13_1 00000003
+FIL14_0 00000004
+FIL14_1 00000005
+FIL15_0 00000006
+FIL15_1 00000007
+FIL1_0 00000002
+FIL1_1 00000003
+FIL2_0 00000004
+FIL2_1 00000005
+FIL3_0 00000006
+FIL3_1 00000007
+FIL4_0 00000000
+FIL4_1 00000001
+FIL5_0 00000002
+FIL5_1 00000003
+FIL6_0 00000004
+FIL6_1 00000005
+FIL7_0 00000006
+FIL7_1 00000007
+FIL8_0 00000000
+FIL8_1 00000001
+FIL9_0 00000002
+FIL9_1 00000003
+FILHIT0 00000000
+FILHIT1 00000001
+FILHIT2 00000002
+FILHIT3 00000003
+FILHIT4 00000004
+FLC0 00000000
+FLC1 00000001
+FLC2 00000002
+FLC3 00000003
+FLC4 00000004
+FLT0 00000000
+FP0 00000000
+FP1 00000001
+FP2 00000002
+FP3 00000003
+FREE 00000004
+FSR0 00000000
+FSR0H 00000FEA
+FSR0L 00000FE9
+FSR1 00000001
+FSR1H 00000FE2
+FSR1L 00000FE1
+FSR2 00000002
+FSR2H 00000FDA
+FSR2L 00000FD9
+GCEN 00000007
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 69
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+GIE 00000007
+GIEH 00000007
+GIEL 00000006
+GO 00000001
+GO_DONE 00000001
+HLVDCON 00000FD2
+HLVDEN 00000004
+HLVDIE 00000002
+HLVDIF 00000002
+HLVDIN 00000005
+HLVDIP 00000002
+HLVDL0 00000000
+HLVDL1 00000001
+HLVDL2 00000002
+HLVDL3 00000003
+I2C_DAT 00000005
+I2C_READ 00000002
+I2C_START 00000003
+I2C_STOP 00000004
+IBF 00000007
+IBOV 00000005
+ICODE0 00000000
+ICODE1 00000001
+ICODE2 00000002
+ICODE3 00000003
+ICODE4 00000004
+IDLEN 00000007
+INDF0 00000FEF
+INDF1 00000FE7
+INDF2 00000FDF
+INT0 00000000
+INT0E 00000004
+INT0F 00000001
+INT0IE 00000004
+INT0IF 00000001
+INT1 00000001
+INT1E 00000003
+INT1F 00000000
+INT1IE 00000003
+INT1IF 00000000
+INT1IP 00000006
+INT1P 00000006
+INT2 00000002
+INT2E 00000004
+INT2F 00000001
+INT2IE 00000004
+INT2IF 00000001
+INT2IP 00000007
+INT2P 00000007
+INTCON 00000FF2
+INTCON2 00000FF1
+INTCON3 00000FF0
+INTEDG0 00000006
+INTEDG1 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 70
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+INTEDG2 00000004
+INTSCR 00000007
+INTSRC 00000007
+IOFS 00000002
+IPEN 00000007
+IPR1 00000F9F
+IPR2 00000FA2
+IPR3 00000FA5
+IRCF0 00000004
+IRCF1 00000005
+IRCF2 00000006
+IRQ_TMP1 0000000B
+IRQ_TMP2 0000000C
+IRQ_TMP3 0000000D
+IRQ_TMP4 0000000E
+IRQ_TMP5 0000000F
+IRVST 00000005
+IRXIE 00000007
+IRXIF 00000007
+IRXIP 00000007
+IVRST 00000005
+JTOFF 00000001
+KBI0 00000004
+KBI1 00000005
+KBI2 00000006
+KBI3 00000007
+LATA 00000F89
+LATA0 00000000
+LATA1 00000001
+LATA2 00000002
+LATA3 00000003
+LATA4 00000004
+LATA5 00000005
+LATA6 00000006
+LATA7 00000007
+LATB 00000F8A
+LATB0 00000000
+LATB1 00000001
+LATB2 00000002
+LATB3 00000003
+LATB4 00000004
+LATB5 00000005
+LATB6 00000006
+LATB7 00000007
+LATC 00000F8B
+LATC0 00000000
+LATC1 00000001
+LATC2 00000002
+LATC3 00000003
+LATC4 00000004
+LATC5 00000005
+LATC6 00000006
+LATC7 00000007
+LATD 00000F8C
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 71
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+LATD0 00000000
+LATD1 00000001
+LATD2 00000002
+LATD3 00000003
+LATD4 00000004
+LATD5 00000005
+LATD6 00000006
+LATD7 00000007
+LATE 00000F8D
+LATE0 00000000
+LATE1 00000001
+LATE2 00000002
+LVDCON 00000FD2
+LVDEN 00000004
+LVDIE 00000002
+LVDIF 00000002
+LVDIN 00000005
+LVDIP 00000002
+LVDL0 00000000
+LVDL1 00000001
+LVDL2 00000002
+LVDL3 00000003
+LVV0 00000000
+LVV1 00000001
+LVV2 00000002
+LVV3 00000003
+MDSEL0 00000006
+MDSEL1 00000007
+MIOS_AIN_DeadbandGet 00002C5C
+MIOS_AIN_DeadbandSet 00002C60
+MIOS_AIN_DynamicPrioGet 00002DD4
+MIOS_AIN_DynamicPrioSet 00002DD0
+MIOS_AIN_LastPinsGet 00002DD8
+MIOS_AIN_Muxed 00002C64
+MIOS_AIN_NumberGet 00002C68
+MIOS_AIN_NumberSet 00002C6C
+MIOS_AIN_Pin7bitGet 00002C70
+MIOS_AIN_PinGet 00002C74
+MIOS_AIN_PinLSBGet 00002C78
+MIOS_AIN_PinMSBGet 00002C7C
+MIOS_AIN_UnMuxed 00002C80
+MIOS_BANKSTICK_CtrlGet 00002DE0
+MIOS_BANKSTICK_CtrlSet 00002DDC
+MIOS_BANKSTICK_Read 00002D70
+MIOS_BANKSTICK_ReadPage 00002E30
+MIOS_BANKSTICK_Write 00002D74
+MIOS_BANKSTICK_WritePage 00002DE4
+MIOS_BOX_CFG0 00000000
+MIOS_BOX_CFG0_20MHz 00000007
+MIOS_BOX_CFG0_LCD_TYPE0 00000000
+MIOS_BOX_CFG0_LCD_TYPE1 00000001
+MIOS_BOX_CFG0_LCD_TYPE2 00000002
+MIOS_BOX_CFG0_MBLINK 00000005
+MIOS_BOX_CFG0_MERGER 00000004
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 72
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+MIOS_BOX_CFG0_TO_HOST 00000006
+MIOS_BOX_CFG0_USE_GLCD 00000003
+MIOS_BOX_CFG1 00000001
+MIOS_BOX_CFG1_BS_A0 00000000
+MIOS_BOX_CFG1_BS_A1 00000001
+MIOS_BOX_CFG1_BS_A2 00000002
+MIOS_BOX_CFG1_BS_DIS_VERIFY 00000003
+MIOS_BOX_CFG1_IIC_STRETCH_CLK 00000004
+MIOS_BOX_STAT 00000002
+MIOS_BOX_STAT_AUTOREPEAT 00000004
+MIOS_BOX_STAT_BS_AVAILABLE 00000000
+MIOS_BOX_STAT_FERR 00000006
+MIOS_BOX_STAT_MBLINK_TUNNEL_PASS 00000001
+MIOS_BOX_STAT_MLCD_TRANSFER 00000005
+MIOS_BOX_STAT_SUSPEND_ALL 00000002
+MIOS_BOX_STAT_SUSPEND_USER 00000003
+MIOS_CLCD_SpecialCharInit 00002DC8
+MIOS_CLCD_SpecialCharsInit 00002DCC
+MIOS_DIN_PinAutoRepeatDisable 00002DC0
+MIOS_DIN_PinAutoRepeatEnable 00002DBC
+MIOS_DIN_PinAutoRepeatGet 00002DC4
+MIOS_DIN_PinGet 00002CB4
+MIOS_DIN_SRGet 00002CB8
+MIOS_DOUT_PinGet 00002CBC
+MIOS_DOUT_PinSet 00002CC0
+MIOS_DOUT_PinSet0 00002CC4
+MIOS_DOUT_PinSet1 00002CC8
+MIOS_DOUT_SRGet 00002CCC
+MIOS_DOUT_SRSet 00002CD0
+MIOS_Delay 00002D9C
+MIOS_EEPROM_Read 00002D60
+MIOS_EEPROM_ReadPage 00002E34
+MIOS_EEPROM_Write 00002D64
+MIOS_EEPROM_WritePage 00002E38
+MIOS_ENC_Abs7bitAdd 00002CD4
+MIOS_ENC_Abs7bitGet 00002CD8
+MIOS_ENC_Abs7bitSet 00002CDC
+MIOS_ENC_MODE_DETENTED 000000AA
+MIOS_ENC_MODE_DETENTED1 000000AA
+MIOS_ENC_MODE_DETENTED2 00000022
+MIOS_ENC_MODE_DETENTED3 00000088
+MIOS_ENC_MODE_DETENTED4 000000A5
+MIOS_ENC_MODE_DETENTED5 0000005A
+MIOS_ENC_MODE_NON_DETENTED 000000FF
+MIOS_ENC_NumberGet 00002CE0
+MIOS_ENC_PIN_TABLE 00003280
+MIOS_ENC_SPEED_FAST 00000002
+MIOS_ENC_SPEED_NORMAL 00000001
+MIOS_ENC_SPEED_SLOW 00000000
+MIOS_ENC_SpeedGet 00002CE4
+MIOS_ENC_SpeedSet 00002CE8
+MIOS_FLASH_Read 00002D68
+MIOS_FLASH_Write 00002D6C
+MIOS_GLCD_BUFFER 00000570
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 73
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+MIOS_GLCD_FONT 00007CFC
+MIOS_GLCD_FONT_HEIGHT 0000057E
+MIOS_GLCD_FONT_OFFSET 00000580
+MIOS_GLCD_FONT_PTRH 00000582
+MIOS_GLCD_FONT_PTRL 00000581
+MIOS_GLCD_FONT_PTRU 0000058E
+MIOS_GLCD_FONT_WIDTH 0000057D
+MIOS_GLCD_FONT_X0 0000057F
+MIOS_GLCD_FontInit 00002D54
+MIOS_GLCD_GCURSOR_X 0000057B
+MIOS_GLCD_GCURSOR_Y 0000057C
+MIOS_GLCD_GCursorGet 00002D58
+MIOS_GLCD_GCursorSet 00002D5C
+MIOS_GLCD_TMP1 00000585
+MIOS_GLCD_TMP2 00000586
+MIOS_GLCD_TMP3 00000587
+MIOS_GLCD_TMP4 00000588
+MIOS_GPCounterGet 00002DA0
+MIOS_HLP_16bitAddSaturate 00002DB8
+MIOS_HLP_AddressFromTable 00002D84
+MIOS_HLP_Dec2BCD 00002DE8
+MIOS_HLP_GetBitANDMask 00002D88
+MIOS_HLP_GetBitORMask 00002D8C
+MIOS_HLP_GetIndex_2bytes 00002D90
+MIOS_HLP_GetIndex_4bytes 00002D94
+MIOS_HLP_IndirectJump 00002D98
+MIOS_IIC_AckSend 00002E14
+MIOS_IIC_ByteReceive 00002E10
+MIOS_IIC_ByteSend 00002E0C
+MIOS_IIC_CtrlGet 00002E20
+MIOS_IIC_CtrlSet 00002E1C
+MIOS_IIC_NakSend 00002E18
+MIOS_IIC_Start 00002E04
+MIOS_IIC_Stop 00002E08
+MIOS_LCD_CURSOR_POS 0000057A
+MIOS_LCD_CURSOR_POS_REAL 0000058D
+MIOS_LCD_Clear 00002D04
+MIOS_LCD_Cmd 00002D08
+MIOS_LCD_CursorGet 00002D0C
+MIOS_LCD_CursorSet 00002D10
+MIOS_LCD_Data 00002D14
+MIOS_LCD_Init 00002D18
+MIOS_LCD_MessageStart 00002DF4
+MIOS_LCD_MessageStop 00002DF8
+MIOS_LCD_OPTION1 00000578
+MIOS_LCD_OPTION2 00000579
+MIOS_LCD_PrintBCD1 00002D1C
+MIOS_LCD_PrintBCD2 00002D20
+MIOS_LCD_PrintBCD3 00002D24
+MIOS_LCD_PrintBCD4 00002DEC
+MIOS_LCD_PrintBCD5 00002DF0
+MIOS_LCD_PrintChar 00002D28
+MIOS_LCD_PrintHex1 00002D2C
+MIOS_LCD_PrintHex2 00002D30
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 74
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+MIOS_LCD_PrintMessage 00002D34
+MIOS_LCD_PrintPreconfString 00002D38
+MIOS_LCD_PrintString 00002D3C
+MIOS_LCD_TIMEOUT0 00000583
+MIOS_LCD_TIMEOUT1 00000584
+MIOS_LCD_TYPE_CLCD 00000000
+MIOS_LCD_TYPE_GLCD0 00000001
+MIOS_LCD_TYPE_GLCD1 00000002
+MIOS_LCD_TYPE_GLCD2 00000003
+MIOS_LCD_TYPE_GLCD3 00000004
+MIOS_LCD_TYPE_GLCD4 00000005
+MIOS_LCD_TYPE_GLCD_CUSTOM 00000007
+MIOS_LCD_TYPE_MLCD 00000006
+MIOS_LCD_TypeAutoSet 00002D40
+MIOS_LCD_TypeGet 00002D44
+MIOS_LCD_TypeSet 00002D48
+MIOS_LCD_Y0_OFFSET 00000589
+MIOS_LCD_Y1_OFFSET 0000058A
+MIOS_LCD_Y2_OFFSET 0000058B
+MIOS_LCD_Y3_OFFSET 0000058C
+MIOS_LCD_YAddressGet 00002D4C
+MIOS_LCD_YAddressSet 00002D50
+MIOS_MF_DeadbandGet 00002C94
+MIOS_MF_DeadbandSet 00002C98
+MIOS_MF_Disable 00002C9C
+MIOS_MF_Enable 00002CA0
+MIOS_MF_FaderMove 00002CA4
+MIOS_MF_PWM_DutyCycleDownGet 00002C84
+MIOS_MF_PWM_DutyCycleDownSet 00002C88
+MIOS_MF_PWM_DutyCycleUpGet 00002C8C
+MIOS_MF_PWM_DutyCycleUpSet 00002C90
+MIOS_MF_PWM_PeriodGet 00002DFC
+MIOS_MF_PWM_PeriodSet 00002E00
+MIOS_MF_SuspendDisable 00002CA8
+MIOS_MF_SuspendEnable 00002CAC
+MIOS_MF_SuspendGet 00002CB0
+MIOS_MF_TouchDetectionReset 00002E2C
+MIOS_MIDI_BeginStream 00002C00
+MIOS_MIDI_DeviceIDAutoSet 00002C04
+MIOS_MIDI_DeviceIDGet 00002C08
+MIOS_MIDI_DeviceIDSet 00002C0C
+MIOS_MIDI_EndStream 00002C10
+MIOS_MIDI_INTERFACE_COMMON 00000000
+MIOS_MIDI_INTERFACE_TO_HOST 00000001
+MIOS_MIDI_Init 00002C14
+MIOS_MIDI_InterfaceAutoSet 00002C18
+MIOS_MIDI_InterfaceGet 00002C1C
+MIOS_MIDI_InterfaceSet 00002C20
+MIOS_MIDI_MERGER_DISABLED 00000000
+MIOS_MIDI_MERGER_ENABLED 00000001
+MIOS_MIDI_MERGER_MBLINK_EP 00000002
+MIOS_MIDI_MERGER_MBLINK_FP 00000003
+MIOS_MIDI_MergerGet 00002C24
+MIOS_MIDI_MergerSet 00002C28
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 75
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+MIOS_MIDI_RxBufferFree 00002C2C
+MIOS_MIDI_RxBufferGet 00002C30
+MIOS_MIDI_RxBufferPut 00002C34
+MIOS_MIDI_RxBufferUsed 00002C38
+MIOS_MIDI_TxBufferFlush 00002C3C
+MIOS_MIDI_TxBufferFree 00002C40
+MIOS_MIDI_TxBufferGet 00002C44
+MIOS_MIDI_TxBufferPut 00002C48
+MIOS_MIDI_TxBufferUsed 00002C4C
+MIOS_MPROC_EVENT_TABLE 00003080
+MIOS_MPROC_MergerDisable 00002C50
+MIOS_MPROC_MergerEnable 00002C54
+MIOS_MPROC_MergerGet 00002C58
+MIOS_PARAMETER1 00000003
+MIOS_PARAMETER2 00000004
+MIOS_PARAMETER3 00000005
+MIOS_RESERVED_144 00002E40
+MIOS_RESERVED_145 00002E44
+MIOS_RESERVED_146 00002E48
+MIOS_RESERVED_147 00002E4C
+MIOS_RESERVED_148 00002E50
+MIOS_RESERVED_149 00002E54
+MIOS_RESERVED_150 00002E58
+MIOS_RESERVED_151 00002E5C
+MIOS_RESERVED_152 00002E60
+MIOS_RESERVED_153 00002E64
+MIOS_RESERVED_154 00002E68
+MIOS_RESERVED_155 00002E6C
+MIOS_RESERVED_156 00002E70
+MIOS_RESERVED_157 00002E74
+MIOS_RESERVED_158 00002E78
+MIOS_RESERVED_159 00002E7C
+MIOS_RESERVED_160 00002E80
+MIOS_RESERVED_161 00002E84
+MIOS_RESERVED_162 00002E88
+MIOS_RESERVED_163 00002E8C
+MIOS_RESERVED_164 00002E90
+MIOS_RESERVED_165 00002E94
+MIOS_RESERVED_166 00002E98
+MIOS_RESERVED_167 00002E9C
+MIOS_RESERVED_168 00002EA0
+MIOS_RESERVED_169 00002EA4
+MIOS_RESERVED_170 00002EA8
+MIOS_RESERVED_171 00002EAC
+MIOS_RESERVED_172 00002EB0
+MIOS_RESERVED_173 00002EB4
+MIOS_RESERVED_174 00002EB8
+MIOS_RESERVED_175 00002EBC
+MIOS_RESERVED_176 00002EC0
+MIOS_RESERVED_177 00002EC4
+MIOS_RESERVED_178 00002EC8
+MIOS_RESERVED_179 00002ECC
+MIOS_RESERVED_180 00002ED0
+MIOS_RESERVED_181 00002ED4
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 76
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+MIOS_RESERVED_182 00002ED8
+MIOS_RESERVED_183 00002EDC
+MIOS_RESERVED_184 00002EE0
+MIOS_RESERVED_185 00002EE4
+MIOS_RESERVED_186 00002EE8
+MIOS_RESERVED_187 00002EEC
+MIOS_RESERVED_188 00002EF0
+MIOS_RESERVED_189 00002EF4
+MIOS_RESERVED_190 00002EF8
+MIOS_RESERVED_191 00002EFC
+MIOS_RESERVED_192 00002F00
+MIOS_RESERVED_193 00002F04
+MIOS_RESERVED_194 00002F08
+MIOS_RESERVED_195 00002F0C
+MIOS_RESERVED_196 00002F10
+MIOS_RESERVED_197 00002F14
+MIOS_RESERVED_198 00002F18
+MIOS_RESERVED_199 00002F1C
+MIOS_RESERVED_200 00002F20
+MIOS_RESERVED_201 00002F24
+MIOS_RESERVED_202 00002F28
+MIOS_RESERVED_203 00002F2C
+MIOS_RESERVED_204 00002F30
+MIOS_RESERVED_205 00002F34
+MIOS_RESERVED_206 00002F38
+MIOS_RESERVED_207 00002F3C
+MIOS_RESERVED_208 00002F40
+MIOS_RESERVED_209 00002F44
+MIOS_RESERVED_210 00002F48
+MIOS_RESERVED_211 00002F4C
+MIOS_RESERVED_212 00002F50
+MIOS_RESERVED_213 00002F54
+MIOS_RESERVED_214 00002F58
+MIOS_RESERVED_215 00002F5C
+MIOS_RESERVED_216 00002F60
+MIOS_RESERVED_217 00002F64
+MIOS_RESERVED_218 00002F68
+MIOS_RESERVED_219 00002F6C
+MIOS_RESERVED_220 00002F70
+MIOS_RESERVED_221 00002F74
+MIOS_RESERVED_222 00002F78
+MIOS_RESERVED_223 00002F7C
+MIOS_RESERVED_224 00002F80
+MIOS_RESERVED_225 00002F84
+MIOS_RESERVED_226 00002F88
+MIOS_RESERVED_227 00002F8C
+MIOS_RESERVED_228 00002F90
+MIOS_RESERVED_229 00002F94
+MIOS_RESERVED_230 00002F98
+MIOS_RESERVED_231 00002F9C
+MIOS_RESERVED_232 00002FA0
+MIOS_RESERVED_233 00002FA4
+MIOS_RESERVED_234 00002FA8
+MIOS_RESERVED_235 00002FAC
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 77
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+MIOS_RESERVED_236 00002FB0
+MIOS_RESERVED_237 00002FB4
+MIOS_RESERVED_238 00002FB8
+MIOS_RESERVED_239 00002FBC
+MIOS_RESERVED_240 00002FC0
+MIOS_RESERVED_241 00002FC4
+MIOS_RESERVED_242 00002FC8
+MIOS_RESERVED_243 00002FCC
+MIOS_RESERVED_244 00002FD0
+MIOS_RESERVED_245 00002FD4
+MIOS_RESERVED_246 00002FD8
+MIOS_RESERVED_247 00002FDC
+MIOS_RESERVED_248 00002FE0
+MIOS_RESERVED_249 00002FE4
+MIOS_RESERVED_250 00002FE8
+MIOS_RESERVED_251 00002FEC
+MIOS_RESERVED_252 00002FF0
+MIOS_RESERVED_253 00002FF4
+MIOS_RESERVED_254 00002FF8
+MIOS_RESERVED_255 00002FFC
+MIOS_Reset 00002DA4
+MIOS_SRIO_DebounceGet 00002E28
+MIOS_SRIO_DebounceSet 00002E24
+MIOS_SRIO_NumberGet 00002CEC
+MIOS_SRIO_NumberSet 00002CF0
+MIOS_SRIO_TS_SensitivityGet 00002CF4
+MIOS_SRIO_TS_SensitivitySet 00002CF8
+MIOS_SRIO_UpdateFrqGet 00002CFC
+MIOS_SRIO_UpdateFrqSet 00002D00
+MIOS_SystemResume 00002DA8
+MIOS_SystemSuspend 00002DAC
+MIOS_TIMER_Init 00002D78
+MIOS_TIMER_ReInit 00002E3C
+MIOS_TIMER_Start 00002D7C
+MIOS_TIMER_Stop 00002D80
+MIOS_UserResume 00002DB0
+MIOS_UserSuspend 00002DB4
+MSEL0 00000DF0
+MSEL1 00000DF1
+MSEL2 00000DF2
+MSEL3 00000DF3
+N 00000004
+NOT_A 00000005
+NOT_ADDRESS 00000005
+NOT_BOR 00000000
+NOT_CS 00000002
+NOT_DONE 00000001
+NOT_PD 00000002
+NOT_POR 00000001
+NOT_RBPU 00000007
+NOT_RD 00000000
+NOT_RI 00000004
+NOT_SS 00000005
+NOT_T1SYNC 00000002
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 78
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+NOT_T3SYNC 00000002
+NOT_TO 00000003
+NOT_W 00000002
+NOT_WR 00000001
+NOT_WRITE 00000002
+OBF 00000006
+OERR 00000001
+OPMODE 00000005
+OPMODE0 00000005
+OPMODE1 00000006
+OPMODE2 00000007
+OSC1 00000007
+OSC2 00000006
+OSCCON 00000FD3
+OSCFIE 00000007
+OSCFIF 00000007
+OSCFIP 00000007
+OSCTUNE 00000F9B
+OSTS 00000003
+OV 00000003
+P 00000004
+P1A 00000004
+P1B 00000005
+P1C 00000006
+P1D 00000007
+PC 00000FF9
+PCFG0 00000000
+PCFG1 00000001
+PCFG2 00000002
+PCFG3 00000003
+PCL 00000FF9
+PCLATH 00000FFA
+PCLATU 00000FFB
+PD 00000002
+PDC0 00000000
+PDC1 00000001
+PDC2 00000002
+PDC3 00000003
+PDC4 00000004
+PDC5 00000005
+PDC6 00000006
+PEIE 00000006
+PEN 00000002
+PGC 00000006
+PGD 00000007
+PGM 00000005
+PIE1 00000F9D
+PIE2 00000FA0
+PIE3 00000FA3
+PIR1 00000F9E
+PIR2 00000FA1
+PIR3 00000FA4
+PLLEN 00000006
+PLUSW0 00000FEB
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 79
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+PLUSW1 00000FE3
+PLUSW2 00000FDB
+POR 00000001
+PORTA 00000F80
+PORTB 00000F81
+PORTC 00000F82
+PORTD 00000F83
+PORTE 00000F84
+POSTDEC0 00000FED
+POSTDEC1 00000FE5
+POSTDEC2 00000FDD
+POSTINC0 00000FEE
+POSTINC1 00000FE6
+POSTINC2 00000FDE
+PR2 00000FCB
+PREINC0 00000FEC
+PREINC1 00000FE4
+PREINC2 00000FDC
+PROD 00000FF3
+PRODH 00000FF4
+PRODL 00000FF3
+PRSEG0 00000000
+PRSEG1 00000001
+PRSEG2 00000002
+PRSEN 00000007
+PSA 00000003
+PSP0 00000000
+PSP1 00000001
+PSP2 00000002
+PSP3 00000003
+PSP4 00000004
+PSP5 00000005
+PSP6 00000006
+PSP7 00000007
+PSPIE 00000007
+PSPIF 00000007
+PSPIP 00000007
+PSPMODE 00000004
+PSSAC0 00000002
+PSSAC1 00000003
+PSSBD0 00000000
+PSSBD1 00000001
+R 00000002
+RA0 00000000
+RA1 00000001
+RA2 00000002
+RA3 00000003
+RA4 00000004
+RA5 00000005
+RA6 00000006
+RA7 00000007
+RB0_B0DLC 00000004
+RB0_B1DLC 00000004
+RB0_B2DLC 00000004
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 80
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+RB0_B3DLC 00000004
+RB0_B4DLC 00000004
+RB0_B5DLC 00000004
+RB0_DDRB 00000000
+RB0_PORTB 00000000
+RB0_RXB0DLC 00000004
+RB0_RXB1DLC 00000004
+RB1_B0DLC 00000005
+RB1_B1DLC 00000005
+RB1_B2DLC 00000005
+RB1_B3DLC 00000005
+RB1_B4DLC 00000005
+RB1_B5DLC 00000005
+RB1_DDRB 00000001
+RB1_PORTB 00000001
+RB1_RXB0DLC 00000005
+RB1_RXB1DLC 00000005
+RB2 00000002
+RB3 00000003
+RB4 00000004
+RB5 00000005
+RB6 00000006
+RB7 00000007
+RBIE 00000003
+RBIF 00000000
+RBIP 00000000
+RBPU 00000007
+RC0 00000000
+RC1 00000001
+RC2 00000002
+RC3 00000003
+RC4 00000004
+RC5 00000005
+RC6 00000006
+RC7 00000007
+RCEN 00000003
+RCIDL 00000006
+RCIE 00000005
+RCIF 00000005
+RCIP 00000005
+RCON 00000FD0
+RCREG 00000FAE
+RCSTA 00000FAB
+RD 00000000
+RD0 00000000
+RD1 00000001
+RD16 00000007
+RD2 00000002
+RD3 00000003
+RD4 00000004
+RD5 00000005
+RD6 00000006
+RD7 00000007
+RE0 00000000
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 81
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+RE1 00000001
+RE2 00000002
+RE3 00000003
+READ_WRITE 00000002
+REC0 00000000
+REC1 00000001
+REC2 00000002
+REC3 00000003
+REC4 00000004
+REC5 00000005
+REC6 00000006
+REC7 00000007
+REQOP0 00000005
+REQOP1 00000006
+REQOP2 00000007
+RESRB0 00000004
+RESRB1 00000005
+RI 00000004
+RSEN 00000001
+RTREN 00000002
+RTRRO 00000005
+RX 00000007
+RX9 00000006
+RX9D 00000000
+RXB0CON 00000F60
+RXB0D0 00000F66
+RXB0D00 00000000
+RXB0D01 00000001
+RXB0D02 00000002
+RXB0D03 00000003
+RXB0D04 00000004
+RXB0D05 00000005
+RXB0D06 00000006
+RXB0D07 00000007
+RXB0D1 00000F67
+RXB0D10 00000000
+RXB0D11 00000001
+RXB0D12 00000002
+RXB0D13 00000003
+RXB0D14 00000004
+RXB0D15 00000005
+RXB0D16 00000006
+RXB0D17 00000007
+RXB0D2 00000F68
+RXB0D20 00000000
+RXB0D21 00000001
+RXB0D22 00000002
+RXB0D23 00000003
+RXB0D24 00000004
+RXB0D25 00000005
+RXB0D26 00000006
+RXB0D27 00000007
+RXB0D3 00000F69
+RXB0D30 00000000
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 82
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+RXB0D31 00000001
+RXB0D32 00000002
+RXB0D33 00000003
+RXB0D34 00000004
+RXB0D35 00000005
+RXB0D36 00000006
+RXB0D37 00000007
+RXB0D4 00000F6A
+RXB0D40 00000000
+RXB0D41 00000001
+RXB0D42 00000002
+RXB0D43 00000003
+RXB0D44 00000004
+RXB0D45 00000005
+RXB0D46 00000006
+RXB0D47 00000007
+RXB0D5 00000F6B
+RXB0D50 00000000
+RXB0D51 00000001
+RXB0D52 00000002
+RXB0D53 00000003
+RXB0D54 00000004
+RXB0D55 00000005
+RXB0D56 00000006
+RXB0D57 00000007
+RXB0D6 00000F6C
+RXB0D60 00000000
+RXB0D61 00000001
+RXB0D62 00000002
+RXB0D63 00000003
+RXB0D64 00000004
+RXB0D65 00000005
+RXB0D66 00000006
+RXB0D67 00000007
+RXB0D7 00000F6D
+RXB0D70 00000000
+RXB0D71 00000001
+RXB0D72 00000002
+RXB0D73 00000003
+RXB0D74 00000004
+RXB0D75 00000005
+RXB0D76 00000006
+RXB0D77 00000007
+RXB0DBEN 00000002
+RXB0DLC 00000F65
+RXB0EIDH 00000F63
+RXB0EIDL 00000F64
+RXB0IE 00000000
+RXB0IF 00000000
+RXB0IP 00000000
+RXB0OVFL 00000007
+RXB0SIDH 00000F61
+RXB0SIDL 00000F62
+RXB1CON 00000F50
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 83
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+RXB1D0 00000F56
+RXB1D00 00000000
+RXB1D01 00000001
+RXB1D02 00000002
+RXB1D03 00000003
+RXB1D04 00000004
+RXB1D05 00000005
+RXB1D06 00000006
+RXB1D07 00000007
+RXB1D1 00000F57
+RXB1D10 00000000
+RXB1D11 00000001
+RXB1D12 00000002
+RXB1D13 00000003
+RXB1D14 00000004
+RXB1D15 00000005
+RXB1D16 00000006
+RXB1D17 00000007
+RXB1D2 00000F58
+RXB1D20 00000000
+RXB1D21 00000001
+RXB1D22 00000002
+RXB1D23 00000003
+RXB1D24 00000004
+RXB1D25 00000005
+RXB1D26 00000006
+RXB1D27 00000007
+RXB1D3 00000F59
+RXB1D30 00000000
+RXB1D31 00000001
+RXB1D32 00000002
+RXB1D33 00000003
+RXB1D34 00000004
+RXB1D35 00000005
+RXB1D36 00000006
+RXB1D37 00000007
+RXB1D4 00000F5A
+RXB1D40 00000000
+RXB1D41 00000001
+RXB1D42 00000002
+RXB1D43 00000003
+RXB1D44 00000004
+RXB1D45 00000005
+RXB1D46 00000006
+RXB1D47 00000007
+RXB1D5 00000F5B
+RXB1D50 00000000
+RXB1D51 00000001
+RXB1D52 00000002
+RXB1D53 00000003
+RXB1D54 00000004
+RXB1D55 00000005
+RXB1D56 00000006
+RXB1D57 00000007
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 84
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+RXB1D6 00000F5C
+RXB1D60 00000000
+RXB1D61 00000001
+RXB1D62 00000002
+RXB1D63 00000003
+RXB1D64 00000004
+RXB1D65 00000005
+RXB1D66 00000006
+RXB1D67 00000007
+RXB1D7 00000F5D
+RXB1D70 00000000
+RXB1D71 00000001
+RXB1D72 00000002
+RXB1D73 00000003
+RXB1D74 00000004
+RXB1D75 00000005
+RXB1D76 00000006
+RXB1D77 00000007
+RXB1DLC 00000F55
+RXB1EIDH 00000F53
+RXB1EIDL 00000F54
+RXB1IE 00000001
+RXB1IF 00000001
+RXB1IP 00000001
+RXB1OVFL 00000006
+RXB1SIDH 00000F51
+RXB1SIDL 00000F52
+RXBODBEN 00000002
+RXBP 00000003
+RXBnIE 00000001
+RXBnIF 00000001
+RXBnIP 00000001
+RXBnOVFL 00000006
+RXERRCNT 00000F75
+RXF0EIDH 00000F02
+RXF0EIDL 00000F03
+RXF0EN 00000000
+RXF0SIDH 00000F00
+RXF0SIDL 00000F01
+RXF10EIDH 00000D76
+RXF10EIDL 00000D77
+RXF10EN 00000002
+RXF10SIDH 00000D74
+RXF10SIDL 00000D75
+RXF11EIDH 00000D7A
+RXF11EIDL 00000D7B
+RXF11EN 00000003
+RXF11SIDH 00000D78
+RXF11SIDL 00000D79
+RXF12EIDH 00000D82
+RXF12EIDL 00000D83
+RXF12EN 00000004
+RXF12SIDH 00000D80
+RXF12SIDL 00000D81
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 85
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+RXF13EIDH 00000D86
+RXF13EIDL 00000D87
+RXF13EN 00000005
+RXF13SIDH 00000D84
+RXF13SIDL 00000D85
+RXF14EIDH 00000D8A
+RXF14EIDL 00000D8B
+RXF14EN 00000006
+RXF14SIDH 00000D88
+RXF14SIDL 00000D89
+RXF15EIDH 00000D92
+RXF15EIDL 00000D93
+RXF15EN 00000007
+RXF15SIDH 00000D90
+RXF15SIDL 00000D91
+RXF1EIDH 00000F06
+RXF1EIDL 00000F07
+RXF1EN 00000001
+RXF1SIDH 00000F04
+RXF1SIDL 00000F05
+RXF2EIDH 00000F0A
+RXF2EIDL 00000F0B
+RXF2EN 00000002
+RXF2SIDH 00000F08
+RXF2SIDL 00000F09
+RXF3EIDH 00000F0E
+RXF3EIDL 00000F0F
+RXF3EN 00000003
+RXF3SIDH 00000F0C
+RXF3SIDL 00000F0D
+RXF4EIDH 00000F12
+RXF4EIDL 00000F13
+RXF4EN 00000004
+RXF4SIDH 00000F10
+RXF4SIDL 00000F11
+RXF5EIDH 00000F16
+RXF5EIDL 00000F17
+RXF5EN 00000005
+RXF5SIDH 00000F14
+RXF5SIDL 00000F15
+RXF6EIDH 00000D62
+RXF6EIDL 00000D63
+RXF6EN 00000006
+RXF6SIDH 00000D60
+RXF6SIDL 00000D61
+RXF7EIDH 00000D66
+RXF7EIDL 00000D67
+RXF7EN 00000007
+RXF7SIDH 00000D64
+RXF7SIDL 00000D65
+RXF8EIDH 00000D6A
+RXF8EIDL 00000D6B
+RXF8EN 00000000
+RXF8SIDH 00000D68
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 86
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+RXF8SIDL 00000D69
+RXF9EIDH 00000D72
+RXF9EIDL 00000D73
+RXF9EN 00000001
+RXF9SIDH 00000D70
+RXF9SIDL 00000D71
+RXFBCON0 00000DE0
+RXFBCON1 00000DE1
+RXFBCON2 00000DE2
+RXFBCON3 00000DE3
+RXFBCON4 00000DE4
+RXFBCON5 00000DE5
+RXFBCON6 00000DE6
+RXFBCON7 00000DE7
+RXFCON0 00000DD4
+RXFCON1 00000DD5
+RXFUL 00000007
+RXM0 00000005
+RXM0EIDH 00000F1A
+RXM0EIDL 00000F1B
+RXM0SIDH 00000F18
+RXM0SIDL 00000F19
+RXM1 00000006
+RXM1EIDH 00000F1E
+RXM1EIDL 00000F1F
+RXM1SIDH 00000F1C
+RXM1SIDL 00000F1D
+RXRTR 00000006
+RXRTRRO_B0CON 00000005
+RXRTRRO_B1CON 00000005
+RXRTRRO_B2CON 00000005
+RXRTRRO_B3CON 00000005
+RXRTRRO_B4CON 00000005
+RXRTRRO_B5CON 00000005
+RXRTRRO_RXB0CON 00000003
+RXRTRRO_RXB1CON 00000003
+RXWARN 00000001
+R_W 00000002
+S 00000003
+SAM 00000006
+SBOREN 00000006
+SCK 00000003
+SCKP 00000004
+SCL 00000003
+SCS0 00000000
+SCS1 00000001
+SDA 00000004
+SDFLC 00000DD8
+SDI 00000004
+SDO 00000005
+SEG1PH0 00000003
+SEG1PH1 00000004
+SEG1PH2 00000005
+SEG2PH0 00000000
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 87
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+SEG2PH1 00000001
+SEG2PH2 00000002
+SEG2PHT 00000007
+SEG2PHTS 00000007
+SEN 00000000
+SENDB 00000003
+SID0 00000005
+SID1 00000006
+SID10 00000007
+SID2 00000007
+SID3 00000000
+SID4 00000001
+SID5 00000002
+SID6 00000003
+SID7 00000004
+SID8 00000005
+SID9 00000006
+SJW0 00000006
+SJW1 00000007
+SMP 00000007
+SP0 00000000
+SP1 00000001
+SP2 00000002
+SP3 00000003
+SP4 00000004
+SPBRG 00000FAF
+SPBRGH 00000FB0
+SPEN 00000007
+SREN 00000005
+SRR 00000004
+SS 00000005
+SSPADD 00000FC8
+SSPBUF 00000FC9
+SSPCON1 00000FC6
+SSPCON2 00000FC5
+SSPEN 00000005
+SSPIE 00000003
+SSPIF 00000003
+SSPIP 00000003
+SSPM0 00000000
+SSPM1 00000001
+SSPM2 00000002
+SSPM3 00000003
+SSPOV 00000006
+SSPSTAT 00000FC7
+STATUS 00000FD8
+STKFUL 00000007
+STKOVF 00000007
+STKPTR 00000FFC
+STKPTR0 00000000
+STKPTR1 00000001
+STKPTR2 00000002
+STKPTR3 00000003
+STKPTR4 00000004
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 88
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+STKUNF 00000006
+SWDTE 00000000
+SWDTEN 00000000
+SYNC 00000004
+T08BIT 00000006
+T0CKI 00000004
+T0CON 00000FD5
+T0CS 00000005
+T0IE 00000005
+T0IF 00000002
+T0IP 00000002
+T0PS0 00000000
+T0PS1 00000001
+T0PS2 00000002
+T0PS3 00000003
+T0SE 00000004
+T13CKI 00000000
+T1CKPS0 00000004
+T1CKPS1 00000005
+T1CON 00000FCD
+T1INSYNC 00000002
+T1OSCEN 00000003
+T1OSI 00000001
+T1OSO 00000000
+T1RUN 00000006
+T1SYNC 00000002
+T2CKPS0 00000000
+T2CKPS1 00000001
+T2CON 00000FCA
+T2OUTPS0 00000003
+T2OUTPS1 00000004
+T2OUTPS2 00000005
+T2OUTPS3 00000006
+T3CCP1 00000003
+T3CCP2 00000006
+T3CKPS0 00000004
+T3CKPS1 00000005
+T3CON 00000FB1
+T3ECCP1 00000006
+T3NSYNC 00000002
+T3SYNC 00000002
+TABLAT 00000FF5
+TBLPTR 00000FF6
+TBLPTRH 00000FF7
+TBLPTRL 00000FF6
+TBLPTRU 00000FF8
+TEC0 00000000
+TEC1 00000001
+TEC2 00000002
+TEC3 00000003
+TEC4 00000004
+TEC5 00000005
+TEC6 00000006
+TEC7 00000007
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 89
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TEXT_WELCOME_0 00003578
+TEXT_WELCOME_1 0000358A
+TIA_PIN_NAMES_LEN 00000004
+TIA_PIN_NAMES_NUM 0000000A
+TIA_PIN_NAMES_TABLE 000036B8
+TIA_PIN_NUMBER 00000011
+TIA_SR_Init 000033F4
+TIA_SR_LAT_OUT 00000F8C
+TIA_SR_LAT_RCLK 00000F8B
+TIA_SR_LAT_SCLK 00000F8C
+TIA_SR_LAT_WR 00000F8B
+TIA_SR_PIN_OUT 00000006
+TIA_SR_PIN_RCLK 00000004
+TIA_SR_PIN_SCLK 00000005
+TIA_SR_PIN_WR 00000005
+TIA_SR_Write 000033FC
+TIA_SetPin 00003738
+TIA_SetPin0 0000376C
+TIA_SetPin1 00003774
+TIA_SetPin2 0000377C
+TIA_SetPin3 00003784
+TIA_SetPin4 0000378C
+TIA_SetPin5 00003794
+TIA_SetPin6 0000379C
+TIA_SetPin7 000037A4
+TIA_SetPin8 000037AC
+TIA_SetPin9 000037B4
+TIA_SetPinNone 000037B8
+TMP1 00000006
+TMP2 00000007
+TMP3 00000008
+TMP4 00000009
+TMP5 0000000A
+TMR0H 00000FD7
+TMR0IE 00000005
+TMR0IF 00000002
+TMR0IP 00000002
+TMR0L 00000FD6
+TMR0ON 00000007
+TMR1CS 00000001
+TMR1H 00000FCF
+TMR1IE 00000000
+TMR1IF 00000000
+TMR1IP 00000000
+TMR1L 00000FCE
+TMR1ON 00000000
+TMR2 00000FCC
+TMR2IE 00000001
+TMR2IF 00000001
+TMR2IP 00000001
+TMR2ON 00000002
+TMR3CS 00000001
+TMR3H 00000FB3
+TMR3IE 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 90
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TMR3IF 00000001
+TMR3IP 00000001
+TMR3L 00000FB2
+TMR3ON 00000000
+TO 00000003
+TOS 00000FFD
+TOSH 00000FFE
+TOSL 00000FFD
+TOSU 00000FFF
+TRISA 00000F92
+TRISA0 00000000
+TRISA1 00000001
+TRISA2 00000002
+TRISA3 00000003
+TRISA4 00000004
+TRISA5 00000005
+TRISA6 00000006
+TRISA7 00000007
+TRISB 00000F93
+TRISB0 00000000
+TRISB1 00000001
+TRISB2 00000002
+TRISB3 00000003
+TRISB4 00000004
+TRISB5 00000005
+TRISB6 00000006
+TRISB7 00000007
+TRISC 00000F94
+TRISC0 00000000
+TRISC1 00000001
+TRISC2 00000002
+TRISC3 00000003
+TRISC4 00000004
+TRISC5 00000005
+TRISC6 00000006
+TRISC7 00000007
+TRISD 00000F95
+TRISD0 00000000
+TRISD1 00000001
+TRISD2 00000002
+TRISD3 00000003
+TRISD4 00000004
+TRISD5 00000005
+TRISD6 00000006
+TRISD7 00000007
+TRISE 00000F96
+TRISE0 00000000
+TRISE1 00000001
+TRISE2 00000002
+TRMT 00000001
+TUN0 00000000
+TUN1 00000001
+TUN2 00000002
+TUN3 00000003
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 91
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TUN4 00000004
+TX 00000006
+TX9 00000006
+TX9D 00000000
+TXABT 00000006
+TXB0CON 00000F40
+TXB0D0 00000F46
+TXB0D00 00000000
+TXB0D01 00000001
+TXB0D02 00000002
+TXB0D03 00000003
+TXB0D04 00000004
+TXB0D05 00000005
+TXB0D06 00000006
+TXB0D07 00000007
+TXB0D1 00000F47
+TXB0D10 00000000
+TXB0D11 00000001
+TXB0D12 00000002
+TXB0D13 00000003
+TXB0D14 00000004
+TXB0D15 00000005
+TXB0D16 00000006
+TXB0D17 00000007
+TXB0D2 00000F48
+TXB0D20 00000000
+TXB0D21 00000001
+TXB0D22 00000002
+TXB0D23 00000003
+TXB0D24 00000004
+TXB0D25 00000005
+TXB0D26 00000006
+TXB0D27 00000007
+TXB0D3 00000F49
+TXB0D30 00000000
+TXB0D31 00000001
+TXB0D32 00000002
+TXB0D33 00000003
+TXB0D34 00000004
+TXB0D35 00000005
+TXB0D36 00000006
+TXB0D37 00000007
+TXB0D4 00000F4A
+TXB0D40 00000000
+TXB0D41 00000001
+TXB0D42 00000002
+TXB0D43 00000003
+TXB0D44 00000004
+TXB0D45 00000005
+TXB0D46 00000006
+TXB0D47 00000007
+TXB0D5 00000F4B
+TXB0D50 00000000
+TXB0D51 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 92
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TXB0D52 00000002
+TXB0D53 00000003
+TXB0D54 00000004
+TXB0D55 00000005
+TXB0D56 00000006
+TXB0D57 00000007
+TXB0D6 00000F4C
+TXB0D60 00000000
+TXB0D61 00000001
+TXB0D62 00000002
+TXB0D63 00000003
+TXB0D64 00000004
+TXB0D65 00000005
+TXB0D66 00000006
+TXB0D67 00000007
+TXB0D7 00000F4D
+TXB0D70 00000000
+TXB0D71 00000001
+TXB0D72 00000002
+TXB0D73 00000003
+TXB0D74 00000004
+TXB0D75 00000005
+TXB0D76 00000006
+TXB0D77 00000007
+TXB0DLC 00000F45
+TXB0EIDH 00000F43
+TXB0EIDL 00000F44
+TXB0IE 00000002
+TXB0IF 00000002
+TXB0IP 00000002
+TXB0SIDH 00000F41
+TXB0SIDL 00000F42
+TXB1CON 00000F30
+TXB1D0 00000F36
+TXB1D00 00000000
+TXB1D01 00000001
+TXB1D02 00000002
+TXB1D03 00000003
+TXB1D04 00000004
+TXB1D05 00000005
+TXB1D06 00000006
+TXB1D07 00000007
+TXB1D1 00000F37
+TXB1D10 00000000
+TXB1D11 00000001
+TXB1D12 00000002
+TXB1D13 00000003
+TXB1D14 00000004
+TXB1D15 00000005
+TXB1D16 00000006
+TXB1D17 00000007
+TXB1D2 00000F38
+TXB1D20 00000000
+TXB1D21 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 93
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TXB1D22 00000002
+TXB1D23 00000003
+TXB1D24 00000004
+TXB1D25 00000005
+TXB1D26 00000006
+TXB1D27 00000007
+TXB1D3 00000F39
+TXB1D30 00000000
+TXB1D31 00000001
+TXB1D32 00000002
+TXB1D33 00000003
+TXB1D34 00000004
+TXB1D35 00000005
+TXB1D36 00000006
+TXB1D37 00000007
+TXB1D4 00000F3A
+TXB1D40 00000000
+TXB1D41 00000001
+TXB1D42 00000002
+TXB1D43 00000003
+TXB1D44 00000004
+TXB1D45 00000005
+TXB1D46 00000006
+TXB1D47 00000007
+TXB1D5 00000F3B
+TXB1D50 00000000
+TXB1D51 00000001
+TXB1D52 00000002
+TXB1D53 00000003
+TXB1D54 00000004
+TXB1D55 00000005
+TXB1D56 00000006
+TXB1D57 00000007
+TXB1D6 00000F3C
+TXB1D60 00000000
+TXB1D61 00000001
+TXB1D62 00000002
+TXB1D63 00000003
+TXB1D64 00000004
+TXB1D65 00000005
+TXB1D66 00000006
+TXB1D67 00000007
+TXB1D7 00000F3D
+TXB1D70 00000000
+TXB1D71 00000001
+TXB1D72 00000002
+TXB1D73 00000003
+TXB1D74 00000004
+TXB1D75 00000005
+TXB1D76 00000006
+TXB1D77 00000007
+TXB1DLC 00000F35
+TXB1EIDH 00000F33
+TXB1EIDL 00000F34
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 94
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TXB1IE 00000003
+TXB1IF 00000003
+TXB1IP 00000003
+TXB1SIDH 00000F31
+TXB1SIDL 00000F32
+TXB2CON 00000F20
+TXB2D0 00000F26
+TXB2D00 00000000
+TXB2D01 00000001
+TXB2D02 00000002
+TXB2D03 00000003
+TXB2D04 00000004
+TXB2D05 00000005
+TXB2D06 00000006
+TXB2D07 00000007
+TXB2D1 00000F27
+TXB2D10 00000000
+TXB2D11 00000001
+TXB2D12 00000002
+TXB2D13 00000003
+TXB2D14 00000004
+TXB2D15 00000005
+TXB2D16 00000006
+TXB2D17 00000007
+TXB2D2 00000F28
+TXB2D20 00000000
+TXB2D21 00000001
+TXB2D22 00000002
+TXB2D23 00000003
+TXB2D24 00000004
+TXB2D25 00000005
+TXB2D26 00000006
+TXB2D27 00000007
+TXB2D3 00000F29
+TXB2D30 00000000
+TXB2D31 00000001
+TXB2D32 00000002
+TXB2D33 00000003
+TXB2D34 00000004
+TXB2D35 00000005
+TXB2D36 00000006
+TXB2D37 00000007
+TXB2D4 00000F2A
+TXB2D40 00000000
+TXB2D41 00000001
+TXB2D42 00000002
+TXB2D43 00000003
+TXB2D44 00000004
+TXB2D45 00000005
+TXB2D46 00000006
+TXB2D47 00000007
+TXB2D5 00000F2B
+TXB2D50 00000000
+TXB2D51 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 95
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TXB2D52 00000002
+TXB2D53 00000003
+TXB2D54 00000004
+TXB2D55 00000005
+TXB2D56 00000006
+TXB2D57 00000007
+TXB2D6 00000F2C
+TXB2D60 00000000
+TXB2D61 00000001
+TXB2D62 00000002
+TXB2D63 00000003
+TXB2D64 00000004
+TXB2D65 00000005
+TXB2D66 00000006
+TXB2D67 00000007
+TXB2D7 00000F2D
+TXB2D70 00000000
+TXB2D71 00000001
+TXB2D72 00000002
+TXB2D73 00000003
+TXB2D74 00000004
+TXB2D75 00000005
+TXB2D76 00000006
+TXB2D77 00000007
+TXB2DLC 00000F25
+TXB2EIDH 00000F23
+TXB2EIDL 00000F24
+TXB2IE 00000004
+TXB2IF 00000004
+TXB2IP 00000004
+TXB2SIDH 00000F21
+TXB2SIDL 00000F22
+TXBIE 00000DFC
+TXBIF 00000007
+TXBIFBXB2CON 00000007
+TXBIFTXB1CON 00000007
+TXBIP 00000004
+TXBO 00000005
+TXBP 00000004
+TXBnIE 00000004
+TXBnIF 00000004
+TXBnIP 00000004
+TXEN 00000005
+TXERR 00000004
+TXERRCNT 00000F76
+TXIE 00000004
+TXIF 00000004
+TXIP 00000004
+TXLARB 00000005
+TXPRI0 00000000
+TXPRI1 00000001
+TXREG 00000FAD
+TXREQ 00000003
+TXRTR 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 96
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+TXSTA 00000FAC
+TXWARN 00000002
+UA 00000001
+USER_AIN_NotifyChange 00003736
+USER_DIN_NotifyToggle 0000372E
+USER_DISPLAY_Init 000034C8
+USER_DISPLAY_Tick 00003590
+USER_DISPLAY_Tick_Normal 00003618
+USER_DISPLAY_Tick_W 000035C4
+USER_ENC_NotifyChange 00003730
+USER_Init 000034B6
+USER_LCD_Clear 00003302
+USER_LCD_Cmd 0000330A
+USER_LCD_CursorSet 00003304
+USER_LCD_Data 00003308
+USER_LCD_Init 00003300
+USER_LCD_PrintChar 00003306
+USER_LCD_SpecialCharInit 0000330C
+USER_MIDI_NotifyRx 0000372C
+USER_MIDI_NotifyTx 0000372A
+USER_MPROC_DebugTrigger 000034C6
+USER_MPROC_NotifyFoundEvent 00003724
+USER_MPROC_NotifyReceivedByte 00003728
+USER_MPROC_NotifyReceivedEvent 000036DE
+USER_MPROC_NotifyTimeout 00003726
+USER_NotifyReceivedEvent_ChkNote 000036FE
+USER_NotifyReceivedEvent_End 00003722
+USER_NotifyReceivedEvent_NoteNor 0000370C
+USER_RESERVED_25 00003060
+USER_RESERVED_26 00003064
+USER_RESERVED_27 00003068
+USER_RESERVED_28 0000306C
+USER_RESERVED_29 00003070
+USER_RESERVED_30 00003074
+USER_RESERVED_31 00003078
+USER_RESERVED_32 0000307C
+USER_SR_Service_Finish 00003734
+USER_SR_Service_Prepare 00003732
+USER_Tick 000034C2
+USER_Timer 000034C4
+VCFG0 00000004
+VCFG1 00000005
+VDIRMAG 00000007
+VREFM 00000002
+VREFP 00000003
+W 00000000
+WAKDIS 00000007
+WAKFIL 00000006
+WAKIE 00000006
+WAKIF 00000006
+WAKIP 00000006
+WCOL 00000007
+WDTCON 00000FD1
+WIN0 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 97
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+WIN1 00000002
+WIN2 00000003
+WR 00000001
+WREG 00000FE8
+WREN 00000002
+WRERR 00000003
+WUE 00000001
+Z 00000002
+_BBSIZ_1024_4L 000000CF
+_BBSIZ_2048_4L 000000DF
+_BBSIZ_4096_4L 000000EF
+_BOREN_BOACTIVE_2L 000000FD
+_BOREN_BOHW_2L 000000FF
+_BOREN_OFF_2L 000000F9
+_BOREN_SBORENCTRL_2L 000000FB
+_BORV_0_2L 000000E7
+_BORV_1_2L 000000EF
+_BORV_2_2L 000000F7
+_BORV_3_2L 000000FF
+_CONFIG1H 00300001
+_CONFIG2H 00300003
+_CONFIG2L 00300002
+_CONFIG3H 00300005
+_CONFIG4L 00300006
+_CONFIG5H 00300009
+_CONFIG5L 00300008
+_CONFIG6H 0030000B
+_CONFIG6L 0030000A
+_CONFIG7H 0030000D
+_CONFIG7L 0030000C
+_CP0_OFF_5L 000000FF
+_CP0_ON_5L 000000FE
+_CP1_OFF_5L 000000FF
+_CP1_ON_5L 000000FD
+_CP2_OFF_5L 000000FF
+_CP2_ON_5L 000000FB
+_CP3_OFF_5L 000000FF
+_CP3_ON_5L 000000F7
+_CP4_OFF_5L 000000FF
+_CP4_ON_5L 000000EF
+_CP5_OFF_5L 000000FF
+_CP5_ON_5L 000000DF
+_CPB_OFF_5H 000000FF
+_CPB_ON_5H 000000BF
+_CPD_OFF_5H 000000FF
+_CPD_ON_5H 0000007F
+_DEBUG_MSG_SendBCD1 00003388
+_DEBUG_MSG_SendBCD2 0000339E
+_DEBUG_MSG_SendBCD3 000033A6
+_DEBUG_MSG_SendChar 0000334A
+_DEBUG_MSG_SendFooter 00003342
+_DEBUG_MSG_SendHeader 0000330E
+_DEBUG_MSG_SendHex1 00003388
+_DEBUG_MSG_SendHex2 00003394
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 98
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+_DEBUG_OFF_4L 000000FF
+_DEBUG_ON_4L 0000007F
+_DEVID1 003FFFFE
+_DEVID2 003FFFFF
+_EBTR0_OFF_7L 000000FF
+_EBTR0_ON_7L 000000FE
+_EBTR1_OFF_7L 000000FF
+_EBTR1_ON_7L 000000FD
+_EBTR2_OFF_7L 000000FF
+_EBTR2_ON_7L 000000FB
+_EBTR3_OFF_7L 000000FF
+_EBTR3_ON_7L 000000F7
+_EBTR4_OFF_7L 000000FF
+_EBTR4_ON_7L 000000EF
+_EBTR5_OFF_7L 000000FF
+_EBTR5_ON_7L 000000DF
+_EBTRB_OFF_7H 000000FF
+_EBTRB_ON_7H 000000BF
+_FCMEN_OFF_1H 000000BF
+_FCMEN_ON_1H 000000FF
+_IDLOC0 00200000
+_IDLOC1 00200001
+_IDLOC2 00200002
+_IDLOC3 00200003
+_IDLOC4 00200004
+_IDLOC5 00200005
+_IDLOC6 00200006
+_IDLOC7 00200007
+_IESO_OFF_1H 0000007F
+_IESO_ON_1H 000000FF
+_LPT1OSC_OFF_3H 000000FB
+_LPT1OSC_ON_3H 000000FF
+_LVP_OFF_4L 000000FB
+_LVP_ON_4L 000000FF
+_MCLRE_OFF_3H 0000007F
+_MCLRE_ON_3H 000000FF
+_MIOS_ENC_PIN_TABLE 00003280
+_MIOS_MPROC_EVENT_TABLE 00003080
+_OSC_ECIO_1H 000000F5
+_OSC_EC_1H 000000F4
+_OSC_HSPLL_1H 000000F6
+_OSC_HS_1H 000000F2
+_OSC_IRCIO67_1H 000000F8
+_OSC_IRCIO7_1H 000000F9
+_OSC_LP_1H 000000F0
+_OSC_RCIO_1H 000000F7
+_OSC_RC_1H 000000F3
+_OSC_XT_1H 000000F1
+_PBADEN_OFF_3H 000000FD
+_PBADEN_ON_3H 000000FF
+_PWRT_OFF_2L 000000FF
+_PWRT_ON_2L 000000FE
+_STVREN_OFF_4L 000000FE
+_STVREN_ON_4L 000000FF
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 99
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+_USER_AIN_NotifyChange 00003028
+_USER_DIN_NotifyToggle 00003020
+_USER_DISPLAY_Init 00003010
+_USER_DISPLAY_Tick 00003014
+_USER_ENC_NotifyChange 00003024
+_USER_LCD_Clear 00003040
+_USER_LCD_Cmd 00003058
+_USER_LCD_CursorSet 00003044
+_USER_LCD_Data 00003054
+_USER_LCD_Init 0000303C
+_USER_LCD_PrintChar 00003048
+_USER_LCD_SpecialCharInit 0000305C
+_USER_MIDI_NotifyRx 0000304C
+_USER_MIDI_NotifyTx 00003050
+_USER_MPROC_DebugTrigger 0000300C
+_USER_MPROC_NotifyFoundEvent 00003038
+_USER_MPROC_NotifyReceivedByte 0000302C
+_USER_MPROC_NotifyReceivedEvent 00003034
+_USER_MPROC_NotifyTimeout 00003030
+_USER_SR_Service_Finish 0000301C
+_USER_SR_Service_Prepare 00003018
+_USER_Tick 00003004
+_USER_Timer 00003008
+_User_Init 00003000
+_WDTPS_1024_2H 000000F5
+_WDTPS_128_2H 000000EF
+_WDTPS_16384_2H 000000FD
+_WDTPS_16_2H 000000E9
+_WDTPS_1_2H 000000E1
+_WDTPS_2048_2H 000000F7
+_WDTPS_256_2H 000000F1
+_WDTPS_2_2H 000000E3
+_WDTPS_32768_2H 000000FF
+_WDTPS_32_2H 000000EB
+_WDTPS_4096_2H 000000F9
+_WDTPS_4_2H 000000E5
+_WDTPS_512_2H 000000F3
+_WDTPS_64_2H 000000ED
+_WDTPS_8192_2H 000000FB
+_WDTPS_8_2H 000000E7
+_WDT_OFF_2H 000000FE
+_WDT_ON_2H 000000FF
+_WRT0_OFF_6L 000000FF
+_WRT0_ON_6L 000000FE
+_WRT1_OFF_6L 000000FF
+_WRT1_ON_6L 000000FD
+_WRT2_OFF_6L 000000FF
+_WRT2_ON_6L 000000FB
+_WRT3_OFF_6L 000000FF
+_WRT3_ON_6L 000000F7
+_WRT4_OFF_6L 000000FF
+_WRT4_ON_6L 000000EF
+_WRT5_OFF_6L 000000FF
+_WRT5_ON_6L 000000DF
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 100
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+_WRTB_OFF_6H 000000FF
+_WRTB_ON_6H 000000BF
+_WRTC_OFF_6H 000000FF
+_WRTC_ON_6H 000000DF
+_WRTD_OFF_6H 000000FF
+_WRTD_ON_6H 0000007F
+_XINST_OFF_4L 000000BF
+_XINST_ON_4L 000000FF
+__18F4685 00000001
+DDRA TRISA
+DDRB TRISB
+DDRC TRISC
+DDRD TRISD
+DDRE TRISE
+DEFAULT_IS_CARTRIDGE 0
+PIC_DERIVATIVE_CMCON_INIT 1
+PIC_DERIVATIVE_CODE_SIZE 0x18000
+PIC_DERIVATIVE_EEPROM_SIZE 0x400
+PIC_DERIVATIVE_IRQ_WORKAROUND 0
+PIC_DERIVATIVE_NEW_ADC 1
+PIC_DERIVATIVE_RAM_SIZE 0xd00
+PIC_DERIVATIVE_SET_LCD_4BIT 1
+PIC_DERIVATIVE_T08BIT_INVERTED 0
+_HW_FLAGS_H (null)
+clrc bcf STATUS, C
+clrz bcf STATUS, Z
+rlf rlcf
+rrf rrcf
+setc bsf STATUS, C
+setz bsf STATUS, Z
+skpc btfss STATUS, C
+skpdc btfss STATUS, DC
+skpnc btfsc STATUS, C
+skpndc btfsc STATUS, DC
+skpnz btfsc STATUS, Z
+skpz btfss STATUS, Z
+
+
+MEMORY USAGE MAP ('X' = Used, '-' = Unused)
+
+00003000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+000030c0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003100 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003140 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003180 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+000031c0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003200 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003240 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003280 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+000032c0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003300 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003340 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:49:28 PAGE 101
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+00003380 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+000033c0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003400 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003440 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003480 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+000034c0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003500 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003540 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003580 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+000035c0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003600 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003640 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003680 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+000036c0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003700 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003740 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+00003780 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXX------
+
+All other memory blocks unused.
+
+Program Memory Words Used: 989
+
+
+Errors : 0
+Warnings : 0 reported, 0 suppressed
+Messages : 0 reported, 0 suppressed
+
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist (revision 1219)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>mb_tia_interconnection-test.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>158C317E1D9930E900C97EBB</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/mb_tia_interconnection-test.xcscheme
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/mb_tia_interconnection-test.xcscheme (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/mb_tia_interconnection-test.xcscheme (revision 1219)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0800"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C317E1D9930E900C97EBB"
+ BuildableName = "mb_tia_interconnection-test"
+ BlueprintName = "mb_tia_interconnection-test"
+ ReferencedContainer = "container:mb_tia_interconnection-test.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C317E1D9930E900C97EBB"
+ BuildableName = "mb_tia_interconnection-test"
+ BlueprintName = "mb_tia_interconnection-test"
+ ReferencedContainer = "container:mb_tia_interconnection-test.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C317E1D9930E900C97EBB"
+ BuildableName = "mb_tia_interconnection-test"
+ BlueprintName = "mb_tia_interconnection-test"
+ ReferencedContainer = "container:mb_tia_interconnection-test.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.pbxproj
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.pbxproj (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.pbxproj (revision 1219)
@@ -0,0 +1,231 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXFileReference section */
+ 158C31901D9930F800C97EBB /* app_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = app_defines.h; sourceTree = "<group>"; };
+ 158C31911D9930F800C97EBB /* debugging.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = debugging.png; sourceTree = "<group>"; };
+ 158C31921D9930F800C97EBB /* main.asm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm.asm; path = main.asm; sourceTree = "<group>"; };
+ 158C31931D9930F800C97EBB /* main.cod */ = {isa = PBXFileReference; lastKnownFileType = file; path = main.cod; sourceTree = "<group>"; };
+ 158C31941D9930F800C97EBB /* main.hex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.hex; sourceTree = "<group>"; };
+ 158C31951D9930F800C97EBB /* main.lst */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.lst; sourceTree = "<group>"; };
+ 158C31961D9930F800C97EBB /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+ 158C31971D9930F800C97EBB /* Makefile.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.orig; sourceTree = "<group>"; };
+ 158C31981D9930F800C97EBB /* modules */ = {isa = PBXFileReference; lastKnownFileType = folder; path = modules; sourceTree = "<group>"; };
+ 158C31991D9930F800C97EBB /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = "<group>"; };
+ 158C319A1D9930F800C97EBB /* tia_sr.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; path = tia_sr.inc; sourceTree = "<group>"; };
+ 158C319B1D9930F800C97EBB /* include.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = include.xcodeproj; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXGroup section */
+ 158C31791D9930E900C97EBB = {
+ isa = PBXGroup;
+ children = (
+ 158C31901D9930F800C97EBB /* app_defines.h */,
+ 158C31911D9930F800C97EBB /* debugging.png */,
+ 158C31921D9930F800C97EBB /* main.asm */,
+ 158C31931D9930F800C97EBB /* main.cod */,
+ 158C31941D9930F800C97EBB /* main.hex */,
+ 158C31951D9930F800C97EBB /* main.lst */,
+ 158C31961D9930F800C97EBB /* Makefile */,
+ 158C31971D9930F800C97EBB /* Makefile.orig */,
+ 158C31981D9930F800C97EBB /* modules */,
+ 158C31991D9930F800C97EBB /* README.txt */,
+ 158C319A1D9930F800C97EBB /* tia_sr.inc */,
+ 158C319B1D9930F800C97EBB /* include.xcodeproj */,
+ );
+ sourceTree = "<group>";
+ };
+ 158C319C1D9930F800C97EBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXLegacyTarget section */
+ 158C317E1D9930E900C97EBB /* mb_tia_interconnection-test */ = {
+ isa = PBXLegacyTarget;
+ buildArgumentsString = "$(ACTION)";
+ buildConfigurationList = 158C31811D9930E900C97EBB /* Build configuration list for PBXLegacyTarget "mb_tia_interconnection-test" */;
+ buildPhases = (
+ );
+ buildToolPath = /usr/bin/make;
+ dependencies = (
+ );
+ name = "mb_tia_interconnection-test";
+ passBuildSettingsInEnvironment = 1;
+ productName = "mb_tia_interconnection-test";
+ };
+/* End PBXLegacyTarget section */
+
+/* Begin PBXProject section */
+ 158C317A1D9930E900C97EBB /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0800;
+ ORGANIZATIONNAME = "Bruno Dupeyron aka Antichambre";
+ TargetAttributes = {
+ 158C317E1D9930E900C97EBB = {
+ CreatedOnToolsVersion = 8.0;
+ ProvisioningStyle = Automatic;
+ };
+ };
+ };
+ buildConfigurationList = 158C317D1D9930E900C97EBB /* Build configuration list for PBXProject "mb_tia_interconnection-test" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 158C31791D9930E900C97EBB;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 158C319C1D9930F800C97EBB /* Products */;
+ ProjectRef = 158C319B1D9930F800C97EBB /* include.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ 158C317E1D9930E900C97EBB /* mb_tia_interconnection-test */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin XCBuildConfiguration section */
+ 158C317F1D9930E900C97EBB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVES = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ };
+ name = Debug;
+ };
+ 158C31801D9930E900C97EBB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVES = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ };
+ name = Release;
+ };
+ 158C31821D9930E900C97EBB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DEBUGGING_SYMBOLS = YES;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 158C31831D9930E900C97EBB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 158C317D1D9930E900C97EBB /* Build configuration list for PBXProject "mb_tia_interconnection-test" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 158C317F1D9930E900C97EBB /* Debug */,
+ 158C31801D9930E900C97EBB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 158C31811D9930E900C97EBB /* Build configuration list for PBXLegacyTarget "mb_tia_interconnection-test" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 158C31821D9930E900C97EBB /* Debug */,
+ 158C31831D9930E900C97EBB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 158C317A1D9930E900C97EBB /* Project object */;
+}
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/contents.xcworkspacedata
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/contents.xcworkspacedata (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/contents.xcworkspacedata (revision 1219)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:mb_tia_interconnection-test.xcodeproj">
+ </FileRef>
+</Workspace>
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcuserdata/Bruno.xcuserdatad/UserInterfaceState.xcuserstate
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcuserdata/Bruno.xcuserdatad/UserInterfaceState.xcuserstate
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcuserdata/Bruno.xcuserdatad/UserInterfaceState.xcuserstate (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcuserdata/Bruno.xcuserdatad/UserInterfaceState.xcuserstate (revision 1219)
/playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcuserdata/Bruno.xcuserdatad/UserInterfaceState.xcuserstate
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcshareddata/mb_tia_interconnection-test.xcscmblueprint
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcshareddata/mb_tia_interconnection-test.xcscmblueprint (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/mb_tia_interconnection-test.xcodeproj/project.xcworkspace/xcshareddata/mb_tia_interconnection-test.xcscmblueprint (revision 1219)
@@ -0,0 +1,25 @@
+{
+ "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "7895a35d-cd44-0410-bfa6-c66f5b1fdf0a",
+ "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
+ "7895a35d-cd44-0410-bfa6-c66f5b1fdf0a" : {
+
+ }
+ },
+ "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
+ "7895a35d-cd44-0410-bfa6-c66f5b1fdf0a" : 9223372036854775807
+ },
+ "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "76E3B258-5ADA-4734-AB5B-E2F141CA517B",
+ "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
+ "7895a35d-cd44-0410-bfa6-c66f5b1fdf0a" : "mios\/"
+ },
+ "DVTSourceControlWorkspaceBlueprintNameKey" : "mb_tia_interconnection-test",
+ "DVTSourceControlWorkspaceBlueprintVersion" : 204,
+ "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "playground\/Antichambre\/midibox_tia\/Tools\/mb_tia_interconnection-test\/mb_tia_interconnection-test.xcodeproj",
+ "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
+ {
+ "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "svn+ssh:\/\/midibox.org\/mios",
+ "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Subversion",
+ "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "7895a35d-cd44-0410-bfa6-c66f5b1fdf0a"
+ }
+ ]
+}
\ No newline at end of file
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.hex
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.hex (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.hex (revision 1219)
@@ -0,0 +1,126 @@
+:020000040000FA
+:103000005BEF1AF061EF1AF062EF1AF063EF1AF05B
+:1030100064EF1AF0C8EF1AF099EF1BF09AEF1BF06B
+:1030200097EF1BF098EF1BF09BEF1BF094EF1BF05A
+:1030300093EF1BF06FEF1BF092EF1BF080EF19F096
+:1030400081EF19F082EF19F083EF19F096EF1BF082
+:1030500095EF1BF084EF19F085EF19F086EF19F06A
+:103060001200000012000000120000001200000018
+:103070001200000012000000120000001200000008
+:10308000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
+:10309000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
+:1030A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
+:1030B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
+:1030C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
+:1030D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
+:1030E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
+:1030F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
+:10310000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
+:10311000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
+:10312000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
+:10313000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
+:10314000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
+:10315000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
+:10316000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
+:10317000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
+:10318000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
+:10319000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
+:1031A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
+:1031B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
+:1031C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
+:1031D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+:1031E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
+:1031F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
+:10320000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
+:10321000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
+:10322000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
+:10323000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
+:10324000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
+:10325000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
+:10326000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
+:10327000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
+:10328000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
+:10329000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
+:1032A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
+:1032B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
+:1032C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
+:1032D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+:1032E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
+:1032F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
+:103300001200120012001200120012001200F00E41
+:1033100024EC16F0000E24EC16F0000E24EC16F04F
+:103320007E0E24EC16F0320E24EC16F004EC16F0AF
+:1033300024EC16F00D0E24EC16F0400E24EC16F0E2
+:103340001200F70E24EC16F012007F0B24EF16F09B
+:10335000FDCFF6FFFECFF7FFFFCFF8FF0900F550D6
+:1033600002E0F3DFFBD7F650010B05E0F62AD8B4F4
+:10337000F72AD8B4F82AF29EF650FD6EF750FE6E8A
+:10338000F850FF6EF28E12000F0BF60FD8B0070F39
+:103390003A0FDBD7F36EF338F7DFF350F5D7036A54
+:1033A000F4EC16F018D0036AF4EC16F00FD0F4EC3D
+:1033B00016F007D0F4EC16F005500F0B12E1200EBA
+:1033C000C4DF04380F0B0EE1200EBFDF04500F0BDB
+:1033D0000BE1200EBADF03380F0B08E1200EB5DF3A
+:1033E00007D0D2DF0438D0DF0450CEDF0338CCDF83
+:1033F0000350CAD7036A046A01D812008C9A8C9CC5
+:1034000004B08C8C8C8A8C9A8C9C04B28C8C8C8AA8
+:103410008C9A8C9C04B48C8C8C8A8C9A8C9C04B670
+:103420008C8C8C8A8C9A8C9C04B88C8C8C8A8C9A10
+:103430008C9C04BE8C8C8C8A8C9A8C9C04BE8C8C4C
+:103440008C8A8C9A8C9C04BE8C8C8C8A8C9A8C9CDA
+:1034500003B68C8C8C8A8C9A8C9C03B48C8C8C8A52
+:103460008C9A8C9C03B28C8C8C8A8C9A8C9C03B02A
+:103470008C8C8C8A8C9A8C9C03BE8C8C8C8A8C9ABB
+:103480008C9C03BE8C8C8C8A8C9A8C9C03BE8C8CFE
+:103490008C8A8C9A8C9C03BE8C8C8C8A8C9A8B88A0
+:1034A0008B9A8C9C8B988B9A00D000D000D000D047
+:1034B00000D08B8A1200FAEC19F0116A9CEC1BF018
+:1034C000120012001200120082EC16F0780EF66E56
+:1034D000350EF76E000EF86E9EEC16F09EEC16F0B0
+:1034E00087EC19F00A0EA5EC19F0A1EC19F087ECA5
+:1034F00019F0A8EC19F04D4254494120496E746509
+:1035000072636F6E6E656374696F6E205465737459
+:103510000A00A1EC19F087EC19F0A8EC19F03D3D78
+:103520003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DCB
+:103530003D3D3D3D3D3D3D3D0A00A1EC19F087EC90
+:1035400019F0A8EC19F0506C6561736520706C611E
+:10355000792061206E6F7465206F6E20616E792016
+:103560004D494449206368616E6E656C2E0A000007
+:10357000A1EC19F010801200000F546573742054F0
+:103580004941204D6F64756C6500400450696E3A86
+:1035900010A012001090450E88EC16F0B80EF66ED2
+:1035A000360EF76E000EF86E1150040DF350F6262D
+:1035B000F450F722040E9CEC16F087EC19F0115031
+:1035C000090A2AE1A8EC19F050696E202757232731
+:1035D000206F6620544941206368697020736574C8
+:1035E00020746F2030562C2072656D61696E696E93
+:1035F00067206469676974616C2070696E732073F9
+:10360000657420746F2030562061732077656C6C70
+:103610002E00A1EC19F01200A8EC19F050696E20F0
+:103620002700B80EF66E360EF76E000EF86E1150CB
+:10363000040DF350F626F450F7220900F550A5ECDE
+:1036400019F00900F550A5EC19F00900F550A5ECAA
+:1036500019F00900F550A5EC19F0A8EC19F0272095
+:103660006F66205449412063686970207365742037
+:10367000746F2035562C2072656D61696E696E67B6
+:10368000206469676974616C2070696E732073656A
+:103690007420746F203056202865786365707469D3
+:1036A0006F6E3A2057232073657420746F2035564F
+:1036B0002900A1EC19F012004130202041312020D6
+:1036C000413220204133202044302020443120202A
+:1036D00044322020443320204434202057230350F8
+:1036E000F00BB00A0CE10450010A09E10550116E1B
+:1036F0000A0E1160116A10809CEC1BF012D003506E
+:10370000F00B900A0EE105500CE00450F40FE8AE07
+:10371000FDD70C0F116E0A0E1160116A10809CEC1F
+:103720001BF0120012001200120012001200120010
+:1037300012001200120012008B9A036A046A1150E0
+:10374000F10FD8B0F10E0F0FC8EC16F00FD012D059
+:1037500015D018D01BD01ED021D024D027D02AD0ED
+:103760002BD02AD029D028D027D026D0010E036E06
+:10377000FEEF19F0020E036EFEEF19F0040E036E59
+:10378000FEEF19F0080E036EFEEF19F0010E046E45
+:10379000FEEF19F0020E046EFEEF19F0040E046E37
+:1037A000FEEF19F0080E046EFEEF19F0100E046E15
+:0A37B000FEEF19F08B9A12001200D0
+:00000001FF
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.cod
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.cod
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.cod (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.cod (revision 1219)
/playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/main.cod
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.asm
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.asm (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.asm (revision 1219)
@@ -0,0 +1,30 @@
+; $Id: app_lcd.asm 69 2008-02-01 00:20:18Z tk $
+;
+; Wrapper for app_lcd.inc
+; To be used for relocatable programs
+;
+; ==========================================================================
+
+ radix dec
+
+#include <mios.h>
+#include <mios_vectors.inc>
+#include <macros.h>
+
+; ==========================================================================
+; Import/Export Labels
+; ==========================================================================
+ global USER_LCD_Init
+ global USER_LCD_Data
+ global USER_LCD_Cmd
+ global USER_LCD_Clear
+ global USER_LCD_CursorSet
+ global USER_LCD_PrintChar
+ global USER_LCD_SpecialCharInit
+
+; ==========================================================================
+; Start code section and include driver code
+; ==========================================================================
+APP_LCD CODE
+#include "app_lcd.inc"
+ END
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.mk
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.mk (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.mk (revision 1219)
@@ -0,0 +1,12 @@
+# $Id: app_lcd.mk 69 2008-02-01 00:20:18Z tk $
+# defines the rule for creating the app_lcd.o object, or assembling the app_lcd.inc file directly
+
+# add this directory to include path
+GPASM_INCLUDE += -I $(MIOS_PATH)/modules/app_lcd/dummy
+
+# make rule for relocatable version
+$(OUTDIR)/app_lcd.o: $(MIOS_PATH)/modules/app_lcd/dummy/app_lcd.asm
+ $(GPASM) $(GPASM_FLAGS) $(GPASM_INCLUDE) $(GPASM_DEFINES) $(APP_LCD_DEFINES) $< -o $@
+
+# directories and files that should be part of the distribution (release) package
+DIST += $(MIOS_PATH)/modules/app_lcd/dummy
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.inc
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.inc (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/app_lcd.inc (revision 1219)
@@ -0,0 +1,131 @@
+; $Id: app_lcd.inc 69 2008-02-01 00:20:18Z tk $
+;
+; MIOS Custom LCD Driver Skeleton
+;
+; ==========================================================================
+;
+; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+; Licensed for personal non-commercial use only.
+; All other rights reserved.
+;
+; ==========================================================================
+
+;; --------------------------------------------------------------------------
+;; Following system variables are given by MIOS and can be directly
+;; accessed by the driver. The addresses are defined in mios.h and
+;; should not be changed
+;;
+;; MIOS_GLCD_BUFFER a 8 byte buffer for data transfers
+;; MIOS_LCD_OPTION1 contains the first LCD option given by MIOS_LCD_TypeSet
+;; MIOS_LCD_OPTION2 contains the second LCD option given by MIOS_LCD_TypeSet
+;; MIOS_LCD_CURSOR_POS the current cursor pos of characters (GLCD: multiplied by width)
+;; MIOS_GLCD_GCURSOR_X for GLCDs: the current X position of graphical cursor
+;; MIOS_GLCD_GCURSOR_Y for GLCDs: the current Y position of graphical cursor
+;; MIOS_GLCD_FONT_WIDTH for GLCDs: the fontwidth given by MIOS_GLCD_FontInit
+;; MIOS_GLCD_FONT_HEIGHT for GLCDs: the fontheight given by MIOS_GLCD_FontInit
+;; MIOS_GLCD_FONT_X0 for GLCDs: the first byte within a char entry
+;; MIOS_GLCD_FONT_OFFSET for GLCDs: the byte offset between the characters
+;; MIOS_GLCD_FONT_PTRL for GLCDs: pointer to the character table, low-byte
+;; MIOS_GLCD_FONT_PTRH for GLCDs: pointer to the character table, high-byte
+;; MIOS_LCD_TIMEOUT0 can be used for timeout loops
+;; MIOS_LCD_TIMEOUT1 can be used for timeout loops
+;; MIOS_GLCD_TMP1 can be used as temporary buffer
+;; MIOS_GLCD_TMP2 can be used as temporary buffer
+;; MIOS_GLCD_TMP3 can be used as temporary buffer
+;; MIOS_GLCD_TMP4 can be used as temporary buffer
+;; MIOS_LCD_Y0_OFFSET Y0 offset of LCD
+;; MIOS_LCD_Y1_OFFSET Y1 offset of LCD
+;; MIOS_LCD_Y2_OFFSET Y2 offset of LCD
+;; MIOS_LCD_Y3_OFFSET Y3 offset of LCD
+;; MIOS_LCD_CURSOR_POS_REAL unmapped cursor position which has been set with MIOS_LCD_CursorSet
+;;
+;; Note: the addresses are located in an upper bank and therefore have to
+;; be accessed with the BANKED flag. Also the BSR has to be justified
+;; before using the registers
+;; Example:
+;; SET_BSR MIOS_LCD_OPTION1 ; sets BSR to the bank where MIOS_LCD_*
+;; ; has been located. You don't need to
+;; ; change the BSR for the other LCD registers
+;; movf MIOS_LCD_OPTION1, W, BANKED ; get LCD option #1
+;;
+;; Important: to allow a proper interaction with MIOS applications, you are
+;; only allowed to modify MIOS_PARAMETER[123], the mutliplication registers
+;; and FSR1. You are not allowed to change TMP[1-5] or FSR0
+;; if you need some temporary registers, use the given addresses above or
+;; locate them to addresses which are not used by the application
+;; --------------------------------------------------------------------------
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when the custom LCD should be initialized
+;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+;; Out: -
+;; --------------------------------------------------------------------------
+USER_LCD_Init
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when the custom LCD should be cleared
+;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+;; Out: -
+;; --------------------------------------------------------------------------
+USER_LCD_Clear
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when the cursor should be changed
+;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+;; MIOS_GLCD_CURSOR_X - horizontal cursor position (for GLCDs)
+;; MIOS_GLCD_CURSOR_X - vertical cursor position (for GLCDs)
+;; MIOS_LCD_CURSOR - character cursor position (for CLCDs)
+;; Out: -
+;; --------------------------------------------------------------------------
+USER_LCD_CursorSet
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a character should be print
+;; In: WREG - character
+;; all other MIOS_*LCD_* registers
+;; Out: GLCDs should justify the X/Y cursor position
+;; --------------------------------------------------------------------------
+USER_LCD_PrintChar
+ return
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: USER_LCD_Data
+;; DESCRIPTION: sends a data value to the LCD display.<BR>
+;; On CLCDs: branch directly to USER_LCD_PrintChar<BR>
+;; On GLCDs: ignore this function!
+;; IN: data which should be sent
+;; OUT: -
+;; NOTE: see the custom_lcd_example for further details
+;; --------------------------------------------------------------------------
+USER_LCD_Data
+ return
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: USER_LCD_Cmd
+;; DESCRIPTION: sends a command to the LCD display.<BR>
+;; On CLCDs: use this function to decode the HD44780 commands if required<BR>
+;; On GLCDs: ignore this function!
+;; IN: command which should be sent
+;; OUT: -
+;; NOTE: see the custom_lcd_example for further details
+;; --------------------------------------------------------------------------
+USER_LCD_Cmd
+ return
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: USER_LCD_SpecialCharInit
+;; DESCRIPTION: see MIOS_CLCD_SpecialCharInit
+;; IN: number of special character (0-7) in WREG
+;; pointer to special char pattern in TBLPTR (consists of 8
+;; entries for every character-line)
+;; OUT: TBLPTR has to be set to next table entry (TBLPTR+=8)
+;; NOTE: see the custom_lcd_example for further details
+;; --------------------------------------------------------------------------
+USER_LCD_SpecialCharInit
+ return
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/README.txt
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/README.txt (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/app_lcd/dummy/README.txt (revision 1219)
@@ -0,0 +1,55 @@
+$Id: README.txt 69 2008-02-01 00:20:18Z tk $
+
+Driver dummy for custom LCDs (selected with LCD type #7)
+
+In distance to other app_lcd drivers, this one only provides "empty hooks"
+to ensure, that MIOS won't crash if LCD type #7 is selected in PIC ID Header
+
+Accordingly, this dummy should be included into an application, whenever
+no special app_lcd module is used. The user will be able to change the
+driver by selecting a different module in the Makefile
+
+
+Files
+~~~~~
+
+ app_lcd.inc: can be included into "asm-only" programs (non-relocatable code)
+ app_lcd.asm: relocatable wrapper for C based applications
+ app_lcd.mk: include this into Makefile to integrate the driver
+
+
+Integration Hints
+~~~~~~~~~~~~~~~~~
+
+C based Applications
+~~~~~~~~~~~~~~~~~~~~
+
+ 1) Makefile: add "app_lcd.o" to OBJS variable
+
+ 2) Makefile: include app_lcd.mk
+
+---
+# include application specific driver (select app_lcd/dummy if MIOS internal driver used)
+include $(MIOS_PATH)/modules/app_lcd/dummy/app_lcd.mk
+---
+
+ 3) main.c: ensure that MIOS_LCD_TypeSet() not used in Init() hook, so that
+ LCD is selected from PIC ID header
+
+
+
+"Assembler-Only" Applications
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ 1) main.asm (or main.inc): ensure, that the application includes
+ the global <app_lcd.inc> instead of "app_lcd.inc"
+
+ 2) Makefile: include app_lcd.mk
+
+---
+# include application specific driver (select app_lcd/dummy if MIOS internal driver used)
+include $(MIOS_PATH)/modules/app_lcd/dummy/app_lcd.mk
+---
+
+ 3) main.asm (or main.inc): ensure that MIOS_LCD_TypeSet not called from
+ USER_Init hook, so that LCD is selected from PIC ID header
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.h
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.h (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.h (revision 1219)
@@ -0,0 +1,48 @@
+// $Id: debug_msg.h 626 2009-01-19 21:36:33Z tk $
+/*
+ * Header file for Debug Message Routines
+ *
+ * ==========================================================================
+ *
+ * Copyright 2008 Thorsten Klose (tk@midibox.org)
+ * Licensed for personal non-commercial use only.
+ * All other rights reserved.
+ *
+ * ==========================================================================
+ */
+
+#ifndef _DEBUG_MSG_H
+#define _DEBUG_MSG_H
+
+/////////////////////////////////////////////////////////////////////////////
+// Global definitions
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Global Types
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Prototypes
+/////////////////////////////////////////////////////////////////////////////
+
+extern void DEBUG_MSG_SendHeader(void) __wparam;
+extern void DEBUG_MSG_SendFooter(void) __wparam;
+extern void DEBUG_MSG_SendChar(char) __wparam;
+extern void DEBUG_MSG_SendCString(char *str) __wparam;
+extern void DEBUG_MSG_SendBCD1(unsigned char) __wparam;
+extern void DEBUG_MSG_SendBCD2(unsigned char) __wparam;
+extern void DEBUG_MSG_SendBCD3(unsigned char) __wparam;
+extern void DEBUG_MSG_SendBCD4(unsigned int) __wparam;
+extern void DEBUG_MSG_SendBCD5(unsigned int) __wparam;
+extern void DEBUG_MSG_SendHex1(unsigned char) __wparam;
+extern void DEBUG_MSG_SendHex2(unsigned char) __wparam;
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Export global variables
+/////////////////////////////////////////////////////////////////////////////
+
+#endif /* _DEBUG_MSG_H */
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.mk
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.mk (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.mk (revision 1219)
@@ -0,0 +1,12 @@
+# $Id: debug_msg.mk 626 2009-01-19 21:36:33Z tk $
+# defines the rule for creating the debug_msg.o object
+
+GPASM_INCLUDE += -I $(MIOS_PATH)/modules/debug_msg
+SDCC_INCLUDE += -I $(MIOS_PATH)/modules/debug_msg
+
+# make rule
+$(OUTDIR)/debug_msg.o: $(MIOS_PATH)/modules/debug_msg/debug_msg.asm
+ $(GPASM) $(GPASM_FLAGS) $(GPASM_INCLUDE) $(GPASM_DEFINES) $(DEBUG_MSG_DEFINES) $< -o $@
+
+# directories and files that should be part of the distribution (release) package
+DIST += $(MIOS_PATH)/modules/debug_msg
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.inc
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.inc (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.inc (revision 1219)
@@ -0,0 +1,274 @@
+; $Id: debug_msg.inc 626 2009-01-19 21:36:33Z tk $
+;
+; Help functions to send debug messages to MIOS Terminal via SysEx
+;
+; ==========================================================================
+;
+; Copyright 2009 Thorsten Klose (tk@midibox.org)
+; Licensed for personal non-commercial use only.
+; All other rights reserved.
+;
+; ==========================================================================
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendHeader
+;; DESCRIPTION: sends the SysEx header
+;; IN: -
+;; OUT: -
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
+_DEBUG_MSG_SendHeader ; for C
+DEBUG_MSG_SendHeader
+ ;; this SysEx command will be parsed by MIOS Terminal to print out text messages
+ movlw 0xf0
+ call MIOS_MIDI_TxBufferPut
+ movlw 0x00
+ call MIOS_MIDI_TxBufferPut
+ movlw 0x00
+ call MIOS_MIDI_TxBufferPut
+ movlw 0x7e
+ call MIOS_MIDI_TxBufferPut
+ movlw 0x32
+ call MIOS_MIDI_TxBufferPut
+ call MIOS_MIDI_DeviceIDGet
+ call MIOS_MIDI_TxBufferPut
+ movlw 0x0d
+ call MIOS_MIDI_TxBufferPut
+ movlw 0x40
+ call MIOS_MIDI_TxBufferPut
+
+ ;; following characters will be print on terminal
+ return
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendFooter
+;; DESCRIPTION: sends the SysEx footer
+;; IN: -
+;; OUT: -
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
+_DEBUG_MSG_SendFooter ; for C
+DEBUG_MSG_SendFooter
+ ;; finish SysEx stream - MIOS Terminal will print the received characters now
+ movlw 0xf7
+ call MIOS_MIDI_TxBufferPut
+ return
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendChar
+;; DESCRIPTION: sends a single character
+;; IN: Character in WREG
+;; OUT: -
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
+_DEBUG_MSG_SendChar ; for C
+DEBUG_MSG_SendChar
+ andlw 0x7f ; ensure that MSB is cleared, otherwise we would violate the MIDI protocol
+ goto MIOS_MIDI_TxBufferPut
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendASMString
+;; DESCRIPTION: used in assembly programs to send a string
+;; see example in README.txt for usage
+;; IN: zero-terminated string after call instruction
+;; OUT: -
+;; USES: BSR, FSR1, TBLPTR[LHU], TABLAT
+;; --------------------------------------------------------------------------
+DEBUG_MSG_SendASMString
+ ;; we expect that the zero-terminated string is located behind the "call" instruction
+ ;; transfer pointer to TBLPTR[LHU]
+ movff TOSL, TBLPTRL
+ movff TOSH, TBLPTRH
+ movff TOSU, TBLPTRU
+
+ ;; print until zero is read
+DEBUG_MSG_SendASMStringLoop
+ tblrd*+
+ movf TABLAT, W
+ bz DEBUG_MSG_SendASMStringLoop_End
+ rcall DEBUG_MSG_SendChar
+ rgoto DEBUG_MSG_SendASMStringLoop
+DEBUG_MSG_SendASMStringLoop_End
+
+ ;; return pointer now in TBLPTR[LH]
+
+ ;; ensure that it is aligned to next instruction
+ movf TBLPTRL, W
+ andlw 0x01
+ bz DEBUG_MSG_SendASMString_NoIAlign
+ incf TBLPTRL, F
+ skpnz
+ incf TBLPTRH, F
+ skpnz
+ incf TBLPTRU, F
+DEBUG_MSG_SendASMString_NoIAlign
+
+ IRQ_DISABLE
+ movf TBLPTRL, W
+ movwf TOSL
+ movf TBLPTRH, W
+ movwf TOSH
+ movf TBLPTRU, W
+ movwf TOSU
+ IRQ_ENABLE
+ return
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendBCD1
+;; DESCRIPTION: sends a 8-bit value as BCD (decimal value) -- one digit only
+;; IN: Value in WREG
+;; OUT: -
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendHex1
+;; DESCRIPTION: sends a 4-bit hex value
+;; IN: Value in WREG
+;; OUT: -
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
+_DEBUG_MSG_SendBCD1 ; for C
+DEBUG_MSG_SendBCD1
+_DEBUG_MSG_SendHex1 ; for C
+DEBUG_MSG_SendHex1
+ andlw 0x0f
+ addlw -0x0a
+ skpnc
+ addlw 0x07
+ addlw 0x3a
+ rgoto DEBUG_MSG_SendChar
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendHex2
+;; DESCRIPTION: sends a 8-bit hex value
+;; IN: Value in WREG
+;; OUT: -
+;; USES: BSR, FSR1, PRODL (!)
+;; --------------------------------------------------------------------------
+_DEBUG_MSG_SendHex2 ; for C
+DEBUG_MSG_SendHex2
+ movwf PRODL
+ swapf PRODL, W
+ rcall DEBUG_MSG_SendBCD1
+ movf PRODL, W
+ rgoto DEBUG_MSG_SendBCD1
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendBCD2
+;; DESCRIPTION: prints a 8-bit value as BCD (decimal value) -- two digits only
+;; IN: Value in WREG
+;; OUT: -
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
+_DEBUG_MSG_SendBCD2 ; for C
+DEBUG_MSG_SendBCD2
+ clrf MIOS_PARAMETER1
+ call MIOS_HLP_Dec2BCD
+ rgoto DEBUG_MSG_SendBCD2_Cont
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendBCD3
+;; DESCRIPTION: prints a 8-bit value as BCD (decimal value) -- all three digits
+;; IN: Value in WREG
+;; OUT: -
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
+_DEBUG_MSG_SendBCD3 ; for C
+DEBUG_MSG_SendBCD3
+ clrf MIOS_PARAMETER1
+ call MIOS_HLP_Dec2BCD
+ rgoto DEBUG_MSG_SendBCD3_Cont
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendBCD4
+;; DESCRIPTION: prints a 16-bit as BCD (decimal value) -- four digits
+;; IN: Low-byte in WREG, High-byte in MIOS_PARAMETER1
+;; IN: Value in WREG
+;; OUT: -
+;; USES: BSR, FSR1, MIOS_PARAMETER[123]
+;; --------------------------------------------------------------------------
+;_DEBUG_MSG_SendBCD4 ; "unsigned int" parameter converted in debug_msg.asm
+DEBUG_MSG_SendBCD4
+ call MIOS_HLP_Dec2BCD
+ rgoto DEBUG_MSG_SendBCD4_Cont
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendBCD5
+;; DESCRIPTION: prints a 16-bit as BCD (decimal value) -- five digits
+;; IN: Low-byte in WREG, High-byte in MIOS_PARAMETER1
+;; IN: Value in WREG
+;; OUT: -
+;; USES: BSR, FSR1, MIOS_PARAMETER[123]
+;; --------------------------------------------------------------------------
+;_DEBUG_MSG_SendBCD5 ; "unsigned int" parameter converted in debug_msg.asm
+DEBUG_MSG_SendBCD5
+ call MIOS_HLP_Dec2BCD
+
+;; -----------------
+DEBUG_MSG_SendBCD5_Cont
+ movf MIOS_PARAMETER3, W
+ andlw 0x0f
+ bnz DEBUG_MSG_SendBCD_D5
+
+ movlw ' '
+ rcall DEBUG_MSG_SendChar
+
+DEBUG_MSG_SendBCD4_Cont
+ swapf MIOS_PARAMETER2, W
+ andlw 0x0f
+ bnz DEBUG_MSG_SendBCD_D4
+
+ movlw ' '
+ rcall DEBUG_MSG_SendChar
+
+DEBUG_MSG_SendBCD3_Cont
+ movf MIOS_PARAMETER2, W
+ andlw 0x0f
+ bnz DEBUG_MSG_SendBCD_D3
+
+ movlw ' '
+ rcall DEBUG_MSG_SendChar
+
+DEBUG_MSG_SendBCD2_Cont
+ swapf MIOS_PARAMETER1, W
+ andlw 0x0f
+ bnz DEBUG_MSG_SendBCD_D2
+
+ movlw ' '
+ rcall DEBUG_MSG_SendChar
+
+DEBUG_MSG_SendBCD1_Cont
+ rgoto DEBUG_MSG_SendBCD_D1
+
+
+ ;; ---
+DEBUG_MSG_SendBCD_D5
+ rcall DEBUG_MSG_SendBCD1
+DEBUG_MSG_SendBCD_D4
+ swapf MIOS_PARAMETER2, W
+ rcall DEBUG_MSG_SendBCD1
+DEBUG_MSG_SendBCD_D3
+ movf MIOS_PARAMETER2, W
+ rcall DEBUG_MSG_SendBCD1
+DEBUG_MSG_SendBCD_D2
+ swapf MIOS_PARAMETER1, W
+ rcall DEBUG_MSG_SendBCD1
+DEBUG_MSG_SendBCD_D1
+ movf MIOS_PARAMETER1, W
+ rgoto DEBUG_MSG_SendBCD1
+
+
+;; --------------------------------------------------------------------------
+;; FUNCTION: DEBUG_MSG_SendCString
+;; C_DECLARATION: void DEBUG_MSG_SendCString(char *str)
+;; DESCRIPTION: sends a 0-terminated string --- only provided by the C Wrapper!
+;; C_IN: Pointer to 0-terminated String in <str>
+;; USES: BSR, FSR1
+;; --------------------------------------------------------------------------
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/README.txt
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/README.txt (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/README.txt (revision 1219)
@@ -0,0 +1,190 @@
+$Id: README.txt 626 2009-01-19 21:36:33Z tk $
+
+This module provides some help functions to send text messages to the
+MIOS Terminal, which is part of MIOS Studio
+
+A message always starts with a Header, followed by any number of characters,
+and is finished with the Footer.
+
+The MIOS Terminal will print the message once the Footer has been received.
+
+
+Files
+~~~~~
+
+ debug_msg.inc: can be included into "asm-only" programs (non-relocatable code)
+ debug_msg.asm: relocatable wrapper for C based applications
+ debug_msg.h: C headers
+ debug_msg.mk: include this into Makefile to integrate the module
+
+
+Functions
+~~~~~~~~~
+
+extern void DEBUG_MSG_SendHeader(void) __wparam;
+extern void DEBUG_MSG_SendFooter(void) __wparam;
+extern void DEBUG_MSG_SendChar(char) __wparam;
+extern void DEBUG_MSG_SendCString(char *str) __wparam;
+extern void DEBUG_MSG_SendBCD1(unsigned char) __wparam;
+extern void DEBUG_MSG_SendBCD2(unsigned char) __wparam;
+extern void DEBUG_MSG_SendBCD3(unsigned char) __wparam;
+extern void DEBUG_MSG_SendBCD4(unsigned int) __wparam;
+extern void DEBUG_MSG_SendBCD5(unsigned int) __wparam;
+extern void DEBUG_MSG_SendHex1(unsigned char) __wparam;
+extern void DEBUG_MSG_SendHex2(unsigned char) __wparam;
+
+
+For assembly:
+ - paramter expected in WREG if not void
+ - "unsigned int": MSB expected in MIOS_PARAMETER1 like known from MIOS_LCD_PrintBCD4/5
+ - DEBUG_MSG_SendHex2 destroys PRODL!
+ - DEBUG_MSG_SendCString replaced by DEBUG_MSG_SendASMString
+ This special variation expects the zero-terminated string *after* the function call
+ (see coding example below)
+
+
+Defines
+~~~~~~~
+
+ none
+
+
+Simple C example
+~~~~~~~~~~~~~~~~
+
+/////////////////////////////////////////////////////////////////////////////
+// This function is called by MIOS after startup to initialize the
+// application
+/////////////////////////////////////////////////////////////////////////////
+void Init(void) __wparam
+{
+ // set shift register update frequency
+ MIOS_SRIO_UpdateFrqSet(1); // ms
+
+ // we need to set at least one IO shift register pair
+ MIOS_SRIO_NumberSet(16); // for 128 pins
+
+ // debouncing value for DINs
+ MIOS_SRIO_DebounceSet(10);
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// This function is called by MIOS when an button has been toggled
+// pin_value is 1 when button released, and 0 when button pressed
+/////////////////////////////////////////////////////////////////////////////
+void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam
+{
+#if 1
+ // only for debugging - remove this (or change "#if 1" to "#if 0") in a common application!
+ DEBUG_MSG_SendHeader();
+ DEBUG_MSG_SendCString("Button: ");
+ DEBUG_MSG_SendBCD3(pin);
+ DEBUG_MSG_SendChar(' ');
+ DEBUG_MSG_SendCString(pin_value ? "depressed" : "pressed");
+ DEBUG_MSG_SendFooter();
+#endif
+}
+
+
+"Simple" Assembler example
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You will notice, that it is much easier to use this feature in C!
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS after startup to initialize the
+;; application
+;; --------------------------------------------------------------------------
+USER_Init
+ ;; set shift register update frequency
+ movlw 1 ; ms
+ call MIOS_SRIO_UpdateFrqSet
+
+ ;; maximum number of DIN/DOUT shift registers (1..16)
+ movlw 16 ; for 128 pins
+ call MIOS_SRIO_NumberSet
+
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when an button has been toggled
+;; Input:
+;; o Button number in WREG and MIOS_PARAMETER1
+;; o Button value MIOS_PARAMETER2:
+;; - 1 if button has been released (=5V)
+;; - 0 if button has been pressed (=0V)
+;; --------------------------------------------------------------------------
+USER_DIN_NotifyToggle
+#if 1
+ ;; only for debugging - remove this (or change "#if 1" to "#if 0") in a common application!
+
+ ;; SendBCD will destroy MIOS_PARAMETER[123] - store them in TMP[123]
+ movff MIOS_PARAMETER1, TMP1
+ movff MIOS_PARAMETER2, TMP2
+ movff MIOS_PARAMETER3, TMP3
+
+ call DEBUG_MSG_SendHeader
+
+ call DEBUG_MSG_SendASMString
+ db "Button: ", 0
+
+ movf TMP1, W
+ call DEBUG_MSG_SendBCD3
+
+ movlw ' '
+ call DEBUG_MSG_SendChar
+
+ movf TMP2, W
+ bz USER_DIN_NotifyToggle_0
+USER_DIN_NotifyToggle_1
+ call DEBUG_MSG_SendASMString
+ db "depressed", 0
+ rgoto USER_DIN_NotifyToggle_Cont
+
+USER_DIN_NotifyToggle_0
+ call DEBUG_MSG_SendASMString
+ db "pressed", 0
+USER_DIN_NotifyToggle_Cont
+ call DEBUG_MSG_SendFooter
+
+ ;; SendBCD destroyed MIOS_PARAMETER[123] - restore them from TMP[123]
+ movff TMP1, MIOS_PARAMETER1
+ movff TMP2, MIOS_PARAMETER2
+ movff TMP3, MIOS_PARAMETER3
+#endif
+
+ return
+
+
+
+Integration Hints
+~~~~~~~~~~~~~~~~~
+
+C based Applications
+~~~~~~~~~~~~~~~~~~~~
+
+ 1) Makefile: add "debug_msg.o" to OBJS variable
+
+ 2) Makefile: include debug_msg.mk
+---
+# include debug message module
+include $(MIOS_PATH)/modules/debug_msg/debug_msg.mk
+---
+
+ 3) your .c file: #include <debug_msg.h>
+
+
+
+"Assembler-Only" Applications
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ 1) main.asm (or main.inc): #include <debug_msg.inc>
+
+ 2) Makefile: include debug_msg.mk
+---
+# include debug message module
+include $(MIOS_PATH)/modules/debug_msg/debug_msg.mk
+---
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.asm
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.asm (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/modules/debug_msg/debug_msg.asm (revision 1219)
@@ -0,0 +1,113 @@
+; $Id: debug_msg.asm 626 2009-01-19 21:36:33Z tk $
+;
+; Wrapper for debug_msg.inc
+; To be used for relocatable programs
+;
+
+; ==========================================================================
+
+ radix dec
+#include <mios.h>
+#include <mios_vectors.inc>
+#include <macros.h>
+
+; ==========================================================================
+
+ ;; export lables
+ global DEBUG_MSG_SendHeader
+ global DEBUG_MSG_SendFooter
+ global DEBUG_MSG_SendChar
+ ;; global DEBUG_MSG_SendCString ; not available for ASM-only version as TMP registers are overwritten
+ ;; for assembly programs, use DEBUG_MSG_SendASMString instead, which is optimized for this use model!
+ global DEBUG_MSG_SendBCD1
+ global DEBUG_MSG_SendBCD2
+ global DEBUG_MSG_SendBCD3
+ global DEBUG_MSG_SendBCD4
+ global DEBUG_MSG_SendBCD5
+ global DEBUG_MSG_SendHex1
+ global DEBUG_MSG_SendHex2
+
+ global _DEBUG_MSG_SendHeader
+ global _DEBUG_MSG_SendFooter
+ global _DEBUG_MSG_SendChar
+ global _DEBUG_MSG_SendCString
+ global _DEBUG_MSG_SendBCD1
+ global _DEBUG_MSG_SendBCD2
+ global _DEBUG_MSG_SendBCD3
+ global _DEBUG_MSG_SendBCD4
+ global _DEBUG_MSG_SendBCD5
+ global _DEBUG_MSG_SendHex1
+ global _DEBUG_MSG_SendHex2
+
+
+; ==========================================================================
+; Declare variables
+; ==========================================================================
+
+; ==========================================================================
+DEBUG_MSG code
+#include <debug_msg.inc>
+
+; ==========================================================================
+ ;; C function wrappers
+
+ ;; functions which get no or only a single argument are not listed here
+ ;; (no parameter conversion required)
+
+_DEBUG_MSG_SendBCD4
+ movff FSR0L, FSR2L
+ movff PREINC2, MIOS_PARAMETER1
+ goto DEBUG_MSG_SendBCD4
+
+_DEBUG_MSG_SendBCD5
+ movff FSR0L, FSR2L
+ movff PREINC2, MIOS_PARAMETER1
+ goto DEBUG_MSG_SendBCD5
+
+
+_DEBUG_MSG_SendCString
+ ;; transfer pointer into TBLPTR[LHU]
+ movwf TBLPTRL
+ movff FSR0L, FSR2L
+ movff PREINC2, TBLPTRH
+ movf PREINC2, W
+
+ ;; SDCC passes a 24bit pointer, the MSB (now in WREG) bit 6 and 7 tells us, where the data is located:
+ ;; 00 -> code
+ ;; 01 -> EEPROM (not supported by DEBUG_MSG_PrintCString yet)
+ ;; 10 -> data
+ ;; 11 -> unimplemented
+
+ btfsc WREG, 7
+ bra _DEBUG_MSG_SendCString_RAM
+_DEBUG_MSG_SendCString_Code
+ movwf TBLPTRU
+_DEBUG_MSG_SendCStringLoop_Code
+ tblrd*+
+ movf TABLAT, W
+ bz _DEBUG_MSG_SendCString_Code_End
+ call DEBUG_MSG_SendChar
+ bra _DEBUG_MSG_SendCStringLoop_Code
+_DEBUG_MSG_SendCString_Code_End
+ return
+
+_DEBUG_MSG_SendCString_RAM
+ ;; using FSR2 as temporary pointer - store current FSR2 into TMP[12]
+ movff FSR2L, TMP1
+ movff FSR2H, TMP2
+ movff TBLPTRL, FSR2L
+ movff TBLPTRH, FSR2H
+_DEBUG_MSG_SendCStringLoop_RAM
+ movf POSTINC2, W
+ bz _DEBUG_MSG_SendCString_RAM_End
+ call DEBUG_MSG_SendChar
+ bra _DEBUG_MSG_SendCStringLoop_RAM
+_DEBUG_MSG_SendCString_RAM_End
+ ;; restore FSR2
+ movff TMP1, FSR2L
+ movff TMP2, FSR2H
+ return
+
+
+; ==========================================================================
+ END
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/tia_sr.inc
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/tia_sr.inc (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/tia_sr.inc (revision 1219)
@@ -0,0 +1,125 @@
+; $Id: tia_sr.inc bdupeyron.tech@gmail.com(Antichambre)
+;
+; MIDIbox TIA
+; TIA Shift Register Service Routine
+;
+; ==========================================================================
+;
+; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+; Licensed for personal non-commercial use only.
+; All other rights reserved.
+;
+; ==========================================================================
+;
+; define the pins to which the MBHPS_TIA module is connected
+;
+#if DEFAULT_IS_CARTRIDGE==1
+TIA_SR_LAT_SCLK EQU LATC
+TIA_SR_PIN_SCLK EQU 0 ; Pin C.0
+TIA_SR_LAT_RCLK EQU LATC
+TIA_SR_PIN_RCLK EQU 2 ; Pin C.2
+TIA_SR_LAT_OUT EQU LATC
+TIA_SR_PIN_OUT EQU 3 ; Pin C.3
+
+TIA_SR_LAT_WR EQU LATC
+TIA_SR_PIN_WR EQU 1 ; Pin C.1
+#else
+TIA_SR_LAT_SCLK EQU LATD
+TIA_SR_PIN_SCLK EQU 5 ; Pin D.5
+TIA_SR_LAT_RCLK EQU LATC
+TIA_SR_PIN_RCLK EQU 4 ; Pin C.4
+TIA_SR_LAT_OUT EQU LATD
+TIA_SR_PIN_OUT EQU 6 ; Pin D.6
+
+TIA_SR_LAT_WR EQU LATC
+TIA_SR_PIN_WR EQU 5 ; Pin C.5
+#endif
+
+;; --------------------------------------------------------------------------
+;; Initialize the MBHP_TIA module
+;; --------------------------------------------------------------------------
+TIA_SR_Init
+ ;; reset the TIA
+ clrf MIOS_PARAMETER1
+ clrf MIOS_PARAMETER2
+ rcall TIA_SR_Write
+ return
+
+;; --------------------------------------------------------------------------
+;; TIA Write: write to TIA register
+;; --------------------------------------------------------------------------
+TIA_SR_Write
+ ;; TIA signals:
+ ;; MIOS_PARAMETER2[4..0]: Data
+ ;; MIOS_PARAMETER1[3..0]: Address
+ ;; temporary used as counter: MIOS_PARAMETER3
+
+ bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; clear clock
+
+ ;; superfast transfer with unrolled loop (takes some memory, but guarantees the
+ ;; lowest system load :)
+TIA_SR_WRITE_BIT MACRO reg, bit
+ bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+ btfsc reg, bit
+ bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+ bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+ bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ ENDM
+#if DEFAULT_IS_CARTRIDGE==1
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 4 ; IC8.O0
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 3 ; IC8.O1
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 2 ; IC8.O2
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 1 ; IC8.O3
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 0 ; IC8.O4
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O5
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O6
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O7
+
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 3 ; IC7.O0
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 2 ; IC7.O1
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 1 ; IC7.O2
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 0 ; IC7.O3
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O4
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O5
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O6
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O7
+
+#else
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 0 ; IC2.O0
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 1 ; IC2.O1
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 2 ; IC2.O2
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 3 ; IC2.O3
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 4 ; IC2.O4
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O5
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O6
+ TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O7
+
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 3 ; IC3.O0
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 2 ; IC3.O1
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 1 ; IC3.O2
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 0 ; IC3.O3
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O4
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O5
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O6
+ TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O7
+#endif
+ bsf TIA_SR_LAT_RCLK, TIA_SR_PIN_RCLK ; latch TIA values
+
+ bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; enable write (MBHP_TIA: chip select)
+ bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; clear out pin (standby)
+ bcf TIA_SR_LAT_RCLK, TIA_SR_PIN_RCLK ; release latch
+
+ bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; enable write (MBHP_TIA: chip select)
+ bra $+2 ; to ensure compatibility with on-board oscillator,
+ bra $+2 ; wait for 0.840 uS (1 us) (> one TIA clock cycle)
+ bra $+2
+ bra $+2
+ bra $+2
+ bsf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; disable write (MBHP_TIA: chip select)
+
+ return
+
+
+
+
+
\ No newline at end of file
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/README.txt
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/README.txt (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/README.txt (revision 1219)
@@ -0,0 +1,33 @@
+$Id: README.txt 878 2010-01-02 15:40:58Z tk $
+
+CORE->TIA Module Interconnection Test
+
+This application allows you to check the interconnections to the TIA module
+with a multimeter.
+
+You can control the TIA pins by sending a MIDI note with the virtual keyboard
+of MIOS Studio.
+
+Open the "MIOS Terminal" in MIOS Studio to get some helpful debugging messages
+from the application -> see debugging.png as an example setup
+
+
+The TIA pins are mapped to following keys:
+
+ C : Pin A0 = 5V
+ C#: Pin A1 = 5V
+ D : Pin A2 = 5V
+ D#: Pin A3 = 5V
+ E : Pin D0 = 5V
+ F : Pin D1 = 5V
+ F#: Pin D2 = 5V
+ G : Pin D3 = 5V
+ G#: Pin D4 = 5V
+ A : Pin W# = 5V
+
+The octave doesn't matter, keys are mirrored each octave.
+
+
+For historical reasons the pins can also be controlled with a Modulation Wheel,
+and they are displayed on a LCD. This option hasn't been removed for those people
+who follow instructions from expired tutorials without reading this README.txt file.
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/Makefile.orig
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/Makefile.orig (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/Makefile.orig (revision 1219)
@@ -0,0 +1,27 @@
+# $Id: Makefile 878 2010-01-02 15:40:58Z tk $
+
+# define the processor here
+PROCESSOR = 18f4685
+
+# default flags to GPASM here
+GPASM_FLAGS =
+
+# include pathes (more will be added by asm_only.mk files)
+GPASM_INCLUDE =
+
+# optional defines that should be passed to GPASM
+GPASM_DEFINES =
+
+# default rule that defines the .hex files which should be created
+# note: always require a "cleanall", since dependencies (e.g. on .h and .inc files) are not properly declared
+all: cleanall main.hex
+
+
+# include the asm_only.mk file
+include $(MIOS_PATH)/include/makefile/asm_only.mk
+
+# include debug message module
+include $(MIOS_PATH)/modules/debug_msg/debug_msg.mk
+
+# include application specific LCD driver (dummy driver by default)
+include $(MIOS_PATH)/modules/app_lcd/dummy/app_lcd.mk
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/Makefile
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/Makefile (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/Makefile (revision 1219)
@@ -0,0 +1,5 @@
+MIOS_PATH = .
+MIOS_BIN_PATH = ./bin
+export MIOS_PATH
+export MIOS_BIN_PATH
+include Makefile.orig
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/debugging.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/debugging.png
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/debugging.png (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/debugging.png (revision 1219)
<
/playground/Antichambre/midibox_tia/tools/mb_tia_interconnection-test/debugging.png
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/include.xcscheme
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/include.xcscheme (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/include.xcscheme (revision 1219)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0800"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C315E1D99309B00C97EBB"
+ BuildableName = "include"
+ BlueprintName = "include"
+ ReferencedContainer = "container:include 2.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ <Testables>
+ </Testables>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </TestAction>
+ <LaunchAction
+ buildConfiguration = "Debug"
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
+ allowLocationSimulation = "YES">
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C315E1D99309B00C97EBB"
+ BuildableName = "include"
+ BlueprintName = "include"
+ ReferencedContainer = "container:include 2.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "158C315E1D99309B00C97EBB"
+ BuildableName = "include"
+ BlueprintName = "include"
+ ReferencedContainer = "container:include 2.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
Index: playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/xcuserdata/Bruno.xcuserdatad/xcschemes/xcschememanagement.plist (revision 1219)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>include.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>158C315E1D99309B00C97EBB</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
Index: playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/project.pbxproj
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/project.pbxproj (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/include 2.xcodeproj/project.pbxproj (revision 1219)
@@ -0,0 +1,155 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXFileReference section */
+ 158C315F1D99309B00C97EBB /* asm */ = {isa = PBXFileReference; lastKnownFileType = folder; path = asm; sourceTree = "<group>"; };
+ 158C31601D99309B00C97EBB /* include.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = include.xcodeproj; sourceTree = "<group>"; };
+ 158C31631D99309B00C97EBB /* makefile */ = {isa = PBXFileReference; lastKnownFileType = folder; path = makefile; sourceTree = "<group>"; };
+ 158C31641D99309B00C97EBB /* share */ = {isa = PBXFileReference; lastKnownFileType = folder; path = share; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXGroup section */
+ 158C31591D99309B00C97EBB = {
+ isa = PBXGroup;
+ children = (
+ 158C315F1D99309B00C97EBB /* asm */,
+ 158C31601D99309B00C97EBB /* include.xcodeproj */,
+ 158C31631D99309B00C97EBB /* makefile */,
+ 158C31641D99309B00C97EBB /* share */,
+ );
+ sourceTree = "<group>";
+ };
+ 158C31611D99309B00C97EBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXLegacyTarget section */
+ 158C315E1D99309B00C97EBB /* include */ = {
+ isa = PBXLegacyTarget;
+ buildArgumentsString = "$(ACTION)";
+ buildConfigurationList = 158C31661D99309B00C97EBB /* Build configuration list for PBXLegacyTarget "include" */;
+ buildPhases = (
+ );
+ buildToolPath = /usr/bin/make;
+ buildWorkingDirectory = "/Volumes/DATA/Bruno/Projets/MB-TIA Cartridge/DEV/Tools/mbtia_testtone/include";
+ dependencies = (
+ );
+ name = include;
+ passBuildSettingsInEnvironment = 1;
+ productName = include;
+ };
+/* End PBXLegacyTarget section */
+
+/* Begin PBXProject section */
+ 158C315A1D99309B00C97EBB /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ };
+ buildConfigurationList = 158C315D1D99309B00C97EBB /* Build configuration list for PBXProject "include 2" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 158C31591D99309B00C97EBB;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 158C31611D99309B00C97EBB /* Products */;
+ ProjectRef = 158C31601D99309B00C97EBB /* include.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ 158C315E1D99309B00C97EBB /* include */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin XCBuildConfiguration section */
+ 158C315B1D99309B00C97EBB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx10.6;
+ };
+ name = Debug;
+ };
+ 158C315C1D99309B00C97EBB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ COPY_PHASE_STRIP = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ SDKROOT = macosx10.6;
+ };
+ name = Release;
+ };
+ 158C31671D99309B00C97EBB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ DEBUGGING_SYMBOLS = YES;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = include;
+ };
+ name = Debug;
+ };
+ 158C31681D99309B00C97EBB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = include;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 158C315D1D99309B00C97EBB /* Build configuration list for PBXProject "include 2" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 158C315B1D99309B00C97EBB /* Debug */,
+ 158C315C1D99309B00C97EBB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 158C31661D99309B00C97EBB /* Build configuration list for PBXLegacyTarget "include" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 158C31671D99309B00C97EBB /* Debug */,
+ 158C31681D99309B00C97EBB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 158C315A1D99309B00C97EBB /* Project object */;
+}
Index: playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/app_defines.h
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/app_defines.h (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/app_defines.h (revision 1219)
@@ -0,0 +1,37 @@
+; $Id: app_defines.h bdupeyron.tech@gmail.com(Antichambre)
+;
+; Specific Defines and variables of MIOS Application
+;
+; ==========================================================================
+;
+; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+; Licensed for personal non-commercial use only.
+; All other rights reserved.
+;
+; ==========================================================================
+
+ ;; free memory for user applications:
+ ;; 0x010-0x37f
+
+;; ==========================================================================
+;; TIA register set
+;; ==========================================================================
+TIA_BASE EQU 0x100 ; address space of TIA chip (used: 0x00-0x05)
+
+TIA_AUDC0 EQU TIA_BASE+0x00 ;; control. for voice 1 (Aud0)
+TIA_AUDC1 EQU TIA_BASE+0x01 ;; control. for voice 2 (Aud1)
+TIA_AUDF0 EQU TIA_BASE+0x02 ;; freq. for voice 1 (Aud0)
+TIA_AUDF1 EQU TIA_BASE+0x03 ;; freq. for voice 2 (Aud1)
+TIA_AUDV0 EQU TIA_BASE+0x04 ;; vol. for voice 1 (Aud0)
+TIA_AUDV1 EQU TIA_BASE+0x05 ;; vol. for voice 2 (Aud1)
+
+TIA_BASE_END EQU 0x10f
+
+;; ==========================================================================
+
+TIA_SHADOW_BASE EQU 0x110 ; shadow addresses, necessary to determine changes (used: 0x00-0x05)
+
+ ;; (TIA_SHADOW_BASE + 0x00) to (TIA_SHADOW_BASE + 0x05) allocated by shadow registers
+
+TIA_SHADOW_END EQU 0x11f
+
Index: playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/main.asm
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/main.asm (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/main.asm (revision 1219)
@@ -0,0 +1,253 @@
+; $Id: main.asm 324 2008-05-03 20:25:44Z tk $
+;
+; SID Testtone generator
+;
+; ==========================================================================
+;
+; Copyright 2005 Thorsten Klose (tk@midibox.org)
+; Licensed for personal non-commercial use only.
+; All other rights reserved.
+;
+; ==========================================================================
+
+;; ---[ MIOS header file ]---
+#include <mios.h>
+
+;; ---[ useful macros ]---
+#include <macros.h>
+
+;; ---[ vectors to MIOS functions (never change!) ]---
+#include <mios_vectors.inc>
+
+;; ---[ user hooks (never change!) ]---
+#include <user_vectors.inc>
+
+;; ==========================================================================
+;; General Application Settings
+;; ==========================================================================
+
+;; ---[ variables used by application ]---
+#include "app_defines.h"
+
+; ==========================================================================
+
+;; ---[ configuration table for MIDI processor and rotary encoders ]---
+#include <mios_mt_table.inc>
+#include <mios_enc_table.inc>
+
+;; ---[ Custom LCD driver ]---
+#include <app_lcd.inc>
+
+;; ==========================================================================
+;; All MIOS hooks in one file
+;; ==========================================================================
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS after startup to initialize the
+;; application
+;; --------------------------------------------------------------------------
+USER_Init
+ ;; initialize the MBHP_TIA module
+ call TIA_SR_Init
+
+ ;; initialize SID registers for a mid pitch lead
+ SET_BSR TIA_BASE
+ ;; reset v2(Aud1)
+ clrf TIA_AUDV1, BANKED
+ clrf TIA_AUDF1, BANKED
+ clrf TIA_AUDC1, BANKED
+ ;; set v1(Aud0)
+ movlw 0x0c ;; value for 'LEAD' waveform
+ movwf TIA_AUDC0, BANKED
+ movlw 0x0f ;; value for mid pitch and max volume
+ movwf TIA_AUDF0, BANKED
+ movwf TIA_AUDV0, BANKED
+
+ ;; update TIA registers
+ call TIA_SR_Handler
+
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS in the mainloop when nothing else is to do
+;; --------------------------------------------------------------------------
+USER_Tick
+ ;; ---[ call SID shift register handler ]---
+ ;;call SID_SR_Handler
+
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is periodically called by MIOS. The frequency has to be
+;; initialized with MIOS_Timer_Set
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+;; --------------------------------------------------------------------------
+USER_Timer
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a debug command has been received
+;; via SysEx
+;; Input:
+;; o WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3 like
+;; specified in the debug command
+;; Output:
+;; o return values WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_MPROC_DebugTrigger
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when the display content should be
+;; initialized. Thats the case during startup and after a temporary message
+;; has been printed on the screen
+;; --------------------------------------------------------------------------
+USER_DISPLAY_Init
+ call MIOS_LCD_Clear
+
+ TABLE_ADDR TEXT_WELCOME_0
+ call MIOS_LCD_PrintString
+ goto MIOS_LCD_PrintString
+
+TEXT_WELCOME_0 STRING 16, 0x00, "TIA Testtone "
+TEXT_WELCOME_1 STRING 16, 0x40, "Generator "
+
+;; --------------------------------------------------------------------------
+;; This function is called in the mainloop when no temporary message is shown
+;; on screen. Print the realtime messages here
+;; --------------------------------------------------------------------------
+USER_DISPLAY_Tick
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a complete MIDI event has been received
+;; Input:
+;; o first MIDI event byte in MIOS_PARAMETER1
+;; o second MIDI event byte in MIOS_PARAMETER2
+;; o third MIDI event byte in MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyReceivedEvent
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI event has been received
+;; which has been specified in the CONFIG_MIDI_IN table
+;; Input:
+;; o number of entry in WREG
+;; o first MIDI event byte in MIOS_PARAMETER1
+;; o second MIDI event byte in MIOS_PARAMETER2
+;; o third MIDI event byte in MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyFoundEvent
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI event has not been completly
+;; received within 2 seconds
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyTimeout
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI byte has been received
+;; Input:
+;; o received MIDI byte in WREG and MIOS_PARAMETER1
+;; --------------------------------------------------------------------------
+USER_MPROC_NotifyReceivedByte
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS before the transfer of a MIDI byte.
+;; It can be used to monitor the Tx activity or to do any other actions
+;; (e.g. to switch a pin for multiplexed MIDI Outs) before the byte will
+;; be sent.
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+;; Input:
+;; o transmitted byte in WREG
+;; --------------------------------------------------------------------------
+USER_MIDI_NotifyTx
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a MIDI byte has been received.
+;; It can be used to monitor the Rx activity or to do any action - e.g.
+;; to react on realtime events like MIDI clock (0xf8) with a minimum latency
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+;; Input:
+;; o received byte in WREG
+;; --------------------------------------------------------------------------
+USER_MIDI_NotifyRx
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when an button has been toggled
+;; Input:
+;; o Button number in WREG and MIOS_PARAMETER1
+;; o Button value MIOS_PARAMETER2:
+;; - 1 if button has been released (=5V)
+;; - 0 if button has been pressed (=0V)
+;; --------------------------------------------------------------------------
+USER_DIN_NotifyToggle
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when an encoder has been moved
+;; Input:
+;; o Encoder number in WREG and MIOS_PARAMETER1
+;; o signed incrementer value in MIOS_PARAMETER2:
+;; - is positive when encoder has been turned clockwise
+;; - is negative when encoder has been turned counter clockwise
+;; --------------------------------------------------------------------------
+USER_ENC_NotifyChange
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS before the shift register are loaded
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+;; --------------------------------------------------------------------------
+USER_SR_Service_Prepare
+ return
+
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS after the shift register have been loaded
+;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+;; --------------------------------------------------------------------------
+USER_SR_Service_Finish
+ return
+
+;; --------------------------------------------------------------------------
+;; This function is called by MIOS when a pot has been moved
+;; Input:
+;; o Pot number in WREG and MIOS_PARAMETER1
+;; o LSB value in MIOS_PARAMETER2
+;; o MSB value in MIOS_PARAMETER3
+;; --------------------------------------------------------------------------
+USER_AIN_NotifyChange
+ return
+
+
+
+;; ==========================================================================
+;; Application code (see comments in files)
+;; ==========================================================================
+
+;; ---[ core functions ]---
+;; if != 0, special variations for cartridge version hardware:
+#define DEFAULT_IS_CARTRIDGE 0
+#include "tia_sr.inc"
+
+ END
Index: playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/main.lst
===================================================================
--- playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/main.lst (revision 0)
+++ playground/Antichambre/midibox_tia/tools/mb_tia_test-tone/main.lst (revision 1219)
@@ -0,0 +1,5401 @@
+gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 1
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00001 ; $Id: main.asm 324 2008-05-03 20:25:44Z tk $
+ 00002 ;
+ 00003 ; SID Testtone generator
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 2005 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 ;; ---[ MIOS header file ]---
+ 00014 #include <mios.h>
+ 00001 ; $Id: mios.h 822 2009-09-17 18:39:53Z tk $
+ 00002 ;
+ 00003 ; MIOS Definitions file
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2008 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013
+ 00014 ;; ==========================================================================
+ 00015 ;; Include basic defines which characterize the derivative to
+ 00016 ;; simplify dependencies within MIOS source code
+ 00017 ;; ==========================================================================
+ 00018 #include <hw_flags.h>
+ 00001
+ 00002 #ifndef _HW_FLAGS_H
+0000 00003 #define _HW_FLAGS_H
+ 00004
+ 00005 #ifdef __18F452
+ 00006 #define PIC_DERIVATIVE_CODE_SIZE 0x08000
+ 00007 #define PIC_DERIVATIVE_RAM_SIZE 0x600
+ 00008 #define PIC_DERIVATIVE_EEPROM_SIZE 0x100
+ 00009 #define PIC_DERIVATIVE_IRQ_WORKAROUND 0
+ 00010 #define PIC_DERIVATIVE_NEW_ADC 0
+ 00011 #define PIC_DERIVATIVE_CMCON_INIT 0
+ 00012 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+ 00013 #define PIC_DERIVATIVE_SET_LCD_4BIT 0
+ 00014 #endif
+ 00015
+ 00016 #ifdef __18F4620
+ 00017 #define PIC_DERIVATIVE_CODE_SIZE 0x10000
+ 00018 #define PIC_DERIVATIVE_RAM_SIZE 0xf80
+ 00019 #define PIC_DERIVATIVE_EEPROM_SIZE 0x400
+ 00020 #define PIC_DERIVATIVE_IRQ_WORKAROUND 1
+ 00021 #define PIC_DERIVATIVE_NEW_ADC 1
+ 00022 #define PIC_DERIVATIVE_CMCON_INIT 1
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 2
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00023 #define PIC_DERIVATIVE_T08BIT_INVERTED 1
+ 00024 #define PIC_DERIVATIVE_SET_LCD_4BIT 0
+ 00025 #endif
+ 00026
+ 00027 #ifdef __18F4520
+ 00028 #define PIC_DERIVATIVE_CODE_SIZE 0x08000
+ 00029 #define PIC_DERIVATIVE_RAM_SIZE 0x600
+ 00030 #define PIC_DERIVATIVE_EEPROM_SIZE 0x100
+ 00031 #define PIC_DERIVATIVE_IRQ_WORKAROUND 1
+ 00032 #define PIC_DERIVATIVE_NEW_ADC 1
+ 00033 #define PIC_DERIVATIVE_CMCON_INIT 1
+ 00034 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+ 00035 #define PIC_DERIVATIVE_SET_LCD_4BIT 0
+ 00036 #endif
+ 00037
+ 00038 #ifdef __18F4682
+ 00039 #define PIC_DERIVATIVE_CODE_SIZE 0x14000
+ 00040 #define PIC_DERIVATIVE_RAM_SIZE 0xd00
+ 00041 #define PIC_DERIVATIVE_EEPROM_SIZE 0x400
+ 00042 #define PIC_DERIVATIVE_IRQ_WORKAROUND 0
+ 00043 #define PIC_DERIVATIVE_NEW_ADC 1
+ 00044 #define PIC_DERIVATIVE_CMCON_INIT 1
+ 00045 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+ 00046 #define PIC_DERIVATIVE_SET_LCD_4BIT 1
+ 00047 #endif
+ 00048
+ 00049 #ifdef __18F4685
+0000 00050 #define PIC_DERIVATIVE_CODE_SIZE 0x18000
+0000 00051 #define PIC_DERIVATIVE_RAM_SIZE 0xd00
+0000 00052 #define PIC_DERIVATIVE_EEPROM_SIZE 0x400
+0000 00053 #define PIC_DERIVATIVE_IRQ_WORKAROUND 0
+0000 00054 #define PIC_DERIVATIVE_NEW_ADC 1
+0000 00055 #define PIC_DERIVATIVE_CMCON_INIT 1
+0000 00056 #define PIC_DERIVATIVE_T08BIT_INVERTED 0
+0000 00057 #define PIC_DERIVATIVE_SET_LCD_4BIT 1
+ 00058 #endif
+ 00059
+ 00060 #endif
+ 00019
+ 00020 ;; ==========================================================================
+ 00021 ;; Assembler directives & device specific include file
+ 00022 ;;
+ 00023 ;; Natively supported devices are listed here.
+ 00024 ;; ==========================================================================
+ 00025
+ 00026 #ifdef __18F452
+ 00027 LIST R=DEC
+ 00028 #include <p18f452.inc>
+ 00029 #endif
+ 00030
+ 00031 #ifdef __18F4620
+ 00032 LIST R=DEC
+ 00033 #include <p18f4620.inc>
+ 00034 #endif
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 3
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00035
+ 00036 #ifdef __18F4520
+ 00037 LIST R=DEC
+ 00038 #include <p18f4520.inc>
+ 00039 #endif
+ 00040
+ 00041 #ifdef __18F4682
+ 00042 LIST R=DEC
+ 00043 #include <p18f4682.inc>
+ 00044 #endif
+ 00045
+ 00046 #ifdef __18F4685
+ 00047 LIST R=DEC
+ 00048 #include <p18f4685.inc>
+ 00001 LIST
+ 00002
+ 00003 ;==========================================================================
+ 00004 ; MPASM PIC18F4685 processor include
+ 00005 ;
+ 00006 ; (c) Copyright 1999-2007 Microchip Technology, All rights reserved
+ 00007 ;==========================================================================
+ 00008
+ 04822 LIST
+ 00049 #endif
+ 00050
+ 00051
+ 00052 ;; ==========================================================================
+ 00053 ;; General constants
+ 00054 ;; ==========================================================================
+ 00055
+ 00056 ;; used by MIOS_MIDI_Interface*
+ 00000000 00057 MIOS_MIDI_INTERFACE_COMMON EQU 0x00
+ 00000001 00058 MIOS_MIDI_INTERFACE_TO_HOST EQU 0x01
+ 00059
+ 00060 ;; used by MIOS_MIDI_Merger*
+ 00000000 00061 MIOS_MIDI_MERGER_DISABLED EQU 0x00
+ 00000001 00062 MIOS_MIDI_MERGER_ENABLED EQU 0x01
+ 00000002 00063 MIOS_MIDI_MERGER_MBLINK_EP EQU 0x02
+ 00000003 00064 MIOS_MIDI_MERGER_MBLINK_FP EQU 0x03
+ 00065
+ 00066 ;; used by MIOS_ENC_PIN_TABLE
+ 00067 #ifdef MIOS_OLD_ENCODER_MODES
+ 00068 MIOS_ENC_MODE_NON_DETENTED EQU 0x00
+ 00069 MIOS_ENC_MODE_DETENTED EQU 0x80
+ 00070 MIOS_ENC_MODE_DETENTED1 EQU 0x80
+ 00071 MIOS_ENC_MODE_DETENTED2 EQU 0x81
+ 00072 MIOS_ENC_MODE_DETENTED3 EQU 0x82
+ 00073 #else
+ 00074 ;; new encoder modes: each bit of MIOS_ENC_MODE_xx tells, if an INC / DEC is
+ 00075 ;; being triggered on the corresponding edge.
+ 00076 ;; Bit 7 6 5 4
+ 00077 ;; DEC <- <- <- <-
+ 00078 ;; Pin A ___|-------|_______
+ 00079 ;; Pin B _______|-------|___
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 4
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00080 ;; INC -> -> -> ->
+ 00081 ;; Bit 0 1 2 3
+ 00082 ;; Ex.: Bit 76543210
+ 00083 ;; DETENTED2 = 0b00100010 = 0x22
+ 00084 ;; -> INC will be triggered on edge 1, DEC on edge 5
+ 000000FF 00085 MIOS_ENC_MODE_NON_DETENTED EQU 0xff
+ 000000AA 00086 MIOS_ENC_MODE_DETENTED EQU 0xaa
+ 000000AA 00087 MIOS_ENC_MODE_DETENTED1 EQU 0xaa
+ 00000022 00088 MIOS_ENC_MODE_DETENTED2 EQU 0x22
+ 00000088 00089 MIOS_ENC_MODE_DETENTED3 EQU 0x88
+ 000000A5 00090 MIOS_ENC_MODE_DETENTED4 EQU 0xa5
+ 0000005A 00091 MIOS_ENC_MODE_DETENTED5 EQU 0x5a
+ 00092 #endif
+ 00093
+ 00094 ;; used by MIOS_ENC_Speed*
+ 00000000 00095 MIOS_ENC_SPEED_SLOW EQU 0
+ 00000001 00096 MIOS_ENC_SPEED_NORMAL EQU 1
+ 00000002 00097 MIOS_ENC_SPEED_FAST EQU 2
+ 00098
+ 00099 ;; used by MIOS_LCD_Type*
+ 00000000 00100 MIOS_LCD_TYPE_CLCD EQU 0x00
+ 00000001 00101 MIOS_LCD_TYPE_GLCD0 EQU 0x01
+ 00000002 00102 MIOS_LCD_TYPE_GLCD1 EQU 0x02
+ 00000003 00103 MIOS_LCD_TYPE_GLCD2 EQU 0x03
+ 00000004 00104 MIOS_LCD_TYPE_GLCD3 EQU 0x04
+ 00000005 00105 MIOS_LCD_TYPE_GLCD4 EQU 0x05
+ 00000006 00106 MIOS_LCD_TYPE_MLCD EQU 0x06
+ 00000007 00107 MIOS_LCD_TYPE_GLCD_CUSTOM EQU 0x07
+ 00108
+ 00109 ;; location of default 5x8 font for graphical displays
+ 00007CFC 00110 MIOS_GLCD_FONT EQU 0x7cfc
+ 00111
+ 00112 ;; general config flags (never overwrite this flags directly!!!)
+ 00000000 00113 MIOS_BOX_CFG0_LCD_TYPE0 EQU 0 ; selects LCD type, bit 0
+ 00000001 00114 MIOS_BOX_CFG0_LCD_TYPE1 EQU 1 ; selects LCD type, bit 1
+ 00000002 00115 MIOS_BOX_CFG0_LCD_TYPE2 EQU 2 ; selects LCD type, bit 2
+ 00000003 00116 MIOS_BOX_CFG0_USE_GLCD EQU 3 ; if 1, graphical LCD is connected
+ 00000004 00117 MIOS_BOX_CFG0_MERGER EQU 4 ; if 1, MIDI merger is enabled
+ 00000005 00118 MIOS_BOX_CFG0_MBLINK EQU 5 ; if 1, MIDIbox Link is enabled
+ 00000006 00119 MIOS_BOX_CFG0_TO_HOST EQU 6 ; if 1, MIDI interface will run with 38400 baud instead of 31250
+ 00000007 00120 MIOS_BOX_CFG0_20MHz EQU 7 ; if 1, it is assumed that box is running with 20 MHz, else with 40 MHz
+ 00121
+ 00000000 00122 MIOS_BOX_CFG1_BS_A0 EQU 0 ; A0 of BankStick (never change the bit position)
+ 00000001 00123 MIOS_BOX_CFG1_BS_A1 EQU 1 ; A1 of BankStick (never change the bit position)
+ 00000002 00124 MIOS_BOX_CFG1_BS_A2 EQU 2 ; A2 of BankStick (never change the bit position)
+ 00000003 00125 MIOS_BOX_CFG1_BS_DIS_VERIFY EQU 3 ; if 1, writes to the BankStick will not be verified
+ 00000004 00126 MIOS_BOX_CFG1_IIC_STRETCH_CLK EQU 4 ; if 1, IIC clock stretching enabled
+ 00127
+ 00128 ;; general status flags (never overwrite this flags directly!!!)
+ 00000000 00129 MIOS_BOX_STAT_BS_AVAILABLE EQU 0 ; if 1, BankStick is available
+ 00000001 00130 MIOS_BOX_STAT_MBLINK_TUNNEL_PASS EQU 1 ; if 1, a MBLinked event will be tunnled
+ 00000002 00131 MIOS_BOX_STAT_SUSPEND_ALL EQU 2 ; if 1, all system and user tasks are suspended
+ 00000003 00132 MIOS_BOX_STAT_SUSPEND_USER EQU 3 ; if 1, all user tasks are suspended
+ 00000004 00133 MIOS_BOX_STAT_AUTOREPEAT EQU 4 ; if 1, start the auto-repeat handler
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 5
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00000005 00134 MIOS_BOX_STAT_MLCD_TRANSFER EQU 5 ; if 1, a transfer to the MLCD has been started
+ 00000006 00135 MIOS_BOX_STAT_FERR EQU 6 ; if 1, a frame error happened during MIDI receive
+ 00136
+ 00137 ;; ==========================================================================
+ 00138 ;; MIOS Special Function Registers
+ 00139 ;; ==========================================================================
+ 00140
+ 00000000 00141 MIOS_BOX_CFG0 EQU 0x000
+ 00000001 00142 MIOS_BOX_CFG1 EQU 0x001
+ 00000002 00143 MIOS_BOX_STAT EQU 0x002
+ 00000003 00144 MIOS_PARAMETER1 EQU 0x003
+ 00000004 00145 MIOS_PARAMETER2 EQU 0x004
+ 00000005 00146 MIOS_PARAMETER3 EQU 0x005
+ 00147
+ 00148 ;; ==========================================================================
+ 00149 ;; temporary registers for main programs
+ 00150 ;; ==========================================================================
+ 00000006 00151 TMP1 EQU 0x006
+ 00000007 00152 TMP2 EQU 0x007
+ 00000008 00153 TMP3 EQU 0x008
+ 00000009 00154 TMP4 EQU 0x009
+ 0000000A 00155 TMP5 EQU 0x00a
+ 00156
+ 00157 ;; ==========================================================================
+ 00158 ;; temporary registers for IRQs
+ 00159 ;; ==========================================================================
+ 0000000B 00160 IRQ_TMP1 EQU 0x00b
+ 0000000C 00161 IRQ_TMP2 EQU 0x00c
+ 0000000D 00162 IRQ_TMP3 EQU 0x00d
+ 0000000E 00163 IRQ_TMP4 EQU 0x00e
+ 0000000F 00164 IRQ_TMP5 EQU 0x00f
+ 00165
+ 00166 ;; ==========================================================================
+ 00167 ;; free memory space for user application:
+ 00168 ;; ==========================================================================
+ 00169 ;; 0x010-0x37f
+ 00170
+ 00171 ;; ==========================================================================
+ 00172 ;; MIOS System Registers -- not defined here --
+ 00173 ;; never use these memory locations!
+ 00174 ;; ==========================================================================
+ 00175 ;; 0x380-0x6ff
+ 00176
+ 00177 ;; ==========================================================================
+ 00178 ;; MIOS System Registers for custom LCD driver
+ 00179 ;; ==========================================================================
+ 00000570 00180 MIOS_GLCD_BUFFER EQU 0x570 ; note: the buffer must be located at ...0-...7
+ 00000578 00181 MIOS_LCD_OPTION1 EQU 0x578 ; contains the first LCD option given by MIOS_LCD_TypeSet
+ 00000579 00182 MIOS_LCD_OPTION2 EQU 0x579 ; contains the second LCD option given by MIOS_LCD_TypeSet
+ 0000057A 00183 MIOS_LCD_CURSOR_POS EQU 0x57a ; the current cursor pos of characters (GLCD: multiplied by width)
+ 0000057B 00184 MIOS_GLCD_GCURSOR_X EQU 0x57b ; for GLCDs: the current X position of graphical cursor
+ 0000057C 00185 MIOS_GLCD_GCURSOR_Y EQU 0x57c ; for GLCDs: the current Y position of graphical cursor
+ 0000057D 00186 MIOS_GLCD_FONT_WIDTH EQU 0x57d ; for GLCDs: the fontwidth given by MIOS_GLCD_FontInit
+ 0000057E 00187 MIOS_GLCD_FONT_HEIGHT EQU 0x57e ; for GLCDs: the fontheight given by MIOS_GLCD_FontInit
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 6
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 0000057F 00188 MIOS_GLCD_FONT_X0 EQU 0x57f ; for GLCDs: the first byte within a char entry
+ 00000580 00189 MIOS_GLCD_FONT_OFFSET EQU 0x580 ; for GLCDs: the byte offset between the characters
+ 00000581 00190 MIOS_GLCD_FONT_PTRL EQU 0x581 ; for GLCDs: pointer to the character table, low-byte
+ 00000582 00191 MIOS_GLCD_FONT_PTRH EQU 0x582 ; for GLCDs: pointer to the character table, high-byte
+ 00000583 00192 MIOS_LCD_TIMEOUT0 EQU 0x583 ; can be used for timeout loops
+ 00000584 00193 MIOS_LCD_TIMEOUT1 EQU 0x584 ; can be used for timeout loops
+ 00000585 00194 MIOS_GLCD_TMP1 EQU 0x585 ; can be used as temporary buffer
+ 00000586 00195 MIOS_GLCD_TMP2 EQU 0x586 ; can be used as temporary buffer
+ 00000587 00196 MIOS_GLCD_TMP3 EQU 0x587 ; can be used as temporary buffer
+ 00000588 00197 MIOS_GLCD_TMP4 EQU 0x588 ; can be used as temporary buffer
+ 00000589 00198 MIOS_LCD_Y0_OFFSET EQU 0x589 ; Y0 offset of LCD
+ 0000058A 00199 MIOS_LCD_Y1_OFFSET EQU 0x58a ; Y1 offset of LCD
+ 0000058B 00200 MIOS_LCD_Y2_OFFSET EQU 0x58b ; Y2 offset of LCD
+ 0000058C 00201 MIOS_LCD_Y3_OFFSET EQU 0x58c ; Y3 offset of LCD
+ 0000058D 00202 MIOS_LCD_CURSOR_POS_REAL EQU 0x58d ; unmapped cursor position which has been set with MIOS_LCD_CursorSet
+ 0000058E 00203 MIOS_GLCD_FONT_PTRU EQU 0x58e ; for GLCDs: pointer to the character table, upper-byte (>64k flash derivatives only)
+ 00015
+ 00016 ;; ---[ useful macros ]---
+ 00017 #include <macros.h>
+ 00001 ; $Id: macros.h 49 2008-01-30 21:47:31Z tk $
+ 00002 ;
+ 00003 ; Macro Definitions
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 BRA_IFSET MACRO reg, bit, reg_a, label
+ 00014 btfsc reg, bit, reg_a
+ 00015 bra label
+ 00016 ENDM
+ 00017
+ 00018
+ 00019 BRA_IFCLR MACRO reg, bit, reg_a, label
+ 00020 btfss reg, bit, reg_a
+ 00021 bra label
+ 00022 ENDM
+ 00023
+ 00024 GOTO_IFSET MACRO reg, bit, reg_a, label
+ 00025 btfsc reg, bit, reg_a
+ 00026 goto label
+ 00027 ENDM
+ 00028
+ 00029
+ 00030 GOTO_IFCLR MACRO reg, bit, reg_a, label
+ 00031 btfss reg, bit, reg_a
+ 00032 goto label
+ 00033 ENDM
+ 00034
+ 00035 CALL_IFSET MACRO reg, bit, reg_a, label
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 7
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00036 btfsc reg, bit, reg_a
+ 00037 call label
+ 00038 ENDM
+ 00039
+ 00040
+ 00041 CALL_IFCLR MACRO reg, bit, reg_a, label
+ 00042 btfss reg, bit, reg_a
+ 00043 call label
+ 00044 ENDM
+ 00045
+ 00046 RCALL_IFSET MACRO reg, bit, reg_a, label
+ 00047 btfsc reg, bit, reg_a
+ 00048 rcall label
+ 00049 ENDM
+ 00050
+ 00051
+ 00052 RCALL_IFCLR MACRO reg, bit, reg_a, label
+ 00053 btfss reg, bit, reg_a
+ 00054 rcall label
+ 00055 ENDM
+ 00056
+ 00057 ;; ==========================================================================
+ 00058
+ 00059 IRQ_DISABLE MACRO
+ 00060 bcf INTCON, GIE
+ 00061 ENDM
+ 00062
+ 00063 IRQ_ENABLE MACRO
+ 00064 bsf INTCON, GIE
+ 00065 ENDM
+ 00066
+ 00067 ;; ==========================================================================
+ 00068
+ 00069 TABLE_ADDR_FULL MACRO addr
+ 00070 movlw LOW(addr) ; store Lo Byte
+ 00071 movwf TBLPTRL
+ 00072 movlw HIGH(addr) ; store Hi Byte
+ 00073 movwf TBLPTRH
+ 00074 movlw UPPER(addr) ; store upper Byte
+ 00075 movwf TBLPTRU
+ 00076 ENDM
+ 00077
+ 00078 TABLE_ADDR MACRO addr
+ 00079 movlw LOW(addr) ; store Lo Byte
+ 00080 movwf TBLPTRL
+ 00081 movlw HIGH(addr) ; store Hi Byte
+ 00082 movwf TBLPTRH
+ 00083 #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+ 00084 movlw UPPER(addr) ; store Upper Byte
+ 00085 movwf TBLPTRU
+ 00086 #endif
+ 00087 ENDM
+ 00088
+ 00089 TABLE_H MACRO addr
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 8
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00090 movlw HIGH(addr) ; store Hi Byte
+ 00091 movwf TBLPTRH
+ 00092 ENDM
+ 00093
+ 00094 TABLE_L MACRO addr
+ 00095 movlw LOW(addr) ; store Lo Byte
+ 00096 movwf TBLPTRL
+ 00097 ENDM
+ 00098
+ 00099 TABLE_ADD_W MACRO
+ 00100 addwf TBLPTRL, F
+ 00101 movlw 0x00
+ 00102 addwfc TBLPTRH, F
+ 00103 #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+ 00104 movlw 0x00
+ 00105 addwfc TBLPTRU, F
+ 00106 #endif
+ 00107 ENDM
+ 00108
+ 00109 TABLE_ADDR_MUL_W MACRO addr, multiplicator
+ 00110 mullw multiplicator
+ 00111 movlw LOW(addr)
+ 00112 addwf PRODL, W
+ 00113 movwf TBLPTRL
+ 00114 movlw HIGH(addr)
+ 00115 addwfc PRODH, W
+ 00116 movwf TBLPTRH
+ 00117 #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+ 00118 clrf TBLPTRU
+ 00119 movlw UPPER(addr)
+ 00120 addwfc TBLPTRU, F
+ 00121 #endif
+ 00122 ENDM
+ 00123
+ 00124 ;; ==========================================================================
+ 00125
+ 00126 JUMPTABLE_2BYTES MACRO max_value
+ 00127 addlw -(max_value) ; ensure that jump index is not greater than (max_value-1)
+ 00128 skpnc
+ 00129 movlw -(max_value)
+ 00130 addlw max_value
+ 00131 call MIOS_HLP_GetIndex_2bytes
+ 00132 ENDM
+ 00133
+ 00134 JUMPTABLE_2BYTES_UNSECURE MACRO
+ 00135 call MIOS_HLP_GetIndex_2bytes
+ 00136 ENDM
+ 00137
+ 00138 JUMPTABLE_4BYTES MACRO max_value
+ 00139 addlw -(max_value) ; ensure that jump index is not greater than (max_value-1)
+ 00140 skpnc
+ 00141 return
+ 00142 addlw (max_value)
+ 00143 call MIOS_HLP_GetIndex_4bytes
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 9
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00144 ENDM
+ 00145
+ 00146 JUMPTABLE_4BYTES_UNSECURE MACRO
+ 00147 call MIOS_HLP_GetIndex_4bytes
+ 00148 ENDM
+ 00149
+ 00150 ;; ==========================================================================
+ 00151
+ 00152 TWOBYTE_ENTRY MACRO low_byte, high_byte
+ 00153 dw (high_byte << 8) | (low_byte)
+ 00154 ENDM
+ 00155
+ 00156 ;; ==========================================================================
+ 00157
+0000 00158 #define skpnz btfsc STATUS, Z
+0000 00159 #define skpz btfss STATUS, Z
+0000 00160 #define skpndc btfsc STATUS, DC
+0000 00161 #define skpdc btfss STATUS, DC
+0000 00162 #define skpnc btfsc STATUS, C
+0000 00163 #define skpc btfss STATUS, C
+0000 00164 #define clrc bcf STATUS, C
+0000 00165 #define setc bsf STATUS, C
+0000 00166 #define clrz bcf STATUS, Z
+0000 00167 #define setz bsf STATUS, Z
+0000 00168 #define rrf rrcf
+0000 00169 #define rlf rlcf
+ 00170
+ 00171 rgoto MACRO label
+ 00172 bra label
+ 00173 ENDM
+ 00174
+ 00175 SET_BSR MACRO reg
+ 00176 movlb HIGH(reg)
+ 00177 ENDM
+ 00178
+ 00179 ;; ==========================================================================
+ 00180
+ 00181 FONT_ENTRY MACRO width, height, x0, char_offset
+ 00182 dw ((height) << 8) | (width), ((char_offset) << 8) | (x0)
+ 00183 ENDM
+ 00184
+ 00185 ;; ==========================================================================
+ 00186
+ 00187 STRING MACRO length, pos, str
+ 00188 da ((length) << 8) | (pos), str
+ 00189 ENDM
+ 00190
+ 00191 ;; ==========================================================================
+ 00018
+ 00019 ;; ---[ vectors to MIOS functions (never change!) ]---
+ 00020 #include <mios_vectors.inc>
+ 00001 ; $Id: mios_vectors.inc 49 2008-01-30 21:47:31Z tk $
+ 00002
+ 00002C00 00003 MIOS_MIDI_BeginStream EQU 0x2c00
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 10
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002C04 00004 MIOS_MIDI_DeviceIDAutoSet EQU 0x2c04
+ 00002C08 00005 MIOS_MIDI_DeviceIDGet EQU 0x2c08
+ 00002C0C 00006 MIOS_MIDI_DeviceIDSet EQU 0x2c0c
+ 00002C10 00007 MIOS_MIDI_EndStream EQU 0x2c10
+ 00002C14 00008 MIOS_MIDI_Init EQU 0x2c14
+ 00002C18 00009 MIOS_MIDI_InterfaceAutoSet EQU 0x2c18
+ 00002C1C 00010 MIOS_MIDI_InterfaceGet EQU 0x2c1c
+ 00002C20 00011 MIOS_MIDI_InterfaceSet EQU 0x2c20
+ 00002C24 00012 MIOS_MIDI_MergerGet EQU 0x2c24
+ 00002C28 00013 MIOS_MIDI_MergerSet EQU 0x2c28
+ 00002C2C 00014 MIOS_MIDI_RxBufferFree EQU 0x2c2c
+ 00002C30 00015 MIOS_MIDI_RxBufferGet EQU 0x2c30
+ 00002C34 00016 MIOS_MIDI_RxBufferPut EQU 0x2c34
+ 00002C38 00017 MIOS_MIDI_RxBufferUsed EQU 0x2c38
+ 00002C3C 00018 MIOS_MIDI_TxBufferFlush EQU 0x2c3c
+ 00002C40 00019 MIOS_MIDI_TxBufferFree EQU 0x2c40
+ 00002C44 00020 MIOS_MIDI_TxBufferGet EQU 0x2c44
+ 00002C48 00021 MIOS_MIDI_TxBufferPut EQU 0x2c48
+ 00002C4C 00022 MIOS_MIDI_TxBufferUsed EQU 0x2c4c
+ 00002C50 00023 MIOS_MPROC_MergerDisable EQU 0x2c50
+ 00002C54 00024 MIOS_MPROC_MergerEnable EQU 0x2c54
+ 00002C58 00025 MIOS_MPROC_MergerGet EQU 0x2c58
+ 00002C5C 00026 MIOS_AIN_DeadbandGet EQU 0x2c5c
+ 00002C60 00027 MIOS_AIN_DeadbandSet EQU 0x2c60
+ 00002C64 00028 MIOS_AIN_Muxed EQU 0x2c64
+ 00002C68 00029 MIOS_AIN_NumberGet EQU 0x2c68
+ 00002C6C 00030 MIOS_AIN_NumberSet EQU 0x2c6c
+ 00002C70 00031 MIOS_AIN_Pin7bitGet EQU 0x2c70
+ 00002C74 00032 MIOS_AIN_PinGet EQU 0x2c74
+ 00002C78 00033 MIOS_AIN_PinLSBGet EQU 0x2c78
+ 00002C7C 00034 MIOS_AIN_PinMSBGet EQU 0x2c7c
+ 00002C80 00035 MIOS_AIN_UnMuxed EQU 0x2c80
+ 00002C84 00036 MIOS_MF_PWM_DutyCycleDownGet EQU 0x2c84
+ 00002C88 00037 MIOS_MF_PWM_DutyCycleDownSet EQU 0x2c88
+ 00002C8C 00038 MIOS_MF_PWM_DutyCycleUpGet EQU 0x2c8c
+ 00002C90 00039 MIOS_MF_PWM_DutyCycleUpSet EQU 0x2c90
+ 00002C94 00040 MIOS_MF_DeadbandGet EQU 0x2c94
+ 00002C98 00041 MIOS_MF_DeadbandSet EQU 0x2c98
+ 00002C9C 00042 MIOS_MF_Disable EQU 0x2c9c
+ 00002CA0 00043 MIOS_MF_Enable EQU 0x2ca0
+ 00002CA4 00044 MIOS_MF_FaderMove EQU 0x2ca4
+ 00002CA8 00045 MIOS_MF_SuspendDisable EQU 0x2ca8
+ 00002CAC 00046 MIOS_MF_SuspendEnable EQU 0x2cac
+ 00002CB0 00047 MIOS_MF_SuspendGet EQU 0x2cb0
+ 00002CB4 00048 MIOS_DIN_PinGet EQU 0x2cb4
+ 00002CB8 00049 MIOS_DIN_SRGet EQU 0x2cb8
+ 00002CBC 00050 MIOS_DOUT_PinGet EQU 0x2cbc
+ 00002CC0 00051 MIOS_DOUT_PinSet EQU 0x2cc0
+ 00002CC4 00052 MIOS_DOUT_PinSet0 EQU 0x2cc4
+ 00002CC8 00053 MIOS_DOUT_PinSet1 EQU 0x2cc8
+ 00002CCC 00054 MIOS_DOUT_SRGet EQU 0x2ccc
+ 00002CD0 00055 MIOS_DOUT_SRSet EQU 0x2cd0
+ 00002CD4 00056 MIOS_ENC_Abs7bitAdd EQU 0x2cd4
+ 00002CD8 00057 MIOS_ENC_Abs7bitGet EQU 0x2cd8
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 11
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002CDC 00058 MIOS_ENC_Abs7bitSet EQU 0x2cdc
+ 00002CE0 00059 MIOS_ENC_NumberGet EQU 0x2ce0
+ 00002CE4 00060 MIOS_ENC_SpeedGet EQU 0x2ce4
+ 00002CE8 00061 MIOS_ENC_SpeedSet EQU 0x2ce8
+ 00002CEC 00062 MIOS_SRIO_NumberGet EQU 0x2cec
+ 00002CF0 00063 MIOS_SRIO_NumberSet EQU 0x2cf0
+ 00002CF4 00064 MIOS_SRIO_TS_SensitivityGet EQU 0x2cf4
+ 00002CF8 00065 MIOS_SRIO_TS_SensitivitySet EQU 0x2cf8
+ 00002CFC 00066 MIOS_SRIO_UpdateFrqGet EQU 0x2cfc
+ 00002D00 00067 MIOS_SRIO_UpdateFrqSet EQU 0x2d00
+ 00002D04 00068 MIOS_LCD_Clear EQU 0x2d04
+ 00002D08 00069 MIOS_LCD_Cmd EQU 0x2d08
+ 00002D0C 00070 MIOS_LCD_CursorGet EQU 0x2d0c
+ 00002D10 00071 MIOS_LCD_CursorSet EQU 0x2d10
+ 00002D14 00072 MIOS_LCD_Data EQU 0x2d14
+ 00002D18 00073 MIOS_LCD_Init EQU 0x2d18
+ 00002D1C 00074 MIOS_LCD_PrintBCD1 EQU 0x2d1c
+ 00002D20 00075 MIOS_LCD_PrintBCD2 EQU 0x2d20
+ 00002D24 00076 MIOS_LCD_PrintBCD3 EQU 0x2d24
+ 00002D28 00077 MIOS_LCD_PrintChar EQU 0x2d28
+ 00002D2C 00078 MIOS_LCD_PrintHex1 EQU 0x2d2c
+ 00002D30 00079 MIOS_LCD_PrintHex2 EQU 0x2d30
+ 00002D34 00080 MIOS_LCD_PrintMessage EQU 0x2d34
+ 00002D38 00081 MIOS_LCD_PrintPreconfString EQU 0x2d38
+ 00002D3C 00082 MIOS_LCD_PrintString EQU 0x2d3c
+ 00002D40 00083 MIOS_LCD_TypeAutoSet EQU 0x2d40
+ 00002D44 00084 MIOS_LCD_TypeGet EQU 0x2d44
+ 00002D48 00085 MIOS_LCD_TypeSet EQU 0x2d48
+ 00002D4C 00086 MIOS_LCD_YAddressGet EQU 0x2d4c
+ 00002D50 00087 MIOS_LCD_YAddressSet EQU 0x2d50
+ 00002D54 00088 MIOS_GLCD_FontInit EQU 0x2d54
+ 00002D58 00089 MIOS_GLCD_GCursorGet EQU 0x2d58
+ 00002D5C 00090 MIOS_GLCD_GCursorSet EQU 0x2d5c
+ 00002D60 00091 MIOS_EEPROM_Read EQU 0x2d60
+ 00002D64 00092 MIOS_EEPROM_Write EQU 0x2d64
+ 00002D68 00093 MIOS_FLASH_Read EQU 0x2d68
+ 00002D6C 00094 MIOS_FLASH_Write EQU 0x2d6c
+ 00002D70 00095 MIOS_BANKSTICK_Read EQU 0x2d70
+ 00002D74 00096 MIOS_BANKSTICK_Write EQU 0x2d74
+ 00002D78 00097 MIOS_TIMER_Init EQU 0x2d78
+ 00002D7C 00098 MIOS_TIMER_Start EQU 0x2d7c
+ 00002D80 00099 MIOS_TIMER_Stop EQU 0x2d80
+ 00002D84 00100 MIOS_HLP_AddressFromTable EQU 0x2d84
+ 00002D88 00101 MIOS_HLP_GetBitANDMask EQU 0x2d88
+ 00002D8C 00102 MIOS_HLP_GetBitORMask EQU 0x2d8c
+ 00002D90 00103 MIOS_HLP_GetIndex_2bytes EQU 0x2d90
+ 00002D94 00104 MIOS_HLP_GetIndex_4bytes EQU 0x2d94
+ 00002D98 00105 MIOS_HLP_IndirectJump EQU 0x2d98
+ 00002D9C 00106 MIOS_Delay EQU 0x2d9c
+ 00002DA0 00107 MIOS_GPCounterGet EQU 0x2da0
+ 00002DA4 00108 MIOS_Reset EQU 0x2da4
+ 00002DA8 00109 MIOS_SystemResume EQU 0x2da8
+ 00002DAC 00110 MIOS_SystemSuspend EQU 0x2dac
+ 00002DB0 00111 MIOS_UserResume EQU 0x2db0
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 12
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002DB4 00112 MIOS_UserSuspend EQU 0x2db4
+ 00002DB8 00113 MIOS_HLP_16bitAddSaturate EQU 0x2db8
+ 00002DBC 00114 MIOS_DIN_PinAutoRepeatEnable EQU 0x2dbc
+ 00002DC0 00115 MIOS_DIN_PinAutoRepeatDisable EQU 0x2dc0
+ 00002DC4 00116 MIOS_DIN_PinAutoRepeatGet EQU 0x2dc4
+ 00002DC8 00117 MIOS_CLCD_SpecialCharInit EQU 0x2dc8
+ 00002DCC 00118 MIOS_CLCD_SpecialCharsInit EQU 0x2dcc
+ 00002DD0 00119 MIOS_AIN_DynamicPrioSet EQU 0x2dd0
+ 00002DD4 00120 MIOS_AIN_DynamicPrioGet EQU 0x2dd4
+ 00002DD8 00121 MIOS_AIN_LastPinsGet EQU 0x2dd8
+ 00002DDC 00122 MIOS_BANKSTICK_CtrlSet EQU 0x2ddc
+ 00002DE0 00123 MIOS_BANKSTICK_CtrlGet EQU 0x2de0
+ 00002DE4 00124 MIOS_BANKSTICK_WritePage EQU 0x2de4
+ 00002DE8 00125 MIOS_HLP_Dec2BCD EQU 0x2de8
+ 00002DEC 00126 MIOS_LCD_PrintBCD4 EQU 0x2dec
+ 00002DF0 00127 MIOS_LCD_PrintBCD5 EQU 0x2df0
+ 00002DF4 00128 MIOS_LCD_MessageStart EQU 0x2df4
+ 00002DF8 00129 MIOS_LCD_MessageStop EQU 0x2df8
+ 00002DFC 00130 MIOS_MF_PWM_PeriodGet EQU 0x2dfc
+ 00002E00 00131 MIOS_MF_PWM_PeriodSet EQU 0x2e00
+ 00002E04 00132 MIOS_IIC_Start EQU 0x2e04
+ 00002E08 00133 MIOS_IIC_Stop EQU 0x2e08
+ 00002E0C 00134 MIOS_IIC_ByteSend EQU 0x2e0c
+ 00002E10 00135 MIOS_IIC_ByteReceive EQU 0x2e10
+ 00002E14 00136 MIOS_IIC_AckSend EQU 0x2e14
+ 00002E18 00137 MIOS_IIC_NakSend EQU 0x2e18
+ 00002E1C 00138 MIOS_IIC_CtrlSet EQU 0x2e1c
+ 00002E20 00139 MIOS_IIC_CtrlGet EQU 0x2e20
+ 00002E24 00140 MIOS_SRIO_DebounceSet EQU 0x2e24
+ 00002E28 00141 MIOS_SRIO_DebounceGet EQU 0x2e28
+ 00002E2C 00142 MIOS_MF_TouchDetectionReset EQU 0x2e2c
+ 00002E30 00143 MIOS_BANKSTICK_ReadPage EQU 0x2e30
+ 00002E34 00144 MIOS_EEPROM_ReadPage EQU 0x2e34
+ 00002E38 00145 MIOS_EEPROM_WritePage EQU 0x2e38
+ 00002E3C 00146 MIOS_TIMER_ReInit EQU 0x2e3c
+ 00002E40 00147 MIOS_RESERVED_144 EQU 0x2e40
+ 00002E44 00148 MIOS_RESERVED_145 EQU 0x2e44
+ 00002E48 00149 MIOS_RESERVED_146 EQU 0x2e48
+ 00002E4C 00150 MIOS_RESERVED_147 EQU 0x2e4c
+ 00002E50 00151 MIOS_RESERVED_148 EQU 0x2e50
+ 00002E54 00152 MIOS_RESERVED_149 EQU 0x2e54
+ 00002E58 00153 MIOS_RESERVED_150 EQU 0x2e58
+ 00002E5C 00154 MIOS_RESERVED_151 EQU 0x2e5c
+ 00002E60 00155 MIOS_RESERVED_152 EQU 0x2e60
+ 00002E64 00156 MIOS_RESERVED_153 EQU 0x2e64
+ 00002E68 00157 MIOS_RESERVED_154 EQU 0x2e68
+ 00002E6C 00158 MIOS_RESERVED_155 EQU 0x2e6c
+ 00002E70 00159 MIOS_RESERVED_156 EQU 0x2e70
+ 00002E74 00160 MIOS_RESERVED_157 EQU 0x2e74
+ 00002E78 00161 MIOS_RESERVED_158 EQU 0x2e78
+ 00002E7C 00162 MIOS_RESERVED_159 EQU 0x2e7c
+ 00002E80 00163 MIOS_RESERVED_160 EQU 0x2e80
+ 00002E84 00164 MIOS_RESERVED_161 EQU 0x2e84
+ 00002E88 00165 MIOS_RESERVED_162 EQU 0x2e88
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 13
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002E8C 00166 MIOS_RESERVED_163 EQU 0x2e8c
+ 00002E90 00167 MIOS_RESERVED_164 EQU 0x2e90
+ 00002E94 00168 MIOS_RESERVED_165 EQU 0x2e94
+ 00002E98 00169 MIOS_RESERVED_166 EQU 0x2e98
+ 00002E9C 00170 MIOS_RESERVED_167 EQU 0x2e9c
+ 00002EA0 00171 MIOS_RESERVED_168 EQU 0x2ea0
+ 00002EA4 00172 MIOS_RESERVED_169 EQU 0x2ea4
+ 00002EA8 00173 MIOS_RESERVED_170 EQU 0x2ea8
+ 00002EAC 00174 MIOS_RESERVED_171 EQU 0x2eac
+ 00002EB0 00175 MIOS_RESERVED_172 EQU 0x2eb0
+ 00002EB4 00176 MIOS_RESERVED_173 EQU 0x2eb4
+ 00002EB8 00177 MIOS_RESERVED_174 EQU 0x2eb8
+ 00002EBC 00178 MIOS_RESERVED_175 EQU 0x2ebc
+ 00002EC0 00179 MIOS_RESERVED_176 EQU 0x2ec0
+ 00002EC4 00180 MIOS_RESERVED_177 EQU 0x2ec4
+ 00002EC8 00181 MIOS_RESERVED_178 EQU 0x2ec8
+ 00002ECC 00182 MIOS_RESERVED_179 EQU 0x2ecc
+ 00002ED0 00183 MIOS_RESERVED_180 EQU 0x2ed0
+ 00002ED4 00184 MIOS_RESERVED_181 EQU 0x2ed4
+ 00002ED8 00185 MIOS_RESERVED_182 EQU 0x2ed8
+ 00002EDC 00186 MIOS_RESERVED_183 EQU 0x2edc
+ 00002EE0 00187 MIOS_RESERVED_184 EQU 0x2ee0
+ 00002EE4 00188 MIOS_RESERVED_185 EQU 0x2ee4
+ 00002EE8 00189 MIOS_RESERVED_186 EQU 0x2ee8
+ 00002EEC 00190 MIOS_RESERVED_187 EQU 0x2eec
+ 00002EF0 00191 MIOS_RESERVED_188 EQU 0x2ef0
+ 00002EF4 00192 MIOS_RESERVED_189 EQU 0x2ef4
+ 00002EF8 00193 MIOS_RESERVED_190 EQU 0x2ef8
+ 00002EFC 00194 MIOS_RESERVED_191 EQU 0x2efc
+ 00002F00 00195 MIOS_RESERVED_192 EQU 0x2f00
+ 00002F04 00196 MIOS_RESERVED_193 EQU 0x2f04
+ 00002F08 00197 MIOS_RESERVED_194 EQU 0x2f08
+ 00002F0C 00198 MIOS_RESERVED_195 EQU 0x2f0c
+ 00002F10 00199 MIOS_RESERVED_196 EQU 0x2f10
+ 00002F14 00200 MIOS_RESERVED_197 EQU 0x2f14
+ 00002F18 00201 MIOS_RESERVED_198 EQU 0x2f18
+ 00002F1C 00202 MIOS_RESERVED_199 EQU 0x2f1c
+ 00002F20 00203 MIOS_RESERVED_200 EQU 0x2f20
+ 00002F24 00204 MIOS_RESERVED_201 EQU 0x2f24
+ 00002F28 00205 MIOS_RESERVED_202 EQU 0x2f28
+ 00002F2C 00206 MIOS_RESERVED_203 EQU 0x2f2c
+ 00002F30 00207 MIOS_RESERVED_204 EQU 0x2f30
+ 00002F34 00208 MIOS_RESERVED_205 EQU 0x2f34
+ 00002F38 00209 MIOS_RESERVED_206 EQU 0x2f38
+ 00002F3C 00210 MIOS_RESERVED_207 EQU 0x2f3c
+ 00002F40 00211 MIOS_RESERVED_208 EQU 0x2f40
+ 00002F44 00212 MIOS_RESERVED_209 EQU 0x2f44
+ 00002F48 00213 MIOS_RESERVED_210 EQU 0x2f48
+ 00002F4C 00214 MIOS_RESERVED_211 EQU 0x2f4c
+ 00002F50 00215 MIOS_RESERVED_212 EQU 0x2f50
+ 00002F54 00216 MIOS_RESERVED_213 EQU 0x2f54
+ 00002F58 00217 MIOS_RESERVED_214 EQU 0x2f58
+ 00002F5C 00218 MIOS_RESERVED_215 EQU 0x2f5c
+ 00002F60 00219 MIOS_RESERVED_216 EQU 0x2f60
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 14
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00002F64 00220 MIOS_RESERVED_217 EQU 0x2f64
+ 00002F68 00221 MIOS_RESERVED_218 EQU 0x2f68
+ 00002F6C 00222 MIOS_RESERVED_219 EQU 0x2f6c
+ 00002F70 00223 MIOS_RESERVED_220 EQU 0x2f70
+ 00002F74 00224 MIOS_RESERVED_221 EQU 0x2f74
+ 00002F78 00225 MIOS_RESERVED_222 EQU 0x2f78
+ 00002F7C 00226 MIOS_RESERVED_223 EQU 0x2f7c
+ 00002F80 00227 MIOS_RESERVED_224 EQU 0x2f80
+ 00002F84 00228 MIOS_RESERVED_225 EQU 0x2f84
+ 00002F88 00229 MIOS_RESERVED_226 EQU 0x2f88
+ 00002F8C 00230 MIOS_RESERVED_227 EQU 0x2f8c
+ 00002F90 00231 MIOS_RESERVED_228 EQU 0x2f90
+ 00002F94 00232 MIOS_RESERVED_229 EQU 0x2f94
+ 00002F98 00233 MIOS_RESERVED_230 EQU 0x2f98
+ 00002F9C 00234 MIOS_RESERVED_231 EQU 0x2f9c
+ 00002FA0 00235 MIOS_RESERVED_232 EQU 0x2fa0
+ 00002FA4 00236 MIOS_RESERVED_233 EQU 0x2fa4
+ 00002FA8 00237 MIOS_RESERVED_234 EQU 0x2fa8
+ 00002FAC 00238 MIOS_RESERVED_235 EQU 0x2fac
+ 00002FB0 00239 MIOS_RESERVED_236 EQU 0x2fb0
+ 00002FB4 00240 MIOS_RESERVED_237 EQU 0x2fb4
+ 00002FB8 00241 MIOS_RESERVED_238 EQU 0x2fb8
+ 00002FBC 00242 MIOS_RESERVED_239 EQU 0x2fbc
+ 00002FC0 00243 MIOS_RESERVED_240 EQU 0x2fc0
+ 00002FC4 00244 MIOS_RESERVED_241 EQU 0x2fc4
+ 00002FC8 00245 MIOS_RESERVED_242 EQU 0x2fc8
+ 00002FCC 00246 MIOS_RESERVED_243 EQU 0x2fcc
+ 00002FD0 00247 MIOS_RESERVED_244 EQU 0x2fd0
+ 00002FD4 00248 MIOS_RESERVED_245 EQU 0x2fd4
+ 00002FD8 00249 MIOS_RESERVED_246 EQU 0x2fd8
+ 00002FDC 00250 MIOS_RESERVED_247 EQU 0x2fdc
+ 00002FE0 00251 MIOS_RESERVED_248 EQU 0x2fe0
+ 00002FE4 00252 MIOS_RESERVED_249 EQU 0x2fe4
+ 00002FE8 00253 MIOS_RESERVED_250 EQU 0x2fe8
+ 00002FEC 00254 MIOS_RESERVED_251 EQU 0x2fec
+ 00002FF0 00255 MIOS_RESERVED_252 EQU 0x2ff0
+ 00002FF4 00256 MIOS_RESERVED_253 EQU 0x2ff4
+ 00002FF8 00257 MIOS_RESERVED_254 EQU 0x2ff8
+ 00002FFC 00258 MIOS_RESERVED_255 EQU 0x2ffc
+ 00021
+ 00022 ;; ---[ user hooks (never change!) ]---
+ 00023 #include <user_vectors.inc>
+ 00001 ; $Id: user_vectors.inc 49 2008-01-30 21:47:31Z tk $
+ 00002 ;
+ 00003 ; User vectortable - contains user hooks to MIOS
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 15
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00013 ;; never change the origin or the order of entries!
+3000 00014 org 0x3000
+3000 00015 _User_Init
+3000 EF87 F019 00016 goto USER_Init
+3004 00017 _USER_Tick
+3004 EF95 F019 00018 goto USER_Tick
+3008 00019 _USER_Timer
+3008 EF96 F019 00020 goto USER_Timer
+300C 00021 _USER_MPROC_DebugTrigger
+300C EF97 F019 00022 goto USER_MPROC_DebugTrigger
+3010 00023 _USER_DISPLAY_Init
+3010 EF98 F019 00024 goto USER_DISPLAY_Init
+3014 00025 _USER_DISPLAY_Tick
+3014 EFB6 F019 00026 goto USER_DISPLAY_Tick
+3018 00027 _USER_SR_Service_Prepare
+3018 EFBF F019 00028 goto USER_SR_Service_Prepare
+301C 00029 _USER_SR_Service_Finish
+301C EFC0 F019 00030 goto USER_SR_Service_Finish
+3020 00031 _USER_DIN_NotifyToggle
+3020 EFBD F019 00032 goto USER_DIN_NotifyToggle
+3024 00033 _USER_ENC_NotifyChange
+3024 EFBE F019 00034 goto USER_ENC_NotifyChange
+3028 00035 _USER_AIN_NotifyChange
+3028 EFC1 F019 00036 goto USER_AIN_NotifyChange
+302C 00037 _USER_MPROC_NotifyReceivedByte
+302C EFBA F019 00038 goto USER_MPROC_NotifyReceivedByte
+3030 00039 _USER_MPROC_NotifyTimeout
+3030 EFB9 F019 00040 goto USER_MPROC_NotifyTimeout
+3034 00041 _USER_MPROC_NotifyReceivedEvent
+3034 EFB7 F019 00042 goto USER_MPROC_NotifyReceivedEvent
+3038 00043 _USER_MPROC_NotifyFoundEvent
+3038 EFB8 F019 00044 goto USER_MPROC_NotifyFoundEvent
+303C 00045 _USER_LCD_Init
+303C EF80 F019 00046 goto USER_LCD_Init
+3040 00047 _USER_LCD_Clear
+3040 EF81 F019 00048 goto USER_LCD_Clear
+3044 00049 _USER_LCD_CursorSet
+3044 EF82 F019 00050 goto USER_LCD_CursorSet
+3048 00051 _USER_LCD_PrintChar
+3048 EF83 F019 00052 goto USER_LCD_PrintChar
+304C 00053 _USER_MIDI_NotifyRx
+304C EFBC F019 00054 goto USER_MIDI_NotifyRx
+3050 00055 _USER_MIDI_NotifyTx
+3050 EFBB F019 00056 goto USER_MIDI_NotifyTx
+3054 00057 _USER_LCD_Data
+3054 EF84 F019 00058 goto USER_LCD_Data
+3058 00059 _USER_LCD_Cmd
+3058 EF85 F019 00060 goto USER_LCD_Cmd
+305C 00061 _USER_LCD_SpecialCharInit
+305C EF86 F019 00062 goto USER_LCD_SpecialCharInit
+3060 00063 USER_RESERVED_25
+3060 0012 00064 return
+3062 0000 00065 nop
+3064 00066 USER_RESERVED_26
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 16
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3064 0012 00067 return
+3066 0000 00068 nop
+3068 00069 USER_RESERVED_27
+3068 0012 00070 return
+306A 0000 00071 nop
+306C 00072 USER_RESERVED_28
+306C 0012 00073 return
+306E 0000 00074 nop
+3070 00075 USER_RESERVED_29
+3070 0012 00076 return
+3072 0000 00077 nop
+3074 00078 USER_RESERVED_30
+3074 0012 00079 return
+3076 0000 00080 nop
+3078 00081 USER_RESERVED_31
+3078 0012 00082 return
+307A 0000 00083 nop
+307C 00084 USER_RESERVED_32
+307C 0012 00085 return
+307E 0000 00086 nop
+ 00024
+ 00025 ;; ==========================================================================
+ 00026 ;; General Application Settings
+ 00027 ;; ==========================================================================
+ 00028
+ 00029 ;; ---[ variables used by application ]---
+ 00030 #include "app_defines.h"
+ 00001 ; $Id: app_defines.h bdupeyron.tech@gmail.com(Antichambre)
+ 00002 ;
+ 00003 ; Specific Defines and variables of MIOS Application
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 ;; free memory for user applications:
+ 00014 ;; 0x010-0x37f
+ 00015
+ 00016 ;; ==========================================================================
+ 00017 ;; TIA register set
+ 00018 ;; ==========================================================================
+ 00000100 00019 TIA_BASE EQU 0x100 ; address space of TIA chip (used: 0x00-0x05)
+ 00020
+ 00000100 00021 TIA_AUDC0 EQU TIA_BASE+0x00 ;; control. for voice 1 (Aud0)
+ 00000101 00022 TIA_AUDC1 EQU TIA_BASE+0x01 ;; control. for voice 2 (Aud1)
+ 00000102 00023 TIA_AUDF0 EQU TIA_BASE+0x02 ;; freq. for voice 1 (Aud0)
+ 00000103 00024 TIA_AUDF1 EQU TIA_BASE+0x03 ;; freq. for voice 2 (Aud1)
+ 00000104 00025 TIA_AUDV0 EQU TIA_BASE+0x04 ;; vol. for voice 1 (Aud0)
+ 00000105 00026 TIA_AUDV1 EQU TIA_BASE+0x05 ;; vol. for voice 2 (Aud1)
+ 00027
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 17
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 0000010F 00028 TIA_BASE_END EQU 0x10f
+ 00029
+ 00030 ;; ==========================================================================
+ 00031
+ 00000110 00032 TIA_SHADOW_BASE EQU 0x110 ; shadow addresses, necessary to determine changes (used: 0x00-0x05)
+ 00033
+ 00034 ;; (TIA_SHADOW_BASE + 0x00) to (TIA_SHADOW_BASE + 0x05) allocated by shadow registers
+ 00035
+ 0000011F 00036 TIA_SHADOW_END EQU 0x11f
+ 00037
+ 00031
+ 00032 ; ==========================================================================
+ 00033
+ 00034 ;; ---[ configuration table for MIDI processor and rotary encoders ]---
+ 00035 #include <mios_mt_table.inc>
+ 00001 ; $Id: mios_mt_table.inc 69 2008-02-01 00:20:18Z tk $
+ 00002 ;
+ 00003 ; "Dummy" MIDI Trigger Configuaration Table
+ 00004 ;
+ 00005 ; Should be included by the application, if the MIDI processor feature
+ 00006 ; is not used in order to pre-initialize the table area with EOT's
+ 00007 ;
+ 00008 ; Note: due to the inflexible concept (e.g. handling of Note On/Off events),
+ 00009 ; the usage of this function is not recommented for new designs - please parse
+ 00010 ; MIDI events locally within the application.
+ 00011 ;
+ 00012 ;
+3080 00013 org 0x3080 ; never change the origin!
+ 00014
+ 00015 ;; --------------------------------------------------------------------------
+ 00016 ;; The MIDI Trigger table maps incoming MIDI events to control elements
+ 00017 ;; (pots/faders, encoders, buttons, LEDs, ...)
+ 00018 ;;
+ 00019 ;; After the MIOS MIDI processor (MPROC) has received a complete event, it
+ 00020 ;; searches in this table for a matching entry and calls USER_MPROC_NotifyFoundEvent
+ 00021 ;; with the table index in WREG and the MIDI event in MIOS_PARAMETER[123]
+ 00022 ;;
+ 00023 ;; Note also that the MIDI processor stops scanning the table after
+ 00024 ;; the first MT_EOT entry
+ 00025 ;;
+ 00026 ;; Note2: never change the origin (memory location) of this table!
+ 00027 ;;
+ 00028 ;; Optionally this table can also be used to define events, which should be
+ 00029 ;; transmitted (Example: see example_ain64_din128_dout128), so that incoming
+ 00030 ;; and outgoing events are located at one place
+ 00031 ;;
+ 00032 ;; The table *must* contain 256 entries. Unused entries should be filled with
+ 00033 ;; MT_EOT.
+ 00034 ;; --------------------------------------------------------------------------
+ 00035
+ 00036 ;; MIDI Trigger entry structure
+ 00037 MT_ENTRY MACRO event_0, event_1
+ 00038 dw (event_1 << 8) | event_0
+ 00039 ENDM
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 18
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00040
+ 00041 MT_EOT MACRO
+ 00042 dw 0xffff
+ 00043 ENDM
+ 00044
+ 00045
+3080 00046 _MIOS_MPROC_EVENT_TABLE
+3080 00047 MIOS_MPROC_EVENT_TABLE
+ 00048 ;; entry 0x00-0x0f
+ 00049 MT_EOT
+3080 FFFF M dw 0xffff
+ 00050 MT_EOT
+3082 FFFF M dw 0xffff
+ 00051 MT_EOT
+3084 FFFF M dw 0xffff
+ 00052 MT_EOT
+3086 FFFF M dw 0xffff
+ 00053 MT_EOT
+3088 FFFF M dw 0xffff
+ 00054 MT_EOT
+308A FFFF M dw 0xffff
+ 00055 MT_EOT
+308C FFFF M dw 0xffff
+ 00056 MT_EOT
+308E FFFF M dw 0xffff
+ 00057 MT_EOT
+3090 FFFF M dw 0xffff
+ 00058 MT_EOT
+3092 FFFF M dw 0xffff
+ 00059 MT_EOT
+3094 FFFF M dw 0xffff
+ 00060 MT_EOT
+3096 FFFF M dw 0xffff
+ 00061 MT_EOT
+3098 FFFF M dw 0xffff
+ 00062 MT_EOT
+309A FFFF M dw 0xffff
+ 00063 MT_EOT
+309C FFFF M dw 0xffff
+ 00064 MT_EOT
+309E FFFF M dw 0xffff
+ 00065
+ 00066 ;; entry 0x10-0x1f
+ 00067 MT_EOT
+30A0 FFFF M dw 0xffff
+ 00068 MT_EOT
+30A2 FFFF M dw 0xffff
+ 00069 MT_EOT
+30A4 FFFF M dw 0xffff
+ 00070 MT_EOT
+30A6 FFFF M dw 0xffff
+ 00071 MT_EOT
+30A8 FFFF M dw 0xffff
+ 00072 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 19
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+30AA FFFF M dw 0xffff
+ 00073 MT_EOT
+30AC FFFF M dw 0xffff
+ 00074 MT_EOT
+30AE FFFF M dw 0xffff
+ 00075 MT_EOT
+30B0 FFFF M dw 0xffff
+ 00076 MT_EOT
+30B2 FFFF M dw 0xffff
+ 00077 MT_EOT
+30B4 FFFF M dw 0xffff
+ 00078 MT_EOT
+30B6 FFFF M dw 0xffff
+ 00079 MT_EOT
+30B8 FFFF M dw 0xffff
+ 00080 MT_EOT
+30BA FFFF M dw 0xffff
+ 00081 MT_EOT
+30BC FFFF M dw 0xffff
+ 00082 MT_EOT
+30BE FFFF M dw 0xffff
+ 00083
+ 00084 ;; entry 0x20-0x2f
+ 00085 MT_EOT
+30C0 FFFF M dw 0xffff
+ 00086 MT_EOT
+30C2 FFFF M dw 0xffff
+ 00087 MT_EOT
+30C4 FFFF M dw 0xffff
+ 00088 MT_EOT
+30C6 FFFF M dw 0xffff
+ 00089 MT_EOT
+30C8 FFFF M dw 0xffff
+ 00090 MT_EOT
+30CA FFFF M dw 0xffff
+ 00091 MT_EOT
+30CC FFFF M dw 0xffff
+ 00092 MT_EOT
+30CE FFFF M dw 0xffff
+ 00093 MT_EOT
+30D0 FFFF M dw 0xffff
+ 00094 MT_EOT
+30D2 FFFF M dw 0xffff
+ 00095 MT_EOT
+30D4 FFFF M dw 0xffff
+ 00096 MT_EOT
+30D6 FFFF M dw 0xffff
+ 00097 MT_EOT
+30D8 FFFF M dw 0xffff
+ 00098 MT_EOT
+30DA FFFF M dw 0xffff
+ 00099 MT_EOT
+30DC FFFF M dw 0xffff
+ 00100 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 20
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+30DE FFFF M dw 0xffff
+ 00101
+ 00102 ;; entry 0x30-0x3f
+ 00103 MT_EOT
+30E0 FFFF M dw 0xffff
+ 00104 MT_EOT
+30E2 FFFF M dw 0xffff
+ 00105 MT_EOT
+30E4 FFFF M dw 0xffff
+ 00106 MT_EOT
+30E6 FFFF M dw 0xffff
+ 00107 MT_EOT
+30E8 FFFF M dw 0xffff
+ 00108 MT_EOT
+30EA FFFF M dw 0xffff
+ 00109 MT_EOT
+30EC FFFF M dw 0xffff
+ 00110 MT_EOT
+30EE FFFF M dw 0xffff
+ 00111 MT_EOT
+30F0 FFFF M dw 0xffff
+ 00112 MT_EOT
+30F2 FFFF M dw 0xffff
+ 00113 MT_EOT
+30F4 FFFF M dw 0xffff
+ 00114 MT_EOT
+30F6 FFFF M dw 0xffff
+ 00115 MT_EOT
+30F8 FFFF M dw 0xffff
+ 00116 MT_EOT
+30FA FFFF M dw 0xffff
+ 00117 MT_EOT
+30FC FFFF M dw 0xffff
+ 00118 MT_EOT
+30FE FFFF M dw 0xffff
+ 00119
+ 00120 ;; entry 0x40-0x4f
+ 00121 MT_EOT
+3100 FFFF M dw 0xffff
+ 00122 MT_EOT
+3102 FFFF M dw 0xffff
+ 00123 MT_EOT
+3104 FFFF M dw 0xffff
+ 00124 MT_EOT
+3106 FFFF M dw 0xffff
+ 00125 MT_EOT
+3108 FFFF M dw 0xffff
+ 00126 MT_EOT
+310A FFFF M dw 0xffff
+ 00127 MT_EOT
+310C FFFF M dw 0xffff
+ 00128 MT_EOT
+310E FFFF M dw 0xffff
+ 00129 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 21
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3110 FFFF M dw 0xffff
+ 00130 MT_EOT
+3112 FFFF M dw 0xffff
+ 00131 MT_EOT
+3114 FFFF M dw 0xffff
+ 00132 MT_EOT
+3116 FFFF M dw 0xffff
+ 00133 MT_EOT
+3118 FFFF M dw 0xffff
+ 00134 MT_EOT
+311A FFFF M dw 0xffff
+ 00135 MT_EOT
+311C FFFF M dw 0xffff
+ 00136 MT_EOT
+311E FFFF M dw 0xffff
+ 00137
+ 00138 ;; entry 0x50-0x5f
+ 00139 MT_EOT
+3120 FFFF M dw 0xffff
+ 00140 MT_EOT
+3122 FFFF M dw 0xffff
+ 00141 MT_EOT
+3124 FFFF M dw 0xffff
+ 00142 MT_EOT
+3126 FFFF M dw 0xffff
+ 00143 MT_EOT
+3128 FFFF M dw 0xffff
+ 00144 MT_EOT
+312A FFFF M dw 0xffff
+ 00145 MT_EOT
+312C FFFF M dw 0xffff
+ 00146 MT_EOT
+312E FFFF M dw 0xffff
+ 00147 MT_EOT
+3130 FFFF M dw 0xffff
+ 00148 MT_EOT
+3132 FFFF M dw 0xffff
+ 00149 MT_EOT
+3134 FFFF M dw 0xffff
+ 00150 MT_EOT
+3136 FFFF M dw 0xffff
+ 00151 MT_EOT
+3138 FFFF M dw 0xffff
+ 00152 MT_EOT
+313A FFFF M dw 0xffff
+ 00153 MT_EOT
+313C FFFF M dw 0xffff
+ 00154 MT_EOT
+313E FFFF M dw 0xffff
+ 00155
+ 00156 ;; entry 0x60-0x6f
+ 00157 MT_EOT
+3140 FFFF M dw 0xffff
+ 00158 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 22
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3142 FFFF M dw 0xffff
+ 00159 MT_EOT
+3144 FFFF M dw 0xffff
+ 00160 MT_EOT
+3146 FFFF M dw 0xffff
+ 00161 MT_EOT
+3148 FFFF M dw 0xffff
+ 00162 MT_EOT
+314A FFFF M dw 0xffff
+ 00163 MT_EOT
+314C FFFF M dw 0xffff
+ 00164 MT_EOT
+314E FFFF M dw 0xffff
+ 00165 MT_EOT
+3150 FFFF M dw 0xffff
+ 00166 MT_EOT
+3152 FFFF M dw 0xffff
+ 00167 MT_EOT
+3154 FFFF M dw 0xffff
+ 00168 MT_EOT
+3156 FFFF M dw 0xffff
+ 00169 MT_EOT
+3158 FFFF M dw 0xffff
+ 00170 MT_EOT
+315A FFFF M dw 0xffff
+ 00171 MT_EOT
+315C FFFF M dw 0xffff
+ 00172 MT_EOT
+315E FFFF M dw 0xffff
+ 00173
+ 00174 ;; entry 0x70-0x7f
+ 00175 MT_EOT
+3160 FFFF M dw 0xffff
+ 00176 MT_EOT
+3162 FFFF M dw 0xffff
+ 00177 MT_EOT
+3164 FFFF M dw 0xffff
+ 00178 MT_EOT
+3166 FFFF M dw 0xffff
+ 00179 MT_EOT
+3168 FFFF M dw 0xffff
+ 00180 MT_EOT
+316A FFFF M dw 0xffff
+ 00181 MT_EOT
+316C FFFF M dw 0xffff
+ 00182 MT_EOT
+316E FFFF M dw 0xffff
+ 00183 MT_EOT
+3170 FFFF M dw 0xffff
+ 00184 MT_EOT
+3172 FFFF M dw 0xffff
+ 00185 MT_EOT
+3174 FFFF M dw 0xffff
+ 00186 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 23
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3176 FFFF M dw 0xffff
+ 00187 MT_EOT
+3178 FFFF M dw 0xffff
+ 00188 MT_EOT
+317A FFFF M dw 0xffff
+ 00189 MT_EOT
+317C FFFF M dw 0xffff
+ 00190 MT_EOT
+317E FFFF M dw 0xffff
+ 00191
+ 00192 ;; entry 0x80-0x8f
+ 00193 MT_EOT
+3180 FFFF M dw 0xffff
+ 00194 MT_EOT
+3182 FFFF M dw 0xffff
+ 00195 MT_EOT
+3184 FFFF M dw 0xffff
+ 00196 MT_EOT
+3186 FFFF M dw 0xffff
+ 00197 MT_EOT
+3188 FFFF M dw 0xffff
+ 00198 MT_EOT
+318A FFFF M dw 0xffff
+ 00199 MT_EOT
+318C FFFF M dw 0xffff
+ 00200 MT_EOT
+318E FFFF M dw 0xffff
+ 00201 MT_EOT
+3190 FFFF M dw 0xffff
+ 00202 MT_EOT
+3192 FFFF M dw 0xffff
+ 00203 MT_EOT
+3194 FFFF M dw 0xffff
+ 00204 MT_EOT
+3196 FFFF M dw 0xffff
+ 00205 MT_EOT
+3198 FFFF M dw 0xffff
+ 00206 MT_EOT
+319A FFFF M dw 0xffff
+ 00207 MT_EOT
+319C FFFF M dw 0xffff
+ 00208 MT_EOT
+319E FFFF M dw 0xffff
+ 00209
+ 00210 ;; entry 0x90-0x9f
+ 00211 MT_EOT
+31A0 FFFF M dw 0xffff
+ 00212 MT_EOT
+31A2 FFFF M dw 0xffff
+ 00213 MT_EOT
+31A4 FFFF M dw 0xffff
+ 00214 MT_EOT
+31A6 FFFF M dw 0xffff
+ 00215 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 24
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+31A8 FFFF M dw 0xffff
+ 00216 MT_EOT
+31AA FFFF M dw 0xffff
+ 00217 MT_EOT
+31AC FFFF M dw 0xffff
+ 00218 MT_EOT
+31AE FFFF M dw 0xffff
+ 00219 MT_EOT
+31B0 FFFF M dw 0xffff
+ 00220 MT_EOT
+31B2 FFFF M dw 0xffff
+ 00221 MT_EOT
+31B4 FFFF M dw 0xffff
+ 00222 MT_EOT
+31B6 FFFF M dw 0xffff
+ 00223 MT_EOT
+31B8 FFFF M dw 0xffff
+ 00224 MT_EOT
+31BA FFFF M dw 0xffff
+ 00225 MT_EOT
+31BC FFFF M dw 0xffff
+ 00226 MT_EOT
+31BE FFFF M dw 0xffff
+ 00227
+ 00228 ;; entry 0xa0-0xaf
+ 00229 MT_EOT
+31C0 FFFF M dw 0xffff
+ 00230 MT_EOT
+31C2 FFFF M dw 0xffff
+ 00231 MT_EOT
+31C4 FFFF M dw 0xffff
+ 00232 MT_EOT
+31C6 FFFF M dw 0xffff
+ 00233 MT_EOT
+31C8 FFFF M dw 0xffff
+ 00234 MT_EOT
+31CA FFFF M dw 0xffff
+ 00235 MT_EOT
+31CC FFFF M dw 0xffff
+ 00236 MT_EOT
+31CE FFFF M dw 0xffff
+ 00237 MT_EOT
+31D0 FFFF M dw 0xffff
+ 00238 MT_EOT
+31D2 FFFF M dw 0xffff
+ 00239 MT_EOT
+31D4 FFFF M dw 0xffff
+ 00240 MT_EOT
+31D6 FFFF M dw 0xffff
+ 00241 MT_EOT
+31D8 FFFF M dw 0xffff
+ 00242 MT_EOT
+31DA FFFF M dw 0xffff
+ 00243 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 25
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+31DC FFFF M dw 0xffff
+ 00244 MT_EOT
+31DE FFFF M dw 0xffff
+ 00245
+ 00246 ;; entry 0xb1-0xbf
+ 00247 MT_EOT
+31E0 FFFF M dw 0xffff
+ 00248 MT_EOT
+31E2 FFFF M dw 0xffff
+ 00249 MT_EOT
+31E4 FFFF M dw 0xffff
+ 00250 MT_EOT
+31E6 FFFF M dw 0xffff
+ 00251 MT_EOT
+31E8 FFFF M dw 0xffff
+ 00252 MT_EOT
+31EA FFFF M dw 0xffff
+ 00253 MT_EOT
+31EC FFFF M dw 0xffff
+ 00254 MT_EOT
+31EE FFFF M dw 0xffff
+ 00255 MT_EOT
+31F0 FFFF M dw 0xffff
+ 00256 MT_EOT
+31F2 FFFF M dw 0xffff
+ 00257 MT_EOT
+31F4 FFFF M dw 0xffff
+ 00258 MT_EOT
+31F6 FFFF M dw 0xffff
+ 00259 MT_EOT
+31F8 FFFF M dw 0xffff
+ 00260 MT_EOT
+31FA FFFF M dw 0xffff
+ 00261 MT_EOT
+31FC FFFF M dw 0xffff
+ 00262 MT_EOT
+31FE FFFF M dw 0xffff
+ 00263
+ 00264 ;; entry 0xc0-0xcf
+ 00265 MT_EOT
+3200 FFFF M dw 0xffff
+ 00266 MT_EOT
+3202 FFFF M dw 0xffff
+ 00267 MT_EOT
+3204 FFFF M dw 0xffff
+ 00268 MT_EOT
+3206 FFFF M dw 0xffff
+ 00269 MT_EOT
+3208 FFFF M dw 0xffff
+ 00270 MT_EOT
+320A FFFF M dw 0xffff
+ 00271 MT_EOT
+320C FFFF M dw 0xffff
+ 00272 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 26
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+320E FFFF M dw 0xffff
+ 00273 MT_EOT
+3210 FFFF M dw 0xffff
+ 00274 MT_EOT
+3212 FFFF M dw 0xffff
+ 00275 MT_EOT
+3214 FFFF M dw 0xffff
+ 00276 MT_EOT
+3216 FFFF M dw 0xffff
+ 00277 MT_EOT
+3218 FFFF M dw 0xffff
+ 00278 MT_EOT
+321A FFFF M dw 0xffff
+ 00279 MT_EOT
+321C FFFF M dw 0xffff
+ 00280 MT_EOT
+321E FFFF M dw 0xffff
+ 00281
+ 00282 ;; entry 0xd0-0xdf
+ 00283 MT_EOT
+3220 FFFF M dw 0xffff
+ 00284 MT_EOT
+3222 FFFF M dw 0xffff
+ 00285 MT_EOT
+3224 FFFF M dw 0xffff
+ 00286 MT_EOT
+3226 FFFF M dw 0xffff
+ 00287 MT_EOT
+3228 FFFF M dw 0xffff
+ 00288 MT_EOT
+322A FFFF M dw 0xffff
+ 00289 MT_EOT
+322C FFFF M dw 0xffff
+ 00290 MT_EOT
+322E FFFF M dw 0xffff
+ 00291 MT_EOT
+3230 FFFF M dw 0xffff
+ 00292 MT_EOT
+3232 FFFF M dw 0xffff
+ 00293 MT_EOT
+3234 FFFF M dw 0xffff
+ 00294 MT_EOT
+3236 FFFF M dw 0xffff
+ 00295 MT_EOT
+3238 FFFF M dw 0xffff
+ 00296 MT_EOT
+323A FFFF M dw 0xffff
+ 00297 MT_EOT
+323C FFFF M dw 0xffff
+ 00298 MT_EOT
+323E FFFF M dw 0xffff
+ 00299
+ 00300 ;; entry 0xe0-0xef
+ 00301 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 27
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3240 FFFF M dw 0xffff
+ 00302 MT_EOT
+3242 FFFF M dw 0xffff
+ 00303 MT_EOT
+3244 FFFF M dw 0xffff
+ 00304 MT_EOT
+3246 FFFF M dw 0xffff
+ 00305 MT_EOT
+3248 FFFF M dw 0xffff
+ 00306 MT_EOT
+324A FFFF M dw 0xffff
+ 00307 MT_EOT
+324C FFFF M dw 0xffff
+ 00308 MT_EOT
+324E FFFF M dw 0xffff
+ 00309 MT_EOT
+3250 FFFF M dw 0xffff
+ 00310 MT_EOT
+3252 FFFF M dw 0xffff
+ 00311 MT_EOT
+3254 FFFF M dw 0xffff
+ 00312 MT_EOT
+3256 FFFF M dw 0xffff
+ 00313 MT_EOT
+3258 FFFF M dw 0xffff
+ 00314 MT_EOT
+325A FFFF M dw 0xffff
+ 00315 MT_EOT
+325C FFFF M dw 0xffff
+ 00316 MT_EOT
+325E FFFF M dw 0xffff
+ 00317
+ 00318 ;; entry 0xf0-0xff
+ 00319 MT_EOT
+3260 FFFF M dw 0xffff
+ 00320 MT_EOT
+3262 FFFF M dw 0xffff
+ 00321 MT_EOT
+3264 FFFF M dw 0xffff
+ 00322 MT_EOT
+3266 FFFF M dw 0xffff
+ 00323 MT_EOT
+3268 FFFF M dw 0xffff
+ 00324 MT_EOT
+326A FFFF M dw 0xffff
+ 00325 MT_EOT
+326C FFFF M dw 0xffff
+ 00326 MT_EOT
+326E FFFF M dw 0xffff
+ 00327 MT_EOT
+3270 FFFF M dw 0xffff
+ 00328 MT_EOT
+3272 FFFF M dw 0xffff
+ 00329 MT_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 28
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3274 FFFF M dw 0xffff
+ 00330 MT_EOT
+3276 FFFF M dw 0xffff
+ 00331 MT_EOT
+3278 FFFF M dw 0xffff
+ 00332 MT_EOT
+327A FFFF M dw 0xffff
+ 00333 MT_EOT
+327C FFFF M dw 0xffff
+ 00334 MT_EOT
+327E FFFF M dw 0xffff
+ 00335
+ 00036 #include <mios_enc_table.inc>
+ 00001 ; $Id: mios_enc_table.inc 69 2008-02-01 00:20:18Z tk $
+ 00002 ;
+ 00003 ; "Dummy" Configuration Table for Rotary Encoders
+ 00004 ;
+ 00005 ; Should be included by the application, if no rotary encoders are connected
+ 00006 ; in order to pre-initialize the table area with EOT's
+ 00007 ;
+ 00008 ; ==========================================================================
+ 00009
+3280 00010 org 0x3280 ; never change the origin!
+ 00011
+ 00012 ;; --------------------------------------------------------------------------
+ 00013 ;; In this table DIN pins have to be assigned to rotary encoders for the
+ 00014 ;; MIOS_ENC driver
+ 00015 ;;
+ 00016 ;; up to 64 entries are provided
+ 00017 ;;
+ 00018 ;; The table must be terminated with an ENC_EOT entry. Unused entries should
+ 00019 ;; be filled with ENC_EOT
+ 00020 ;;
+ 00021 ;; ENC_ENTRY provides following parameters
+ 00022 ;; o first parameter: number of shift register - 1, 2, 3, ... 16
+ 00023 ;; o second parameter: number of pin; since two pins are necessary
+ 00024 ;; for each encoder, an even number is expected: 0, 2, 4 or 6
+ 00025 ;; o the third parameter contains the encoder mode:
+ 00026 ;; either MIOS_ENC_MODE_NON_DETENTED
+ 00027 ;; or MIOS_ENC_MODE_DETENTED
+ 00028 ;; or MIOS_ENC_MODE_DETENTED2
+ 00029 ;; or MIOS_ENC_MODE_DETENTED3
+ 00030 ;;
+ 00031 ;; Configuration Examples:
+ 00032 ;; ENC_ENTRY 1, 0, MIOS_ENC_MODE_NON_DETENTED ; non-detented encoder at pin 0 and 1 of SR 1
+ 00033 ;; ENC_ENTRY 1, 2, MIOS_ENC_MODE_DETENTED ; detented encoder at pin 2 and 3 of SR 1
+ 00034 ;; ENC_ENTRY 9, 6, MIOS_ENC_MODE_NON_DETENTED ; non-detented encoder at pin 6 and 7 of SR 9
+ 00035 ;; --------------------------------------------------------------------------
+ 00036
+ 00037 ;; encoder entry structure
+ 00038 ENC_ENTRY MACRO sr, din_0, mode
+ 00039 dw (mode << 8) | (din_0 + 8*(sr-1))
+ 00040 ENDM
+ 00041 ENC_EOT MACRO
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 29
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00042 dw 0xffff
+ 00043 ENDM
+ 00044
+3280 00045 _MIOS_ENC_PIN_TABLE
+3280 00046 MIOS_ENC_PIN_TABLE
+ 00047 ;; encoders 1-16
+ 00048 ;; SR Pin Mode
+ 00049 ENC_EOT
+3280 FFFF M dw 0xffff
+ 00050 ENC_EOT
+3282 FFFF M dw 0xffff
+ 00051 ENC_EOT
+3284 FFFF M dw 0xffff
+ 00052 ENC_EOT
+3286 FFFF M dw 0xffff
+ 00053 ENC_EOT
+3288 FFFF M dw 0xffff
+ 00054 ENC_EOT
+328A FFFF M dw 0xffff
+ 00055 ENC_EOT
+328C FFFF M dw 0xffff
+ 00056 ENC_EOT
+328E FFFF M dw 0xffff
+ 00057 ENC_EOT
+3290 FFFF M dw 0xffff
+ 00058 ENC_EOT
+3292 FFFF M dw 0xffff
+ 00059 ENC_EOT
+3294 FFFF M dw 0xffff
+ 00060 ENC_EOT
+3296 FFFF M dw 0xffff
+ 00061 ENC_EOT
+3298 FFFF M dw 0xffff
+ 00062 ENC_EOT
+329A FFFF M dw 0xffff
+ 00063 ENC_EOT
+329C FFFF M dw 0xffff
+ 00064 ENC_EOT
+329E FFFF M dw 0xffff
+ 00065
+ 00066 ;; encoders 17-32
+ 00067 ENC_EOT
+32A0 FFFF M dw 0xffff
+ 00068 ENC_EOT
+32A2 FFFF M dw 0xffff
+ 00069 ENC_EOT
+32A4 FFFF M dw 0xffff
+ 00070 ENC_EOT
+32A6 FFFF M dw 0xffff
+ 00071 ENC_EOT
+32A8 FFFF M dw 0xffff
+ 00072 ENC_EOT
+32AA FFFF M dw 0xffff
+ 00073 ENC_EOT
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 30
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+32AC FFFF M dw 0xffff
+ 00074 ENC_EOT
+32AE FFFF M dw 0xffff
+ 00075 ENC_EOT
+32B0 FFFF M dw 0xffff
+ 00076 ENC_EOT
+32B2 FFFF M dw 0xffff
+ 00077 ENC_EOT
+32B4 FFFF M dw 0xffff
+ 00078 ENC_EOT
+32B6 FFFF M dw 0xffff
+ 00079 ENC_EOT
+32B8 FFFF M dw 0xffff
+ 00080 ENC_EOT
+32BA FFFF M dw 0xffff
+ 00081 ENC_EOT
+32BC FFFF M dw 0xffff
+ 00082 ENC_EOT
+32BE FFFF M dw 0xffff
+ 00083
+ 00084 ;; encoders 33-48
+ 00085 ENC_EOT
+32C0 FFFF M dw 0xffff
+ 00086 ENC_EOT
+32C2 FFFF M dw 0xffff
+ 00087 ENC_EOT
+32C4 FFFF M dw 0xffff
+ 00088 ENC_EOT
+32C6 FFFF M dw 0xffff
+ 00089 ENC_EOT
+32C8 FFFF M dw 0xffff
+ 00090 ENC_EOT
+32CA FFFF M dw 0xffff
+ 00091 ENC_EOT
+32CC FFFF M dw 0xffff
+ 00092 ENC_EOT
+32CE FFFF M dw 0xffff
+ 00093 ENC_EOT
+32D0 FFFF M dw 0xffff
+ 00094 ENC_EOT
+32D2 FFFF M dw 0xffff
+ 00095 ENC_EOT
+32D4 FFFF M dw 0xffff
+ 00096 ENC_EOT
+32D6 FFFF M dw 0xffff
+ 00097 ENC_EOT
+32D8 FFFF M dw 0xffff
+ 00098 ENC_EOT
+32DA FFFF M dw 0xffff
+ 00099 ENC_EOT
+32DC FFFF M dw 0xffff
+ 00100 ENC_EOT
+32DE FFFF M dw 0xffff
+ 00101
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 31
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00102 ;; encoders 49-64
+ 00103 ENC_EOT
+32E0 FFFF M dw 0xffff
+ 00104 ENC_EOT
+32E2 FFFF M dw 0xffff
+ 00105 ENC_EOT
+32E4 FFFF M dw 0xffff
+ 00106 ENC_EOT
+32E6 FFFF M dw 0xffff
+ 00107 ENC_EOT
+32E8 FFFF M dw 0xffff
+ 00108 ENC_EOT
+32EA FFFF M dw 0xffff
+ 00109 ENC_EOT
+32EC FFFF M dw 0xffff
+ 00110 ENC_EOT
+32EE FFFF M dw 0xffff
+ 00111 ENC_EOT
+32F0 FFFF M dw 0xffff
+ 00112 ENC_EOT
+32F2 FFFF M dw 0xffff
+ 00113 ENC_EOT
+32F4 FFFF M dw 0xffff
+ 00114 ENC_EOT
+32F6 FFFF M dw 0xffff
+ 00115 ENC_EOT
+32F8 FFFF M dw 0xffff
+ 00116 ENC_EOT
+32FA FFFF M dw 0xffff
+ 00117 ENC_EOT
+32FC FFFF M dw 0xffff
+ 00118 ENC_EOT
+32FE FFFF M dw 0xffff
+ 00119
+ 00037
+ 00038 ;; ---[ Custom LCD driver ]---
+ 00039 #include <app_lcd.inc>
+ 00001 ; $Id: app_lcd.inc 69 2008-02-01 00:20:18Z tk $
+ 00002 ;
+ 00003 ; MIOS Custom LCD Driver Skeleton
+ 00004 ;
+ 00005 ; ==========================================================================
+ 00006 ;
+ 00007 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00008 ; Licensed for personal non-commercial use only.
+ 00009 ; All other rights reserved.
+ 00010 ;
+ 00011 ; ==========================================================================
+ 00012
+ 00013 ;; --------------------------------------------------------------------------
+ 00014 ;; Following system variables are given by MIOS and can be directly
+ 00015 ;; accessed by the driver. The addresses are defined in mios.h and
+ 00016 ;; should not be changed
+ 00017 ;;
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 32
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00018 ;; MIOS_GLCD_BUFFER a 8 byte buffer for data transfers
+ 00019 ;; MIOS_LCD_OPTION1 contains the first LCD option given by MIOS_LCD_TypeSet
+ 00020 ;; MIOS_LCD_OPTION2 contains the second LCD option given by MIOS_LCD_TypeSet
+ 00021 ;; MIOS_LCD_CURSOR_POS the current cursor pos of characters (GLCD: multiplied by width)
+ 00022 ;; MIOS_GLCD_GCURSOR_X for GLCDs: the current X position of graphical cursor
+ 00023 ;; MIOS_GLCD_GCURSOR_Y for GLCDs: the current Y position of graphical cursor
+ 00024 ;; MIOS_GLCD_FONT_WIDTH for GLCDs: the fontwidth given by MIOS_GLCD_FontInit
+ 00025 ;; MIOS_GLCD_FONT_HEIGHT for GLCDs: the fontheight given by MIOS_GLCD_FontInit
+ 00026 ;; MIOS_GLCD_FONT_X0 for GLCDs: the first byte within a char entry
+ 00027 ;; MIOS_GLCD_FONT_OFFSET for GLCDs: the byte offset between the characters
+ 00028 ;; MIOS_GLCD_FONT_PTRL for GLCDs: pointer to the character table, low-byte
+ 00029 ;; MIOS_GLCD_FONT_PTRH for GLCDs: pointer to the character table, high-byte
+ 00030 ;; MIOS_LCD_TIMEOUT0 can be used for timeout loops
+ 00031 ;; MIOS_LCD_TIMEOUT1 can be used for timeout loops
+ 00032 ;; MIOS_GLCD_TMP1 can be used as temporary buffer
+ 00033 ;; MIOS_GLCD_TMP2 can be used as temporary buffer
+ 00034 ;; MIOS_GLCD_TMP3 can be used as temporary buffer
+ 00035 ;; MIOS_GLCD_TMP4 can be used as temporary buffer
+ 00036 ;; MIOS_LCD_Y0_OFFSET Y0 offset of LCD
+ 00037 ;; MIOS_LCD_Y1_OFFSET Y1 offset of LCD
+ 00038 ;; MIOS_LCD_Y2_OFFSET Y2 offset of LCD
+ 00039 ;; MIOS_LCD_Y3_OFFSET Y3 offset of LCD
+ 00040 ;; MIOS_LCD_CURSOR_POS_REAL unmapped cursor position which has been set with MIOS_LCD_CursorSet
+ 00041 ;;
+ 00042 ;; Note: the addresses are located in an upper bank and therefore have to
+ 00043 ;; be accessed with the BANKED flag. Also the BSR has to be justified
+ 00044 ;; before using the registers
+ 00045 ;; Example:
+ 00046 ;; SET_BSR MIOS_LCD_OPTION1 ; sets BSR to the bank where MIOS_LCD_*
+ 00047 ;; ; has been located. You don't need to
+ 00048 ;; ; change the BSR for the other LCD registers
+ 00049 ;; movf MIOS_LCD_OPTION1, W, BANKED ; get LCD option #1
+ 00050 ;;
+ 00051 ;; Important: to allow a proper interaction with MIOS applications, you are
+ 00052 ;; only allowed to modify MIOS_PARAMETER[123], the mutliplication registers
+ 00053 ;; and FSR1. You are not allowed to change TMP[1-5] or FSR0
+ 00054 ;; if you need some temporary registers, use the given addresses above or
+ 00055 ;; locate them to addresses which are not used by the application
+ 00056 ;; --------------------------------------------------------------------------
+ 00057
+ 00058 ;; --------------------------------------------------------------------------
+ 00059 ;; This function is called by MIOS when the custom LCD should be initialized
+ 00060 ;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+ 00061 ;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+ 00062 ;; Out: -
+ 00063 ;; --------------------------------------------------------------------------
+3300 00064 USER_LCD_Init
+3300 0012 00065 return
+ 00066
+ 00067 ;; --------------------------------------------------------------------------
+ 00068 ;; This function is called by MIOS when the custom LCD should be cleared
+ 00069 ;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+ 00070 ;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+ 00071 ;; Out: -
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 33
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00072 ;; --------------------------------------------------------------------------
+3302 00073 USER_LCD_Clear
+3302 0012 00074 return
+ 00075
+ 00076 ;; --------------------------------------------------------------------------
+ 00077 ;; This function is called by MIOS when the cursor should be changed
+ 00078 ;; In: MIOS_LCD_OPTION1 - contains the first LCD option given by MIOS_LCD_TypeSet
+ 00079 ;; MIOS_LCD_OPTION2 - contains the second LCD option given by MIOS_LCD_TypeSet
+ 00080 ;; MIOS_GLCD_CURSOR_X - horizontal cursor position (for GLCDs)
+ 00081 ;; MIOS_GLCD_CURSOR_X - vertical cursor position (for GLCDs)
+ 00082 ;; MIOS_LCD_CURSOR - character cursor position (for CLCDs)
+ 00083 ;; Out: -
+ 00084 ;; --------------------------------------------------------------------------
+3304 00085 USER_LCD_CursorSet
+3304 0012 00086 return
+ 00087
+ 00088 ;; --------------------------------------------------------------------------
+ 00089 ;; This function is called by MIOS when a character should be print
+ 00090 ;; In: WREG - character
+ 00091 ;; all other MIOS_*LCD_* registers
+ 00092 ;; Out: GLCDs should justify the X/Y cursor position
+ 00093 ;; --------------------------------------------------------------------------
+3306 00094 USER_LCD_PrintChar
+3306 0012 00095 return
+ 00096
+ 00097 ;; --------------------------------------------------------------------------
+ 00098 ;; FUNCTION: USER_LCD_Data
+ 00099 ;; DESCRIPTION: sends a data value to the LCD display.<BR>
+ 00100 ;; On CLCDs: branch directly to USER_LCD_PrintChar<BR>
+ 00101 ;; On GLCDs: ignore this function!
+ 00102 ;; IN: data which should be sent
+ 00103 ;; OUT: -
+ 00104 ;; NOTE: see the custom_lcd_example for further details
+ 00105 ;; --------------------------------------------------------------------------
+3308 00106 USER_LCD_Data
+3308 0012 00107 return
+ 00108
+ 00109 ;; --------------------------------------------------------------------------
+ 00110 ;; FUNCTION: USER_LCD_Cmd
+ 00111 ;; DESCRIPTION: sends a command to the LCD display.<BR>
+ 00112 ;; On CLCDs: use this function to decode the HD44780 commands if required<BR>
+ 00113 ;; On GLCDs: ignore this function!
+ 00114 ;; IN: command which should be sent
+ 00115 ;; OUT: -
+ 00116 ;; NOTE: see the custom_lcd_example for further details
+ 00117 ;; --------------------------------------------------------------------------
+330A 00118 USER_LCD_Cmd
+330A 0012 00119 return
+ 00120
+ 00121 ;; --------------------------------------------------------------------------
+ 00122 ;; FUNCTION: USER_LCD_SpecialCharInit
+ 00123 ;; DESCRIPTION: see MIOS_CLCD_SpecialCharInit
+ 00124 ;; IN: number of special character (0-7) in WREG
+ 00125 ;; pointer to special char pattern in TBLPTR (consists of 8
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 34
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00126 ;; entries for every character-line)
+ 00127 ;; OUT: TBLPTR has to be set to next table entry (TBLPTR+=8)
+ 00128 ;; NOTE: see the custom_lcd_example for further details
+ 00129 ;; --------------------------------------------------------------------------
+330C 00130 USER_LCD_SpecialCharInit
+330C 0012 00131 return
+ 00040
+ 00041 ;; ==========================================================================
+ 00042 ;; All MIOS hooks in one file
+ 00043 ;; ==========================================================================
+ 00044
+ 00045 ;; --------------------------------------------------------------------------
+ 00046 ;; This function is called by MIOS after startup to initialize the
+ 00047 ;; application
+ 00048 ;; --------------------------------------------------------------------------
+330E 00049 USER_Init
+ 00050 ;; initialize the MBHP_TIA module
+330E ECC2 F019 00051 call TIA_SR_Init
+ 00052
+ 00053 ;; initialize SID registers for a mid pitch lead
+ 00054 SET_BSR TIA_BASE
+3312 0101 M movlb HIGH(reg)
+ 00055 ;; reset v2(Aud1)
+3314 6B05 00056 clrf TIA_AUDV1, BANKED
+3316 6B03 00057 clrf TIA_AUDF1, BANKED
+3318 6B01 00058 clrf TIA_AUDC1, BANKED
+ 00059 ;; set v1(Aud0)
+331A 0E0C 00060 movlw 0x0c ;; value for 'LEAD' waveform
+331C 6F00 00061 movwf TIA_AUDC0, BANKED
+331E 0E0F 00062 movlw 0x0f ;; value for mid pitch and max volume
+3320 6F02 00063 movwf TIA_AUDF0, BANKED
+3322 6F04 00064 movwf TIA_AUDV0, BANKED
+ 00065
+ 00066 ;; update TIA registers
+3324 ECC6 F019 00067 call TIA_SR_Handler
+ 00068
+3328 0012 00069 return
+ 00070
+ 00071
+ 00072 ;; --------------------------------------------------------------------------
+ 00073 ;; This function is called by MIOS in the mainloop when nothing else is to do
+ 00074 ;; --------------------------------------------------------------------------
+332A 00075 USER_Tick
+ 00076 ;; ---[ call SID shift register handler ]---
+ 00077 ;;call SID_SR_Handler
+ 00078
+332A 0012 00079 return
+ 00080
+ 00081
+ 00082 ;; --------------------------------------------------------------------------
+ 00083 ;; This function is periodically called by MIOS. The frequency has to be
+ 00084 ;; initialized with MIOS_Timer_Set
+ 00085 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00086 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 35
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00087 ;; --------------------------------------------------------------------------
+332C 00088 USER_Timer
+332C 0012 00089 return
+ 00090
+ 00091 ;; --------------------------------------------------------------------------
+ 00092 ;; This function is called by MIOS when a debug command has been received
+ 00093 ;; via SysEx
+ 00094 ;; Input:
+ 00095 ;; o WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3 like
+ 00096 ;; specified in the debug command
+ 00097 ;; Output:
+ 00098 ;; o return values WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3
+ 00099 ;; --------------------------------------------------------------------------
+332E 00100 USER_MPROC_DebugTrigger
+332E 0012 00101 return
+ 00102
+ 00103
+ 00104 ;; --------------------------------------------------------------------------
+ 00105 ;; This function is called by MIOS when the display content should be
+ 00106 ;; initialized. Thats the case during startup and after a temporary message
+ 00107 ;; has been printed on the screen
+ 00108 ;; --------------------------------------------------------------------------
+3330 00109 USER_DISPLAY_Init
+3330 EC82 F016 00110 call MIOS_LCD_Clear
+ 00111
+ 00112 TABLE_ADDR TEXT_WELCOME_0
+3334 0E48 M movlw LOW(addr) ; store Lo Byte
+3336 6EF6 M movwf TBLPTRL
+3338 0E33 M movlw HIGH(addr) ; store Hi Byte
+333A 6EF7 M movwf TBLPTRH
+ M #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+333C 0E00 M movlw UPPER(addr) ; store Upper Byte
+333E 6EF8 M movwf TBLPTRU
+ M #endif
+3340 EC9E F016 00113 call MIOS_LCD_PrintString
+3344 EF9E F016 00114 goto MIOS_LCD_PrintString
+ 00115
+3348 00116 TEXT_WELCOME_0 STRING 16, 0x00, "TIA Testtone "
+3348 1000 4954 M da ((length) << 8) | (pos), str
+ 2041 6554
+ 7473 6F74
+ 656E 2020
+ 2020
+335A 00117 TEXT_WELCOME_1 STRING 16, 0x40, "Generator "
+335A 1040 6547 M da ((length) << 8) | (pos), str
+ 656E 6172
+ 6F74 2072
+ 2020 2020
+ 2020
+ 00118
+ 00119 ;; --------------------------------------------------------------------------
+ 00120 ;; This function is called in the mainloop when no temporary message is shown
+ 00121 ;; on screen. Print the realtime messages here
+ 00122 ;; --------------------------------------------------------------------------
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 36
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+336C 00123 USER_DISPLAY_Tick
+336C 0012 00124 return
+ 00125
+ 00126
+ 00127 ;; --------------------------------------------------------------------------
+ 00128 ;; This function is called by MIOS when a complete MIDI event has been received
+ 00129 ;; Input:
+ 00130 ;; o first MIDI event byte in MIOS_PARAMETER1
+ 00131 ;; o second MIDI event byte in MIOS_PARAMETER2
+ 00132 ;; o third MIDI event byte in MIOS_PARAMETER3
+ 00133 ;; --------------------------------------------------------------------------
+336E 00134 USER_MPROC_NotifyReceivedEvent
+336E 0012 00135 return
+ 00136
+ 00137
+ 00138 ;; --------------------------------------------------------------------------
+ 00139 ;; This function is called by MIOS when a MIDI event has been received
+ 00140 ;; which has been specified in the CONFIG_MIDI_IN table
+ 00141 ;; Input:
+ 00142 ;; o number of entry in WREG
+ 00143 ;; o first MIDI event byte in MIOS_PARAMETER1
+ 00144 ;; o second MIDI event byte in MIOS_PARAMETER2
+ 00145 ;; o third MIDI event byte in MIOS_PARAMETER3
+ 00146 ;; --------------------------------------------------------------------------
+3370 00147 USER_MPROC_NotifyFoundEvent
+3370 0012 00148 return
+ 00149
+ 00150
+ 00151 ;; --------------------------------------------------------------------------
+ 00152 ;; This function is called by MIOS when a MIDI event has not been completly
+ 00153 ;; received within 2 seconds
+ 00154 ;; --------------------------------------------------------------------------
+3372 00155 USER_MPROC_NotifyTimeout
+3372 0012 00156 return
+ 00157
+ 00158 ;; --------------------------------------------------------------------------
+ 00159 ;; This function is called by MIOS when a MIDI byte has been received
+ 00160 ;; Input:
+ 00161 ;; o received MIDI byte in WREG and MIOS_PARAMETER1
+ 00162 ;; --------------------------------------------------------------------------
+3374 00163 USER_MPROC_NotifyReceivedByte
+3374 0012 00164 return
+ 00165
+ 00166 ;; --------------------------------------------------------------------------
+ 00167 ;; This function is called by MIOS before the transfer of a MIDI byte.
+ 00168 ;; It can be used to monitor the Tx activity or to do any other actions
+ 00169 ;; (e.g. to switch a pin for multiplexed MIDI Outs) before the byte will
+ 00170 ;; be sent.
+ 00171 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00172 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+ 00173 ;; Input:
+ 00174 ;; o transmitted byte in WREG
+ 00175 ;; --------------------------------------------------------------------------
+3376 00176 USER_MIDI_NotifyTx
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 37
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3376 0012 00177 return
+ 00178
+ 00179 ;; --------------------------------------------------------------------------
+ 00180 ;; This function is called by MIOS when a MIDI byte has been received.
+ 00181 ;; It can be used to monitor the Rx activity or to do any action - e.g.
+ 00182 ;; to react on realtime events like MIDI clock (0xf8) with a minimum latency
+ 00183 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00184 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible!
+ 00185 ;; Input:
+ 00186 ;; o received byte in WREG
+ 00187 ;; --------------------------------------------------------------------------
+3378 00188 USER_MIDI_NotifyRx
+3378 0012 00189 return
+ 00190
+ 00191 ;; --------------------------------------------------------------------------
+ 00192 ;; This function is called by MIOS when an button has been toggled
+ 00193 ;; Input:
+ 00194 ;; o Button number in WREG and MIOS_PARAMETER1
+ 00195 ;; o Button value MIOS_PARAMETER2:
+ 00196 ;; - 1 if button has been released (=5V)
+ 00197 ;; - 0 if button has been pressed (=0V)
+ 00198 ;; --------------------------------------------------------------------------
+337A 00199 USER_DIN_NotifyToggle
+337A 0012 00200 return
+ 00201
+ 00202
+ 00203 ;; --------------------------------------------------------------------------
+ 00204 ;; This function is called by MIOS when an encoder has been moved
+ 00205 ;; Input:
+ 00206 ;; o Encoder number in WREG and MIOS_PARAMETER1
+ 00207 ;; o signed incrementer value in MIOS_PARAMETER2:
+ 00208 ;; - is positive when encoder has been turned clockwise
+ 00209 ;; - is negative when encoder has been turned counter clockwise
+ 00210 ;; --------------------------------------------------------------------------
+337C 00211 USER_ENC_NotifyChange
+337C 0012 00212 return
+ 00213
+ 00214
+ 00215 ;; --------------------------------------------------------------------------
+ 00216 ;; This function is called by MIOS before the shift register are loaded
+ 00217 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00218 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+ 00219 ;; --------------------------------------------------------------------------
+337E 00220 USER_SR_Service_Prepare
+337E 0012 00221 return
+ 00222
+ 00223
+ 00224 ;; --------------------------------------------------------------------------
+ 00225 ;; This function is called by MIOS after the shift register have been loaded
+ 00226 ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0
+ 00227 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible
+ 00228 ;; --------------------------------------------------------------------------
+3380 00229 USER_SR_Service_Finish
+3380 0012 00230 return
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 38
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00231
+ 00232 ;; --------------------------------------------------------------------------
+ 00233 ;; This function is called by MIOS when a pot has been moved
+ 00234 ;; Input:
+ 00235 ;; o Pot number in WREG and MIOS_PARAMETER1
+ 00236 ;; o LSB value in MIOS_PARAMETER2
+ 00237 ;; o MSB value in MIOS_PARAMETER3
+ 00238 ;; --------------------------------------------------------------------------
+3382 00239 USER_AIN_NotifyChange
+3382 0012 00240 return
+ 00241
+ 00242
+ 00243
+ 00244 ;; ==========================================================================
+ 00245 ;; Application code (see comments in files)
+ 00246 ;; ==========================================================================
+ 00247
+ 00248 ;; ---[ core functions ]---
+ 00249 ;; if != 0, special variations for cartridge version hardware:
+3384 00250 #define DEFAULT_IS_CARTRIDGE 0
+ 00251 #include "tia_sr.inc"
+ 00001 ; $Id: tia_sr.inc bdupeyron.tech@gmail.com(Antichambre)
+ 00002 ;
+ 00003 ; MIDIbox TIA
+ 00004 ; TIA Shift Register Service Routine
+ 00005 ;
+ 00006 ; ==========================================================================
+ 00007 ;
+ 00008 ; Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
+ 00009 ; Licensed for personal non-commercial use only.
+ 00010 ; All other rights reserved.
+ 00011 ;
+ 00012 ; ==========================================================================
+ 00013 ;
+ 00014 ; define the pins to which the MBHPS_TIA module is connected
+ 00015 ;
+ 00016 #if DEFAULT_IS_CARTRIDGE==1
+ 00017 TIA_SR_LAT_SCLK EQU LATC
+ 00018 TIA_SR_PIN_SCLK EQU 0 ; Pin C.0
+ 00019 TIA_SR_LAT_RCLK EQU LATC
+ 00020 TIA_SR_PIN_RCLK EQU 2 ; Pin C.2
+ 00021 TIA_SR_LAT_OUT EQU LATC
+ 00022 TIA_SR_PIN_OUT EQU 3 ; Pin C.3
+ 00023
+ 00024 TIA_SR_LAT_WR EQU LATC
+ 00025 TIA_SR_PIN_WR EQU 1 ; Pin C.1
+ 00026 #else
+ 00000F8C 00027 TIA_SR_LAT_SCLK EQU LATD
+ 00000005 00028 TIA_SR_PIN_SCLK EQU 5 ; Pin D.5
+ 00000F8B 00029 TIA_SR_LAT_RCLK EQU LATC
+ 00000004 00030 TIA_SR_PIN_RCLK EQU 4 ; Pin C.4
+ 00000F8C 00031 TIA_SR_LAT_OUT EQU LATD
+ 00000006 00032 TIA_SR_PIN_OUT EQU 6 ; Pin D.6
+ 00033
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 39
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00000F8B 00034 TIA_SR_LAT_WR EQU LATC
+ 00000005 00035 TIA_SR_PIN_WR EQU 5 ; Pin C.5
+ 00036 #endif
+ 00037
+ 00038
+ 00039 ;; --------------------------------------------------------------------------
+ 00040 ;; Initialize the MBHP_TIA module
+ 00041 ;; --------------------------------------------------------------------------
+3384 00042 TIA_SR_Init
+ 00043 ;; reset the TIA
+3384 6A03 00044 clrf MIOS_PARAMETER1
+3386 6A04 00045 clrf MIOS_PARAMETER2
+3388 D821 00046 rcall TIA_SR_Write
+338A 0012 00047 return
+ 00048 ;; reset will be released with first call of TIA_SR_Handler
+ 00049
+ 00050 ;; --------------------------------------------------------------------------
+ 00051 ;; Check for changes in TIA registers, transfer values to TIA
+ 00052 ;; and handle Wavetable
+ 00053 ;; --------------------------------------------------------------------------
+338C 00054 TIA_SR_Handler
+ 00055 TABLE_ADDR TIA_SR_REGWRITE_TABLE ; contains order of register accesses
+338C 0E86 M movlw LOW(addr) ; store Lo Byte
+338E 6EF6 M movwf TBLPTRL
+3390 0E34 M movlw HIGH(addr) ; store Hi Byte
+3392 6EF7 M movwf TBLPTRH
+ M #if PIC_DERIVATIVE_CODE_SIZE > 0x10000
+3394 0E00 M movlw UPPER(addr) ; store Upper Byte
+3396 6EF8 M movwf TBLPTRU
+ M #endif
+3398 0E06 00056 movlw 6 ; number of registers (0x06)
+339A 6E06 00057 movwf TMP1 ; TMP1 is the loop counter
+339C EE01 F000 00058 lfsr FSR0, TIA_BASE ; store base address of TIA registers in FSR0
+33A0 EE11 F010 00059 lfsr FSR1, TIA_SHADOW_BASE ; store base address of shadow registers in FSR1
+ 00060
+ 00061 IRQ_DISABLE ; disable interrupts
+33A4 9EF2 M bcf INTCON, GIE
+ 00062
+33A6 00063 TIA_SR_Loop
+33A6 0009 00064 tblrd*+
+33A8 50F5 00065 movf TABLAT, W
+33AA CFEB F004 00066 movff PLUSW0, MIOS_PARAMETER2 ; store value of TIA in MIOS_PARAMETER1 and increment FSR0
+33AE 50E3 00067 movf PLUSW1, W ; get content of appr. shadow register
+33B0 6204 00068 cpfseq MIOS_PARAMETER2, ACCESS; transfer to TIA if not equal
+ 00069 rgoto TIA_SR_Transfer
+33B2 D001 M bra label
+ 00070 rgoto TIA_SR_Next ; skip following code if equal
+33B4 D007 M bra label
+ 00071
+33B6 00072 TIA_SR_Transfer
+ 00073 ;; register change: write value into shadow register and transfer it to TIA
+33B6 50F5 00074 movf TABLAT, W
+33B8 C004 FFE3 00075 movff MIOS_PARAMETER2, PLUSW1 ; store value in shadow register
+ 00076
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 40
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00077
+33BC 50F5 00078 movf TABLAT, W ; extract address, add offset
+33BE 0F05 00079 addlw 0x05
+33C0 6E03 00080 movwf MIOS_PARAMETER1 ; store in address register
+33C2 D804 00081 rcall TIA_SR_Write ; transfer to TIA
+ 00082
+33C4 00083 TIA_SR_Next
+33C4 2E06 00084 decfsz TMP1, F ; decrement loop counter until it is zero
+ 00085 rgoto TIA_SR_Loop
+33C6 D7EF M bra label
+ 00086
+ 00087
+ 00088 IRQ_ENABLE ; enable interrupts again
+33C8 8EF2 M bsf INTCON, GIE
+ 00089
+33CA 0012 00090 return
+ 00091
+ 00092 ;; --------------------------------------------------------------------------
+ 00093 ;; TIA Write: write to TIA register
+ 00094 ;; --------------------------------------------------------------------------
+33CC 00095 TIA_SR_Write
+ 00096 ;; TIA signals:
+ 00097 ;; MIOS_PARAMETER2[4..0]: Data
+ 00098 ;; MIOS_PARAMETER1[3..0]: Address
+ 00099 ;; temporary used as counter: MIOS_PARAMETER3
+ 00100
+33CC 9A8C 00101 bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; clear clock
+ 00102
+ 00103 ;; superfast transfer with unrolled loop (takes some memory, but guarantees the
+ 00104 ;; lowest system load :)
+ 00105 TIA_SR_WRITE_BIT MACRO reg, bit
+ 00106 bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+ 00107 btfsc reg, bit
+ 00108 bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+ 00109 bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+ 00110 bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00111 ENDM
+ 00112 #if DEFAULT_IS_CARTRIDGE==1
+ 00113 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 4 ; IC8.O0
+ 00114 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 3 ; IC8.O1
+ 00115 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 2 ; IC8.O2
+ 00116 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 1 ; IC8.O3
+ 00117 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 0 ; IC8.O4
+ 00118 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O5
+ 00119 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O6
+ 00120 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC8.O7
+ 00121
+ 00122 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 3 ; IC7.O0
+ 00123 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 2 ; IC7.O1
+ 00124 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 1 ; IC7.O2
+ 00125 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 0 ; IC7.O3
+ 00126 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O4
+ 00127 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O5
+ 00128 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O6
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 41
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ 00129 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC7.O7
+ 00130
+ 00131 #else
+ 00132 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 0 ; IC2.O0
+33CE 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+33D0 B004 M btfsc reg, bit
+33D2 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+33D4 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+33D6 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00133 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 1 ; IC2.O1
+33D8 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+33DA B204 M btfsc reg, bit
+33DC 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+33DE 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+33E0 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00134 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 2 ; IC2.O2
+33E2 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+33E4 B404 M btfsc reg, bit
+33E6 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+33E8 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+33EA 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00135 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 3 ; IC2.O3
+33EC 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+33EE B604 M btfsc reg, bit
+33F0 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+33F2 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+33F4 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00136 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 4 ; IC2.O4
+33F6 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+33F8 B804 M btfsc reg, bit
+33FA 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+33FC 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+33FE 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00137 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O5
+3400 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3402 BE04 M btfsc reg, bit
+3404 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3406 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3408 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00138 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O6
+340A 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+340C BE04 M btfsc reg, bit
+340E 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3410 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3412 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00139 TIA_SR_WRITE_BIT MIOS_PARAMETER2, 7 ; IC2.O7
+3414 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3416 BE04 M btfsc reg, bit
+3418 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+341A 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+341C 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00140
+ 00141 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 3 ; IC3.O0
+341E 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 42
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3420 B603 M btfsc reg, bit
+3422 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3424 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3426 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00142 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 2 ; IC3.O1
+3428 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+342A B403 M btfsc reg, bit
+342C 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+342E 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3430 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00143 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 1 ; IC3.O2
+3432 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3434 B203 M btfsc reg, bit
+3436 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3438 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+343A 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00144 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 0 ; IC3.O3
+343C 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+343E B003 M btfsc reg, bit
+3440 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3442 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3444 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00145 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O4
+3446 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3448 BE03 M btfsc reg, bit
+344A 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+344C 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+344E 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00146 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O5
+3450 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3452 BE03 M btfsc reg, bit
+3454 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3456 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3458 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00147 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O6
+345A 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+345C BE03 M btfsc reg, bit
+345E 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+3460 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+3462 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00148 TIA_SR_WRITE_BIT MIOS_PARAMETER1, 7 ; IC3.O7
+3464 9C8C M bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; set out pin depending on register content (reg.bit)
+3466 BE03 M btfsc reg, bit
+3468 8C8C M bsf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT
+346A 8A8C M bsf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; rising clock edge
+346C 9A8C M bcf TIA_SR_LAT_SCLK, TIA_SR_PIN_SCLK ; falling clock edge
+ 00149 #endif
+346E 888B 00150 bsf TIA_SR_LAT_RCLK, TIA_SR_PIN_RCLK ; latch TIA values
+ 00151
+3470 9A8B 00152 bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; enable write (MBHP_TIA: chip select)
+3472 9C8C 00153 bcf TIA_SR_LAT_OUT, TIA_SR_PIN_OUT ; clear out pin (standby)
+3474 988B 00154 bcf TIA_SR_LAT_RCLK, TIA_SR_PIN_RCLK ; release latch
+ 00155
+3476 9A8B 00156 bcf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; enable write (MBHP_TIA: chip select)
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 43
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+3478 D000 00157 bra $+2 ; to ensure compatibility with on-board oscillator,
+347A D000 00158 bra $+2 ; wait for 0.840 uS (1 us) (> one TIA clock cycle)
+347C D000 00159 bra $+2
+347E D000 00160 bra $+2
+3480 D000 00161 bra $+2
+3482 8A8B 00162 bsf TIA_SR_LAT_WR, TIA_SR_PIN_WR ; disable write (MBHP_TIA: chip select)
+ 00163
+3484 0012 00164 return
+ 00165
+ 00166
+ 00167 ;; --------------------------------------------------------------------------
+3486 00168 TIA_SR_REGWRITE_TABLE
+ 00169 ;; order in which the TIA registers are written
+3486 0100 0302 00170 db 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
+ 0504 0006
+ 00171
+ 00172
+ 00173
+ 00174
+ 00252
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 44
+
+
+SYMBOL TABLE
+ LABEL VALUE
+
+A 00000000
+ABAT 00000004
+ABDEN 00000000
+ABDOVF 00000007
+ACCESS 00000000
+ACKDT 00000005
+ACKEN 00000004
+ACKSTAT 00000006
+ACQT0 00000003
+ACQT1 00000004
+ACQT2 00000005
+ADCON0 00000FC2
+ADCON1 00000FC1
+ADCON2 00000FC0
+ADCS0 00000000
+ADCS1 00000001
+ADCS2 00000002
+ADDEN 00000003
+ADEN 00000003
+ADFM 00000007
+ADIE 00000006
+ADIF 00000006
+ADIP 00000006
+ADON 00000000
+ADRES 00000FC3
+ADRESH 00000FC4
+ADRESL 00000FC3
+AN0 00000000
+AN1 00000001
+AN10 00000000
+AN2 00000002
+AN3 00000003
+AN4 00000005
+AN5 00000000
+AN6 00000001
+AN7 00000002
+AN8 00000001
+AN9 00000004
+B0CON 00000E20
+B0D0 00000E26
+B0D00 00000000
+B0D01 00000001
+B0D02 00000002
+B0D03 00000003
+B0D04 00000004
+B0D05 00000005
+B0D06 00000006
+B0D07 00000007
+B0D1 00000E27
+B0D10 00000000
+B0D11 00000001
+B0D12 00000002
+B0D13 00000003
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 45
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B0D14 00000004
+B0D15 00000005
+B0D16 00000006
+B0D17 00000007
+B0D2 00000E28
+B0D20 00000000
+B0D21 00000001
+B0D22 00000002
+B0D23 00000003
+B0D24 00000004
+B0D25 00000005
+B0D26 00000006
+B0D27 00000007
+B0D3 00000E29
+B0D30 00000000
+B0D31 00000001
+B0D32 00000002
+B0D33 00000003
+B0D34 00000004
+B0D35 00000005
+B0D36 00000006
+B0D37 00000007
+B0D4 00000E2A
+B0D40 00000000
+B0D41 00000001
+B0D42 00000002
+B0D43 00000003
+B0D44 00000004
+B0D45 00000005
+B0D46 00000006
+B0D47 00000007
+B0D5 00000E2B
+B0D50 00000000
+B0D51 00000001
+B0D52 00000002
+B0D53 00000003
+B0D54 00000004
+B0D55 00000005
+B0D56 00000006
+B0D57 00000007
+B0D6 00000E2C
+B0D60 00000000
+B0D61 00000001
+B0D62 00000002
+B0D63 00000003
+B0D64 00000004
+B0D65 00000005
+B0D66 00000006
+B0D67 00000007
+B0D7 00000E2D
+B0D70 00000000
+B0D71 00000001
+B0D72 00000002
+B0D73 00000003
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 46
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B0D74 00000004
+B0D75 00000005
+B0D76 00000006
+B0D77 00000007
+B0DLC 00000E25
+B0EIDH 00000E23
+B0EIDL 00000E24
+B0IE 00000002
+B0SIDH 00000E21
+B0SIDL 00000E22
+B0TXEN 00000002
+B1CON 00000E30
+B1D0 00000E36
+B1D00 00000000
+B1D01 00000001
+B1D02 00000002
+B1D03 00000003
+B1D04 00000004
+B1D05 00000005
+B1D06 00000006
+B1D07 00000007
+B1D1 00000E37
+B1D10 00000000
+B1D11 00000001
+B1D12 00000002
+B1D13 00000003
+B1D14 00000004
+B1D15 00000005
+B1D16 00000006
+B1D17 00000007
+B1D2 00000E38
+B1D20 00000000
+B1D21 00000001
+B1D22 00000002
+B1D23 00000003
+B1D24 00000004
+B1D25 00000005
+B1D26 00000006
+B1D27 00000007
+B1D3 00000E39
+B1D30 00000000
+B1D31 00000001
+B1D32 00000002
+B1D33 00000003
+B1D34 00000004
+B1D35 00000005
+B1D36 00000006
+B1D37 00000007
+B1D4 00000E3A
+B1D40 00000000
+B1D41 00000001
+B1D42 00000002
+B1D43 00000003
+B1D44 00000004
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 47
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B1D45 00000005
+B1D46 00000006
+B1D47 00000007
+B1D5 00000E3B
+B1D50 00000000
+B1D51 00000001
+B1D52 00000002
+B1D53 00000003
+B1D54 00000004
+B1D55 00000005
+B1D56 00000006
+B1D57 00000007
+B1D6 00000E3C
+B1D60 00000000
+B1D61 00000001
+B1D62 00000002
+B1D63 00000003
+B1D64 00000004
+B1D65 00000005
+B1D66 00000006
+B1D67 00000007
+B1D7 00000E3D
+B1D70 00000000
+B1D71 00000001
+B1D72 00000002
+B1D73 00000003
+B1D74 00000004
+B1D75 00000005
+B1D76 00000006
+B1D77 00000007
+B1DLC 00000E35
+B1EIDH 00000E33
+B1EIDL 00000E34
+B1IE 00000003
+B1SIDH 00000E31
+B1SIDL 00000E32
+B1TXEN 00000003
+B2CON 00000E40
+B2D0 00000E46
+B2D00 00000000
+B2D01 00000001
+B2D02 00000002
+B2D03 00000003
+B2D04 00000004
+B2D05 00000005
+B2D06 00000006
+B2D07 00000007
+B2D1 00000E47
+B2D10 00000000
+B2D11 00000001
+B2D12 00000002
+B2D13 00000003
+B2D14 00000004
+B2D15 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 48
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B2D16 00000006
+B2D17 00000007
+B2D2 00000E48
+B2D20 00000000
+B2D21 00000001
+B2D22 00000002
+B2D23 00000003
+B2D24 00000004
+B2D25 00000005
+B2D26 00000006
+B2D27 00000007
+B2D3 00000E49
+B2D30 00000000
+B2D31 00000001
+B2D32 00000002
+B2D33 00000003
+B2D34 00000004
+B2D35 00000005
+B2D36 00000006
+B2D37 00000007
+B2D4 00000E4A
+B2D40 00000000
+B2D41 00000001
+B2D42 00000002
+B2D43 00000003
+B2D44 00000004
+B2D45 00000005
+B2D46 00000006
+B2D47 00000007
+B2D5 00000E4B
+B2D50 00000000
+B2D51 00000001
+B2D52 00000002
+B2D53 00000003
+B2D54 00000004
+B2D55 00000005
+B2D56 00000006
+B2D57 00000007
+B2D6 00000E4C
+B2D60 00000000
+B2D61 00000001
+B2D62 00000002
+B2D63 00000003
+B2D64 00000004
+B2D65 00000005
+B2D66 00000006
+B2D67 00000007
+B2D7 00000E4D
+B2D70 00000000
+B2D71 00000001
+B2D72 00000002
+B2D73 00000003
+B2D74 00000004
+B2D75 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 49
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B2D76 00000006
+B2D77 00000007
+B2DLC 00000E45
+B2EIDH 00000E43
+B2EIDL 00000E44
+B2IE 00000004
+B2SIDH 00000E41
+B2SIDL 00000E42
+B2TXEN 00000004
+B3CON 00000E50
+B3D0 00000E56
+B3D00 00000000
+B3D01 00000001
+B3D02 00000002
+B3D03 00000003
+B3D04 00000004
+B3D05 00000005
+B3D06 00000006
+B3D07 00000007
+B3D1 00000E57
+B3D10 00000000
+B3D11 00000001
+B3D12 00000002
+B3D13 00000003
+B3D14 00000004
+B3D15 00000005
+B3D16 00000006
+B3D17 00000007
+B3D2 00000E58
+B3D20 00000000
+B3D21 00000001
+B3D22 00000002
+B3D23 00000003
+B3D24 00000004
+B3D25 00000005
+B3D26 00000006
+B3D27 00000007
+B3D3 00000E59
+B3D30 00000000
+B3D31 00000001
+B3D32 00000002
+B3D33 00000003
+B3D34 00000004
+B3D35 00000005
+B3D36 00000006
+B3D37 00000007
+B3D4 00000E5A
+B3D40 00000000
+B3D41 00000001
+B3D42 00000002
+B3D43 00000003
+B3D44 00000004
+B3D45 00000005
+B3D46 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 50
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B3D47 00000007
+B3D5 00000E5B
+B3D50 00000000
+B3D51 00000001
+B3D52 00000002
+B3D53 00000003
+B3D54 00000004
+B3D55 00000005
+B3D56 00000006
+B3D57 00000007
+B3D6 00000E5C
+B3D60 00000000
+B3D61 00000001
+B3D62 00000002
+B3D63 00000003
+B3D64 00000004
+B3D65 00000005
+B3D66 00000006
+B3D67 00000007
+B3D7 00000E5D
+B3D70 00000000
+B3D71 00000001
+B3D72 00000002
+B3D73 00000003
+B3D74 00000004
+B3D75 00000005
+B3D76 00000006
+B3D77 00000007
+B3DLC 00000E55
+B3EIDH 00000E53
+B3EIDL 00000E54
+B3IE 00000005
+B3SIDH 00000E51
+B3SIDL 00000E52
+B3TXEN 00000005
+B46D77 00000007
+B4CON 00000E60
+B4D0 00000E66
+B4D00 00000000
+B4D01 00000001
+B4D02 00000002
+B4D03 00000003
+B4D04 00000004
+B4D05 00000005
+B4D06 00000006
+B4D07 00000007
+B4D1 00000E67
+B4D10 00000000
+B4D11 00000001
+B4D12 00000002
+B4D13 00000003
+B4D14 00000004
+B4D15 00000005
+B4D16 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 51
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B4D17 00000007
+B4D2 00000E68
+B4D20 00000000
+B4D21 00000001
+B4D22 00000002
+B4D23 00000003
+B4D24 00000004
+B4D25 00000005
+B4D26 00000006
+B4D27 00000007
+B4D3 00000E69
+B4D30 00000000
+B4D31 00000001
+B4D32 00000002
+B4D33 00000003
+B4D34 00000004
+B4D35 00000005
+B4D36 00000006
+B4D37 00000007
+B4D4 00000E6A
+B4D40 00000000
+B4D41 00000001
+B4D42 00000002
+B4D43 00000003
+B4D44 00000004
+B4D45 00000005
+B4D46 00000006
+B4D47 00000007
+B4D5 00000E6B
+B4D50 00000000
+B4D51 00000001
+B4D52 00000002
+B4D53 00000003
+B4D54 00000004
+B4D55 00000005
+B4D56 00000006
+B4D57 00000007
+B4D6 00000E6C
+B4D60 00000000
+B4D61 00000001
+B4D62 00000002
+B4D63 00000003
+B4D64 00000004
+B4D65 00000005
+B4D66 00000006
+B4D67 00000007
+B4D7 00000E6D
+B4D70 00000000
+B4D71 00000001
+B4D72 00000002
+B4D73 00000003
+B4D74 00000004
+B4D75 00000005
+B4D76 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 52
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B4D77 00000007
+B4DLC 00000E65
+B4EIDH 00000E63
+B4EIDL 00000E64
+B4IE 00000006
+B4SIDH 00000E61
+B4SIDL 00000E62
+B4TXEN 00000006
+B57D07 00000007
+B57D23 00000003
+B5CON 00000E70
+B5D0 00000E76
+B5D00 00000000
+B5D01 00000001
+B5D02 00000002
+B5D03 00000003
+B5D04 00000004
+B5D05 00000005
+B5D06 00000006
+B5D07 00000007
+B5D1 00000E77
+B5D10 00000000
+B5D11 00000001
+B5D12 00000002
+B5D13 00000003
+B5D14 00000004
+B5D15 00000005
+B5D16 00000006
+B5D17 00000007
+B5D2 00000E78
+B5D20 00000000
+B5D21 00000001
+B5D22 00000002
+B5D23 00000003
+B5D24 00000004
+B5D25 00000005
+B5D26 00000006
+B5D27 00000007
+B5D3 00000E79
+B5D30 00000000
+B5D31 00000001
+B5D32 00000002
+B5D33 00000003
+B5D34 00000004
+B5D35 00000005
+B5D36 00000006
+B5D37 00000007
+B5D4 00000E7A
+B5D40 00000000
+B5D41 00000001
+B5D42 00000002
+B5D43 00000003
+B5D44 00000004
+B5D45 00000005
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 53
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+B5D46 00000006
+B5D47 00000007
+B5D5 00000E7B
+B5D50 00000000
+B5D51 00000001
+B5D52 00000002
+B5D53 00000003
+B5D54 00000004
+B5D55 00000005
+B5D56 00000006
+B5D57 00000007
+B5D6 00000E7C
+B5D60 00000000
+B5D61 00000001
+B5D62 00000002
+B5D63 00000003
+B5D64 00000004
+B5D65 00000005
+B5D66 00000006
+B5D67 00000007
+B5D7 00000E7D
+B5D70 00000000
+B5D71 00000001
+B5D72 00000002
+B5D73 00000003
+B5D74 00000004
+B5D75 00000005
+B5D76 00000006
+B5D77 00000007
+B5DLC 00000E75
+B5EIDH 00000E73
+B5EIDL 00000E74
+B5IE 00000007
+B5SIDH 00000E71
+B5SIDL 00000E72
+B5TXEN 00000007
+BANKED 00000001
+BAUDCON 00000FB8
+BCLIE 00000003
+BCLIF 00000003
+BCLIP 00000003
+BF 00000000
+BGST 00000005
+BIE0 00000DFA
+BOR 00000000
+BRG16 00000003
+BRGCON1 00000F70
+BRGCON2 00000F71
+BRGCON3 00000F72
+BRGH 00000002
+BRP0 00000000
+BRP1 00000001
+BRP2 00000002
+BRP3 00000003
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 54
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+BRP4 00000004
+BRP5 00000005
+BSEL0 00000DF8
+BSR 00000FE0
+C 00000000
+C1INA 00000001
+C1INB 00000000
+C1INV 00000004
+C1OUT 00000006
+C2INA 00000003
+C2INB 00000002
+C2INV 00000005
+C2OUT 00000007
+CANCAP 00000004
+CANCON 00000F6F
+CANCON_RO0 00000F5F
+CANCON_RO1 00000F4F
+CANCON_RO2 00000F3F
+CANCON_RO3 00000F2F
+CANCON_RO4 00000E7F
+CANCON_RO5 00000E6F
+CANCON_RO6 00000E5F
+CANCON_RO7 00000E4F
+CANCON_RO8 00000E3F
+CANCON_RO9 00000E2F
+CANRX 00000003
+CANSTAT 00000F6E
+CANSTAT_RO0 00000F5E
+CANSTAT_RO1 00000F4E
+CANSTAT_RO2 00000F3E
+CANSTAT_RO3 00000F2E
+CANSTAT_RO4 00000E7E
+CANSTAT_RO5 00000E6E
+CANSTAT_RO6 00000E5E
+CANSTAT_RO7 00000E4E
+CANSTAT_RO8 00000E3E
+CANSTAT_RO9 00000E2E
+CANTX 00000002
+CCP1 00000002
+CCP1CON 00000FBD
+CCP1IE 00000002
+CCP1IF 00000002
+CCP1IP 00000002
+CCP1M0 00000000
+CCP1M1 00000001
+CCP1M2 00000002
+CCP1M3 00000003
+CCPR1 00000FBE
+CCPR1H 00000FBF
+CCPR1L 00000FBE
+CFGS 00000006
+CHS0 00000002
+CHS1 00000003
+CHS2 00000004
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 55
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+CHS3 00000005
+CIOCON 00000F73
+CIS 00000003
+CK 00000006
+CKE 00000006
+CKP 00000004
+CLKI 00000007
+CLKO 00000006
+CM0 00000000
+CM1 00000001
+CM2 00000002
+CMCON 00000FB4
+CMIE 00000006
+CMIF 00000006
+CMIP 00000006
+COMSTAT 00000F74
+CREN 00000004
+CS 00000002
+CSRC 00000007
+CVR0 00000000
+CVR1 00000001
+CVR2 00000002
+CVR3 00000003
+CVRCON 00000FB5
+CVREF_CVRCON 00000004
+CVREF_PORTA 00000000
+CVREN 00000007
+CVROE 00000006
+CVRR 00000005
+CVRSS 00000004
+D 00000005
+DATA_ADDRESS 00000005
+DC 00000001
+DC1B0 00000004
+DC1B1 00000005
+DFLC0 00000000
+DFLC1 00000001
+DFLC2 00000002
+DFLC3 00000003
+DFLC4 00000004
+DLC0 00000000
+DLC1 00000001
+DLC2 00000002
+DLC3 00000003
+DONE 00000001
+D_A 00000005
+ECANCON 00000F77
+ECCP1 00000004
+ECCP1AS 00000FB6
+ECCP1CON 00000FBA
+ECCP1DEL 00000FB7
+ECCP1IE 00000000
+ECCP1IF 00000000
+ECCP1IP 00000000
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 56
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+ECCP1M0 00000000
+ECCP1M1 00000001
+ECCP1M2 00000002
+ECCP1M3 00000003
+ECCPAS0 00000004
+ECCPAS1 00000005
+ECCPAS2 00000006
+ECCPASE 00000007
+ECCPR1 00000FBB
+ECCPR1H 00000FBC
+ECCPR1L 00000FBB
+EDC1B0 00000004
+EDC1B1 00000005
+EEADR 00000FA9
+EEADRH 00000FAA
+EECON1 00000FA6
+EECON2 00000FA7
+EEDATA 00000FA8
+EEIE 00000004
+EEIF 00000004
+EEIP 00000004
+EEPGD 00000007
+EICODE0 00000000
+EICODE1 00000001
+EICODE2 00000002
+EICODE3 00000003
+EICODE4 00000004
+EID0 00000000
+EID1 00000001
+EID10 00000002
+EID11 00000003
+EID12 00000004
+EID13 00000005
+EID14 00000006
+EID15 00000007
+EID16 00000000
+EID17 00000001
+EID2 00000002
+EID3 00000003
+EID4 00000004
+EID5 00000005
+EID6 00000006
+EID7 00000007
+EID8 00000000
+EID9 00000001
+ENDRHI 00000005
+EPWM1M0 00000006
+EPWM1M1 00000007
+ERRIE 00000005
+ERRIF 00000005
+ERRIP 00000005
+EWARN 00000000
+EWIN0 00000000
+EWIN1 00000001
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 57
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+EWIN2 00000002
+EWIN3 00000003
+EWIN4 00000004
+EXID 00000003
+EXIDE 00000003
+EXIDEN 00000003
+F 00000005
+F0BP_0 00000000
+F0BP_1 00000001
+F0BP_2 00000002
+F0BP_3 00000003
+F10BP_0 00000000
+F10BP_1 00000001
+F10BP_2 00000002
+F10BP_3 00000003
+F11BP_0 00000004
+F11BP_1 00000005
+F11BP_2 00000006
+F11BP_3 00000007
+F12BP_0 00000000
+F12BP_1 00000001
+F12BP_2 00000002
+F12BP_3 00000003
+F13BP_0 00000004
+F13BP_1 00000005
+F13BP_2 00000006
+F13BP_3 00000007
+F14BP_0 00000000
+F14BP_1 00000001
+F14BP_2 00000002
+F14BP_3 00000003
+F15BP_0 00000004
+F15BP_1 00000005
+F15BP_2 00000006
+F15BP_3 00000007
+F1BP_0 00000004
+F1BP_1 00000005
+F1BP_2 00000006
+F1BP_3 00000007
+F2BP_0 00000000
+F2BP_1 00000001
+F2BP_2 00000002
+F2BP_3 00000003
+F3BP_0 00000004
+F3BP_1 00000005
+F3BP_2 00000006
+F3BP_3 00000007
+F4BP_0 00000000
+F4BP_1 00000001
+F4BP_2 00000002
+F4BP_3 00000003
+F5BP_0 00000004
+F5BP_1 00000005
+F5BP_2 00000006
+ gpasm-0.13.7 beta main.asm 6-8-2013 12:50:22 PAGE 58
+
+
+LOC OBJECT CODE LINE SOURCE TEXT
+ VALUE
+
+F5BP_3 00000007
+F6BP_0 00000000
+F6BP_1 00000001
+F6BP_2 00000002
+F6BP_3 00000003
+F7BP_0 00000004
+F7BP_1 00000005
+F7BP_2 00000006
+F7BP_3 00000007
+F8BP_0 00000000
+F8BP_1 00000001
+F8BP_2 00000002
+F8BP_3 00000003
+F9BP_0 00000004
+F9BP_1 00000005
+F9BP_2 00000006
+F9BP_3 00000007
+FAST 00000001
+FERR 00000002
+FIFOEMPTY 00000007
+FIFOMWIE 00000000
+FIFOWM 00000005
+FIFOWMIE 00000000
+FIFOWMIF 00000000
+FIFOWMIP 00000000
+FIL0_0 00000000
+FIL0_1 00000001
+FIL10_0 00000004
+FIL10_1 00000005
+FIL11_0 00000006
+FIL11_1 00000007
+FIL12_0 00000000
+FIL12_1 00000001
+FIL13_0 00000002
+FIL13_1 00000003
+FIL14_0 00000004
+FIL14_1 00000005
+FIL15_0 00000006
+FIL15_1 00000007
+FIL1_0 00000002
+FIL1_1 00000003
+FIL2_0 00000004
+FIL2_1 00000005
+FIL3_0 00000006
+FIL3_1 00000007