elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 [218] 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 ... 261
2171  Programación / .NET (C#, VB.NET, ASP) / Re: Puerto serie RS232 en: 23 Febrero 2009, 23:33 pm
Vamos a empezar desde el principio.

Utilizando el Mono con gtk#, he introducido un botón normal en el formulario. El código completo lo he hecho de nuevo y ahora es así. Ejecuta sin problemas pero al pulsar el botón hay errores que no se el motivo.

Código
  1. // MainWindow.cs created with MonoDevelop
  2. // User: metaconta at 20:59 23/02/2009
  3. //
  4. // To change standard headers go to Edit->Preferences->Coding->Standard Headers
  5. //
  6. using System;
  7. using Gtk;
  8. using System.IO.Ports;
  9.  
  10. public partial class MainWindow: Gtk.Window
  11. {
  12. public MainWindow (): base (Gtk.WindowType.Toplevel)
  13. {
  14. Build ();
  15. }
  16.  
  17. protected void OnDeleteEvent (object sender, DeleteEventArgs a)
  18. {
  19. Application.Quit ();
  20. a.RetVal = true;
  21. }
  22.  
  23. public SerialPort mySerial;
  24.  
  25. protected virtual void OnButtonTClicked (object sender, System.EventArgs e)
  26. {
  27. mySerial = new SerialPort("/dev/ttyS0", 9600, Parity.None, 8, StopBits.Two);
  28. mySerial.Open();
  29. byte[] mBuffer = new byte[1];
  30. mBuffer[0] = 0x74; // LA letra t.
  31. mySerial.Write(mBuffer, 0, mBuffer.Length);
  32. mySerial.Close();
  33. }
  34. }
  35.  

En el mensaje de error me da esto:
Código
  1.  
  2. Marshaling clicked signal
  3. Exception in Gtk# callback delegate
  4.  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
  5. System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.IOException: Permiso denegado
  6.  at System.IO.Ports.SerialPortStream.ThrowIOException () [0x00012] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/System/System.IO.Ports/SerialPortStream.cs:299
  7.  at System.IO.Ports.SerialPortStream..ctor (System.String portName, Int32 baudRate, Int32 dataBits, Parity parity, StopBits stopBits, Boolean dtrEnable, Boolean rtsEnable, Handshake handshake, Int32 readTimeout, Int32 writeTimeout, Int32 readBufferSize, Int32 writeBufferSize) [0x0001e] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/System/System.IO.Ports/SerialPortStream.cs:36
  8.  at (wrapper remoting-invoke-with-check) System.IO.Ports.SerialPortStream:.ctor (string,int,int,System.IO.Ports.Parity,System.IO.Ports.StopBits,bool,bool,System.IO.Ports.Handshake,int,int,int,int)
  9.  at System.IO.Ports.SerialPort.Open () [0x00078] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/System/System.IO.Ports/SerialPort.cs:563
  10.  at (wrapper remoting-invoke-with-check) System.IO.Ports.SerialPort:Open ()
  11.  at MainWindow.OnButtonTClicked (System.Object sender, System.EventArgs e) [0x00018] in /home/metaconta/Prueba_02/Prueba_02/MainWindow.cs:28
  12.  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  13.  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00057] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/corlib/System.Reflection/MonoMethod.cs:157
  14.  --- End of inner exception stack trace ---
  15.  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00071] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/corlib/System.Reflection/MonoMethod.cs:167
  16.  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/corlib/System.Reflection/MethodBase.cs:110
  17.  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x000b4] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/corlib/System/Delegate.cs:422
  18.  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00018] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/corlib/System/MulticastDelegate.cs:71
  19.  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in /usr/src/packages/BUILD/mono-2.0.1/mcs/class/corlib/System/Delegate.cs:394
  20.  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x0004f] in /usr/src/packages/BUILD/gtk-sharp-2.12.6/glib/Signal.cs:195
  21.  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x0000c] in /usr/src/packages/BUILD/gtk-sharp-2.12.6/glib/SignalClosure.cs:118
  22.  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x0007a] in /usr/src/packages/BUILD/gtk-sharp-2.12.6/glib/SignalClosure.cs:146
  23.   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) in /usr/src/packages/BUILD/gtk-sharp-2.12.6/glib/ExceptionManager.cs:line 58
  24.   at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) in /usr/src/packages/BUILD/gtk-sharp-2.12.6/glib/SignalClosure.cs:line 173
  25.   at Gtk.Application.gtk_main()
  26.   at Gtk.Application.Run() in /usr/src/packages/BUILD/gtk-sharp-2.12.6/gtk/generated/AboutDialog.cs:line 1
  27.   at Prueba_02.MainClass.Main(System.String[] args) in /home/metaconta/Prueba_02/Prueba_02/Main.cs:line 18
  28.  
  29.  
  30.  
2172  Programación / .NET (C#, VB.NET, ASP) / Puerto serie RS232 en: 23 Febrero 2009, 21:39 pm
Hola:

Estoy con MonoDevelop con el openSUSE 11.1. Mirando esta web http://www.mono-project.com/HowToSystemIOPorts quiero configurar el puerto serie como a mi me de la gana.

Lo he puesto así:

Código
  1. mySerial new SerialPort("/dev/ttyS0", 9600, None, 8, Two);

La otra manera con comillas así:

Código
  1. mySerial new SerialPort("/dev/ttyS0", 9600, "None", 8, "Two");

Código completo:

Código
  1. // MainWindow.cs created with MonoDevelop
  2. // User: metaconta at 17:46 23/02/2009
  3. //
  4. // To change standard headers go to Edit->Preferences->Coding->Standard Headers
  5. //
  6. using System;
  7. using Gtk;
  8. using System.IO.Ports;
  9.  
  10. public partial class MainWindow: Gtk.Window
  11. {
  12. public MainWindow (): base (Gtk.WindowType.Toplevel)
  13. {
  14. Build ();
  15. }
  16.  
  17. protected void OnDeleteEvent (object sender, DeleteEventArgs a)
  18. {
  19. Application.Quit ();
  20. a.RetVal = true;
  21. }
  22.  
  23. protected virtual void OnButton1Clicked (object sender, System.EventArgs e)
  24. {
  25. mySerial new SerialPort("/dev/ttyS0", 9600, None, 8, Two);
  26. }
  27. }

Me da error en la línea 25. ¿Qué puede ser?

Estoy intentando pasar este código de Visual C# a Mono, puedes ver el código en las páginas 153 y 154 en este manual en PDF.

http://www.abcdatos.com/tutoriales/tutorial/z9521.html

Saludos.

EDITO:
He logrado abrir el puerto pero no he sido enviar el código al puerto serie.
Código
  1. // MainWindow.cs created with MonoDevelop
  2. // User: metaconta at 17:46 23/02/2009
  3. //
  4. // To change standard headers go to Edit->Preferences->Coding->Standard Headers
  5. //
  6. using System;
  7. using Gtk;
  8. using System.IO.Ports;
  9.  
  10. public partial class MainWindow: Gtk.Window
  11. {
  12. private SerialPort mySerial;
  13.  
  14. public MainWindow (): base (Gtk.WindowType.Toplevel)
  15. {
  16. Build ();
  17. }
  18.  
  19. protected void OnDeleteEvent (object sender, DeleteEventArgs a)
  20. {
  21. Application.Quit ();
  22. a.RetVal = true;
  23. }
  24.  
  25. protected virtual void OnButton1Clicked (object sender, System.EventArgs e)
  26. {
  27. mySerial = new SerialPort("/dev/ttyS0", 9600, Parity.None, 8, StopBits.Two);
  28.  
  29. if(mySerial == null) return;
  30.  
  31. mySerial.Open();
  32.  
  33. if(!mySerial.IsOpen)
  34. {
  35. label1.Text = "Error abriendo";
  36. mySerial.Dispose();
  37. return;
  38. }
  39.  
  40. byte[] buffer = new byte[1];
  41. buffer[0] = 0x74;
  42. mySerial.Write(buffer, 0, 1);
  43.  
  44. try
  45. {
  46. mySerial.Write(buffer, 0, 1);
  47. }
  48. catch(Exception ex)
  49. {
  50. //label1.Text = ex.Message;// + " " + ex.StackTrace;
  51. mySerial.Close();
  52. mySerial.Dispose();
  53. return;
  54. }
  55.  
  56. mySerial.Close();
  57. }
  58. }

Un cordial saludo.
2173  Programación / .NET (C#, VB.NET, ASP) / DE Visual C++ a Visual C#... en: 10 Febrero 2009, 23:00 pm
Hola:

Intentando pasar de VC# a VC++ esta parte que parece que no sirve.

Código
  1. 1 using System;
  2. 2 using System.Collections.Generic;
  3. 3 using System.ComponentModel;
  4. 4 using System.Data;
  5. 5 using System.Drawing;
  6. 6 using System.Linq;
  7. 7 using System.Text;
  8. 8 using System.Windows.Forms;
  9. 9 using System.IO.Ports;
  10. 10
  11. 11 namespace PicRS232
  12. 12 {
  13. 13    public partial class Form1_Principal : Form
  14. 14    {
  15. 15        // Utilizaremos un string como buffer de recepcion
  16. 16        string Recibidos;
  17. 17        public Form1_Principal()
  18. 18        {
  19. 19            InitializeComponent();
  20. 20            // Abrir puerto mientra se ejecute la aplicación
  21. 21            if (!serialPort1.IsOpen)
  22. 22            {
  23. 23                try
  24. 24                {
  25. 25                    serialPort1.Open();
  26. 26                }
  27. 27                catch (System.Exception ex)
  28. 28                {
  29. 29                    MessageBox.Show(ex.ToString());
  30. 30                }
  31. 31            }
  32. 32            // Ejecutar la funcion Recepcion por disparo del Evento 'DataReived'
  33. 33            serialPort1.DataReceived += new
  34. 34            System.IO.Ports.SerialDataReceivedEventHandler(Recepcion);
  35. 35        }
  36. 36        // Al recibir los datos
  37. 37        private void Recepcion(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
  38. 38        {
  39. 39            // Acumular los carácteres recibidos a nuestro 'buffer' (string)
  40. 40            Recibidos += serialPort1.ReadExisting();
  41. 41            // Invocar o llamar al proceso de tramas
  42. 42            this.Invoke(new EventHandler(Actualizar));
  43. 43        }
  44. 44        // Procesar los datos recibidos en el buffer y extraer tramas completas
  45. 45        private void Actualizar(object s, EventArgs e)
  46. 46        {
  47. 47            // Asignar el valor de la trama al textBox
  48. 48            textBox_visualizar_mensaje.Text = Recibidos;
  49. 49        }
  50. 50        private void button_t_Click(object sender, EventArgs e)
  51. 51        {
  52. 52            byte[] mBuffer = new byte[1];
  53. 53            mBuffer[0] = 0x74; //ASCII letra "t".
  54. 54            serialPort1.Write(mBuffer, 0, mBuffer.Length);
  55. 55        }
  56. 56
  57. 57        private void button_b_Click(object sender, EventArgs e)
  58. 58        {
  59. 59            byte[] miBuffer = new byte[1];
  60. 60            miBuffer[0] = 0x62; //ASCII letra "b".
  61. 61            serialPort1.Write(miBuffer, 0, miBuffer.Length);
  62. 62        }
  63. 63
  64. 64        private void button_a_Click(object sender, EventArgs e)
  65. 65        {
  66. 66            byte[] mBuffer = new byte[1];
  67. 67            mBuffer[0] = 0x61; //ASCII letra "a".
  68. 68            serialPort1.Write(mBuffer, 0, mBuffer.Length);
  69. 69        }
  70. 70
  71. 71        private void button_l_Click(object sender, EventArgs e)
  72. 72        {
  73. 73            byte[] mBuffer = new byte[1];
  74. 74            mBuffer[0] = 0x6C; //ASCII letra "l".
  75. 75            serialPort1.Write(mBuffer, 0, mBuffer.Length);
  76. 76        }
  77. 77
  78. 78        private void button_Espacio_Click(object sender, EventArgs e)
  79. 79        {
  80. 80            byte[] mBuffer = new byte[1];
  81. 81            mBuffer[0] = 0x20; //ASCII letra "Espacio".
  82. 82            serialPort1.Write(mBuffer, 0, mBuffer.Length);
  83. 83        }
  84. 84
  85. 85        private void timer1_Tick(object sender, EventArgs e)
  86. 86        {
  87. 87            statusStrip1.Items[0].Text = DateTime.Now.ToLongTimeString();
  88. 88        }
  89. 89    }
  90. 90 }

Código completo de Visual C# Express. Descargar aquí.

Por ahora he hecho el código en Visual C++ pero me faltan hacer cosas que no he incuido.
Código
  1. 1 #pragma once
  2. 2
  3. 3
  4. 4 namespace PicRS232VCPP_Prueba01 {
  5. 5
  6. 6    using namespace System;
  7. 7    using namespace System::ComponentModel;
  8. 8    using namespace System::Collections;
  9. 9    using namespace System::Windows::Forms;
  10. 10    using namespace System::Data;
  11. 11    using namespace System::Drawing;
  12. 12    using namespace System::IO::Ports;
  13. 13
  14. 14    /// <summary>
  15. 15    /// Resumen de Form1
  16. 16    ///
  17. 17    /// ADVERTENCIA: si cambia el nombre de esta clase, deberá cambiar la
  18. 18    ///          propiedad 'Nombre de archivos de recursos' de la herramienta de compilación de recursos administrados
  19. 19    ///          asociada con todos los archivos .resx de los que depende esta clase. De lo contrario,
  20. 20    ///          los diseñadores no podrán interactuar correctamente con los
  21. 21    ///          recursos adaptados asociados con este formulario.
  22. 22    /// </summary>
  23. 23    public ref class Form1 : public System::Windows::Forms::Form
  24. 24    {
  25. 25    public:
  26. 26        Form1(void)
  27. 27        {
  28. 28            InitializeComponent();
  29. 29            //
  30. 30            //TODO: agregar código de constructor aquí
  31. 31            //
  32. 32            // Abrir puerto mientrase ejecute la aplicación
  33. 33            if(!serialPort1->IsOpen)
  34. 34            {
  35. 35                try
  36. 36                {
  37. 37                serialPort1->Open();
  38. 38                }
  39. 39                catch (Exception ^ex)
  40. 40                {
  41. 41                    MessageBox::Show(ex->ToString());
  42. 42                }
  43. 43            }
  44. 44        }
  45. 45
  46. 46    protected:
  47. 47        /// <summary>
  48. 48        /// Limpiar los recursos que se estén utilizando.
  49. 49        /// </summary>
  50. 50        ~Form1()
  51. 51        {
  52. 52            if (components)
  53. 53            {
  54. 54                delete components;
  55. 55            }
  56. 56        }
  57. 57    private: System::Windows::Forms::Button^  button_t;
  58. 58    private: System::Windows::Forms::Button^  button_b;
  59. 59    private: System::Windows::Forms::Button^  button_a;
  60. 60    private: System::Windows::Forms::Button^  button_l;
  61. 61    private: System::Windows::Forms::Button^  button_Espacio;
  62. 62    private: System::IO::Ports::SerialPort^  serialPort1;
  63. 63    private: System::ComponentModel::IContainer^  components;
  64. 64
  65. 65    protected:  
  66. 66
  67. 67    private:
  68. 68        /// <summary>
  69. 69        /// Variable del diseñador requerida.
  70. 70        /// </summary>
  71. 71
  72. 72
  73. 73 #pragma region Windows Form Designer generated code
  74. 74        /// <summary>
  75. 75        /// Método necesario para admitir el Diseñador. No se puede modificar
  76. 76        /// el contenido del método con el editor de código.
  77. 77        /// </summary>
  78. 78        void InitializeComponent(void)
  79. 79        {
  80. 80            this->components = (gcnew System::ComponentModel::Container());
  81. 81            this->button_t = (gcnew System::Windows::Forms::Button());
  82. 82            this->button_b = (gcnew System::Windows::Forms::Button());
  83. 83            this->button_a = (gcnew System::Windows::Forms::Button());
  84. 84            this->button_l = (gcnew System::Windows::Forms::Button());
  85. 85            this->button_Espacio = (gcnew System::Windows::Forms::Button());
  86. 86            this->serialPort1 = (gcnew System::IO::Ports::SerialPort(this->components));
  87. 87            this->SuspendLayout();
  88. 88            //  
  89. 89            // button_t
  90. 90            //  
  91. 91            this->button_t->Location = System::Drawing::Point(109, 38);
  92. 92            this->button_t->Name = L"button_t";
  93. 93            this->button_t->Size = System::Drawing::Size(75, 23);
  94. 94            this->button_t->TabIndex = 0;
  95. 95            this->button_t->Text = L"t";
  96. 96            this->button_t->UseVisualStyleBackColor = true;
  97. 97            this->button_t->Click += gcnew System::EventHandler(this, &Form1::button_t_Click);
  98. 98            //  
  99. 99            // button_b
  100. 100            //  
  101. 101            this->button_b->Location = System::Drawing::Point(109, 67);
  102. 102            this->button_b->Name = L"button_b";
  103. 103            this->button_b->Size = System::Drawing::Size(75, 23);
  104. 104            this->button_b->TabIndex = 1;
  105. 105            this->button_b->Text = L"b";
  106. 106            this->button_b->UseVisualStyleBackColor = true;
  107. 107            this->button_b->Click += gcnew System::EventHandler(this, &Form1::button_b_Click);
  108. 108            //  
  109. 109            // button_a
  110. 110            //  
  111. 111            this->button_a->Location = System::Drawing::Point(28, 67);
  112. 112            this->button_a->Name = L"button_a";
  113. 113            this->button_a->Size = System::Drawing::Size(75, 23);
  114. 114            this->button_a->TabIndex = 2;
  115. 115            this->button_a->Text = L"a";
  116. 116            this->button_a->UseVisualStyleBackColor = true;
  117. 117            this->button_a->Click += gcnew System::EventHandler(this, &Form1::button_a_Click);
  118. 118            //  
  119. 119            // button_l
  120. 120            //  
  121. 121            this->button_l->Location = System::Drawing::Point(190, 67);
  122. 122            this->button_l->Name = L"button_l";
  123. 123            this->button_l->Size = System::Drawing::Size(75, 23);
  124. 124            this->button_l->TabIndex = 3;
  125. 125            this->button_l->Text = L"l";
  126. 126            this->button_l->UseVisualStyleBackColor = true;
  127. 127            this->button_l->Click += gcnew System::EventHandler(this, &Form1::button_l_Click);
  128. 128            //  
  129. 129            // button_Espacio
  130. 130            //  
  131. 131            this->button_Espacio->BackColor = System::Drawing::Color::FromArgb(static_cast<System::Int32>(static_cast<System::Byte>(255)), static_cast<System::Int32>(static_cast<System::Byte>(128)),  
  132. 132                static_cast<System::Int32>(static_cast<System::Byte>(0)));
  133. 133            this->button_Espacio->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,  
  134. 134                static_cast<System::Byte>(0)));
  135. 135            this->button_Espacio->Location = System::Drawing::Point(190, 96);
  136. 136            this->button_Espacio->Name = L"button_Espacio";
  137. 137            this->button_Espacio->Size = System::Drawing::Size(75, 23);
  138. 138            this->button_Espacio->TabIndex = 4;
  139. 139            this->button_Espacio->Text = L"Espacio";
  140. 140            this->button_Espacio->UseVisualStyleBackColor = false;
  141. 141            this->button_Espacio->Click += gcnew System::EventHandler(this, &Form1::button_Espacio_Click);
  142. 142            //  
  143. 143            // serialPort1
  144. 144            //  
  145. 145            this->serialPort1->StopBits = System::IO::Ports::StopBits::Two;
  146. 146            //  
  147. 147            // Form1
  148. 148            //  
  149. 149            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
  150. 150            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
  151. 151            this->ClientSize = System::Drawing::Size(292, 266);
  152. 152            this->Controls->Add(this->button_Espacio);
  153. 153            this->Controls->Add(this->button_l);
  154. 154            this->Controls->Add(this->button_a);
  155. 155            this->Controls->Add(this->button_b);
  156. 156            this->Controls->Add(this->button_t);
  157. 157            this->Name = L"Form1";
  158. 158            this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen;
  159. 159            this->Text = L"PicRS232VCPP";
  160. 160            this->ResumeLayout(false);
  161. 161
  162. 162        }
  163. 163 #pragma endregion
  164. 164    private: System::Void button_t_Click(System::Object^  sender, System::EventArgs^  e) {
  165. 165                 cli::array<unsigned char> ^uno = gcnew cli::array<unsigned char>(1);
  166. 166                 uno[0] = 0x74; //ASCII letra "t".
  167. 167                 serialPort1->Write(uno, 0, 1);
  168. 168             }
  169. 169 private: System::Void button_b_Click(System::Object^  sender, System::EventArgs^  e) {
  170. 170                 cli::array<unsigned char> ^uno = gcnew cli::array<unsigned char>(1);
  171. 171                 uno[0] = 0x62; //ASCII letra "b".
  172. 172                 serialPort1->Write(uno, 0, 1);
  173. 173         }
  174. 174 private: System::Void button_a_Click(System::Object^  sender, System::EventArgs^  e) {
  175. 175             cli::array<unsigned char> ^uno = gcnew cli::array<unsigned char>(1);
  176. 176                 uno[0] = 0x61; //ASCII letra "a".
  177. 177                 serialPort1->Write(uno, 0, 1);
  178. 178         }
  179. 179 private: System::Void button_l_Click(System::Object^  sender, System::EventArgs^  e) {
  180. 180             cli::array<unsigned char> ^uno = gcnew cli::array<unsigned char>(1);
  181. 181                 uno[0] = 0x6C; //ASCII letra "l".
  182. 182                 serialPort1->Write(uno, 0, 1);
  183. 183         }
  184. 184 private: System::Void button_Espacio_Click(System::Object^  sender, System::EventArgs^  e) {
  185. 185             cli::array<unsigned char> ^uno = gcnew cli::array<unsigned char>(1);
  186. 186                 uno[0] = 0x20; //ASCII letra "Espacio".
  187. 187                 serialPort1->Write(uno, 0, 1);
  188. 188         }
  189. 189 };
  190. 190 }
  191. 191
   


Saludos.
2174  Informática / Electrónica / Re: chivato en: 5 Febrero 2009, 23:13 pm
Prueba con el puerto serie y el PIC, aunque sea el 16F84.



Saludos.
2175  Programación / Programación General / Re: programar en lenguaje maquina en: 4 Febrero 2009, 17:19 pm
Si existen emuladores y enn ella lo puedes conseguir aquí y se llama Proteus.



El simulador y compilador oficial la puedes descargar en la web www.microchip.com , se llama MPLAB 8.20 en este caso que puedes descatgar aquí y es gratuito.
2176  Programación / Programación General / Re: programar en lenguaje maquina en: 4 Febrero 2009, 16:03 pm
Las instrucciones no se llaman igual aunque hagan lo  mismo. Para el PIC es como un microprocesador pero en miniatura y es más fácil. El ASM es más potente pero está hecho para lo que está, si quieres hacer circuitos como he hecho aquí, no hay problemas.

Pon en www.youtube.com metaconta.
2177  Programación / Programación General / Re: programar en lenguaje maquina en: 4 Febrero 2009, 15:54 pm
Donde aprendes seguro es con este  libro www.pic16f84a.org y en ese libro te enseña las bases necesarias y grbadores. Puedes leer el contenido en dicha Web, te viene con ejemplos incluidos.

IC-Prog.
http://www.abcdatos.com/tutoriales/tutorial/z9316.html

WinPic800
http://www.abcdatos.com/tutoriales/tutorial/z9157.html

Saludos.
2178  Programación / Programación General / Re: programar en lenguaje maquina en: 4 Febrero 2009, 07:39 am
Hola amigos.

Normalmente escribo en la sección de lenguaje c, porque es el que me interesa aprender , pero tengo una pregunta que me parece que es mas de esta sección que de aquella.

Porque siempre que busco en la internet un manual que enseñe a programar en lenguaje maquina, siempre salen son manuales de essambler.

Por lo que he leido una cosa es codigo maquina y otra muy diferente es el essambler, o es que de lenguaje maquina no existen manuales.

agradeciendoles.

atte inga

Puedes aprender ASM de los PIC  primero que son más fáciles y más útiles que los ASM modernos si es para aplicaciones caseras. En empresas me callo.

Código
  1. ;******************************************************************************
  2.  
  3. ;*                                VIDEO PIC 16F877                            *
  4.  
  5. ;*                              (C)2007 ESTEBAN P.A.                          *
  6.  
  7. ;*                                                                            *
  8.  
  9. ;* PROGRAMA PARA REPRESENTAR CARÁCTERES B/N EN UNA PANTALLA DE TELEVISIÓN PAL *
  10.  
  11. ;*                        UTILIZANDO UN PIC 16F877 A 20 MHZ                   *
  12.  
  13. ;*                                                                            *
  14.  
  15. ;******************************************************************************
  16.  
  17.  
  18.  
  19. ;MODO 0 --> MUESTRA UNA PANTALLA DE (X,Y) 20 x 8 CARÁCTERES
  20.  
  21. ;MODO 1 --> MUESTRA UNA PANTALLA DE (X,Y) 7 x 11 CARÁCTERES
  22.  
  23. ;TANTO EL MODO O COMO EL MODO 1 DISPONEN DE 31 CARÁCTERES
  24.  
  25. ;DE 8x8 PIXELS INDEPENDIENTES PARA CADA MODO DE VIDEO.
  26.  
  27.  
  28.  
  29. ;PARA CAMBIAR EL MODO DE VIDEO SE DEBE CAMBIAR EL VALOR DE
  30.  
  31. ;LA ETIQUETA MODO_PANT, LOS VALORES QUE ACEPTA SON 0 Y 1
  32.  
  33. ;0=MODO DE VIDEO 0(20x8 CARÁCTERES) Y MODO DE VIDEO=1(7x11 CARÁCTERES)
  34.  
  35.  
  36.  
  37. ;EL MODO 0 UTILIZA PARTE DE LOS REGISTROS DE MEMORIA DE LOS BANCOS 0 Y 1 DEL PIC,
  38.  
  39. ;LA PANTALLA EN MODO 0 ESTÁ DIVIDIDA EN DOS PARTES, LA PARTE 0(PARTE SUPERIOR DE LA PANTALLA)
  40.  
  41. ;QUE CONTIENE 80 REGISTROS DE MEMORIA DEL BANCO 0 Y LA PARTE 1(PARTE INFERIOR DE LA PANTALLA),
  42.  
  43. ;QUE CONTIENE OTROS 80 REGISTROS DE MEMORIA, PERO DEL BANCO1
  44.  
  45.  
  46.  
  47. ;EL MODO 1 UTILIZA 77 REGISTROS DE MEMORIA DEL BANCO 0
  48.  
  49.  
  50.  
  51. ;LA MAYORIA DE LOS CARÁCTERES GRÁFICOS QUE REPRESENTA EL PROGRAMA
  52.  
  53. ;EN LA TV HAN SIDO COPIADOS DEL MICROORDENADOR SINCLAIR ZX81
  54.  
  55.  
  56.  
  57. ;------------------------------------------------------------------------------
  58.  
  59. ;CONFIGURACIÓN, REGISTROS Y ETIQUETAS DEL PIC
  60.  
  61.  
  62.  
  63. __CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_HS_OSC&_BODEN_OFF&_LVP_OFF
  64.  
  65. list p=16f877A
  66.  
  67. #include p16f877A.inc
  68.  
  69.  
  70.  
  71. LONG_X EQU .20; NUM. MAX. DE CARÁCTERES DE FILA EN MODO 0
  72.  
  73. LONG_Y EQU .8; NUM. MAX. DE LÍNEAS DE UN CARÁCTER EN MODO 0
  74.  
  75. CHARMAXXY EQU .4; NUM. MAX DE CARÁCTERES DE COLUMNA EN MODO 0
  76.  
  77.  
  78.  
  79. LONGX_MODE1 EQU .7; NUM. MAX. DE CARÁCTERES DE FILA EN MODO 1
  80.  
  81. LONGY_MODE1 EQU .8; NUM. MAX DE LÍNEAS DE UN CARÁCTER EN MODO 1
  82.  
  83. CHARMAXY_MODE1 EQU .11; NUM. MAX. DE CARÁCTERES DE COLUMNA EN MODO 1
  84.  
  85.  
  86.  
  87.  
  88.  
  89. ;REGISTROS DE USO PARA EL PROGRAMA
  90.  
  91. CBLOCK 20H
  92.  
  93. CONT,LINE,BYTECHAR,NUMCHAR,NUMCOL
  94.  
  95. CONTCHAR,LINECHAR,BUFFER,CONTLINEA,FLAGSTV
  96.  
  97. INICPANT; DIRECCIÓN DE MEMORIA DONDE COMIENZA LA PARTE 0 DE LA PANTALLA EN MODO 0 Y 1
  98.  
  99. ENDC
  100.  
  101.  
  102.  
  103. PANT2 EQU 0A0H;DIRECCIÓN DE MEMORIA DONDE COMIENZA LA PARTE 1 DE LA PANTALLA EN MODO 0
  104.  
  105.  
  106.  
  107. MODO_PANT EQU .0; 0=PANTALLA EN MODO 0, 1=PANTALLA EN MODO 1
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115. ;------------------------------------------------------------------------------
  116.  
  117.  
  118.  
  119.  
  120.  
  121. ORG 00H
  122.  
  123. GOTO START
  124.  
  125.  
  126.  
  127. ORG 05H
  128.  
  129.  
  130.  
  131.  
  132.  
  133. ;---------------------------JUEGO DE CARÁCTERES--------------------------------
  134.  
  135.  
  136.  
  137. ;-------------------------SET 0 DE CARÁCTERES MODO 0---------------------------
  138.  
  139. BYTEPANT
  140.  
  141. ADDWF BYTECHAR,W
  142.  
  143. ADDWF PCL,F
  144.  
  145. RETLW B'00000000'
  146.  
  147. RETLW B'00000000'
  148.  
  149. RETLW B'00000000'
  150.  
  151. RETLW B'00000000'
  152.  
  153. RETLW B'00000000'; SPACE 0
  154.  
  155. RETLW B'00000000'
  156.  
  157. RETLW B'00000000'
  158.  
  159. RETLW B'00000000'
  160.  
  161.  
  162.  
  163.     RETLW B'00000000'
  164.  
  165. RETLW B'00111100'
  166.  
  167.   RETLW B'01000010'
  168.  
  169.   RETLW B'01000010'
  170.  
  171.   RETLW B'01111110';A 1
  172.  
  173.   RETLW B'01000010'
  174.  
  175.   RETLW B'01000010'
  176.  
  177.   RETLW B'00000000'
  178.  
  179.  
  180.  
  181. RETLW B'00000000'
  182.  
  183. RETLW B'01111100'
  184.  
  185. RETLW B'01000010'
  186.  
  187. RETLW B'01111100'
  188.  
  189. RETLW B'01000010';B 2
  190.  
  191. RETLW B'01000010'
  192.  
  193. RETLW B'01111100'
  194.  
  195. RETLW B'00000000'
  196.  
  197.  
  198.  
  199. RETLW B'00000000'
  200.  
  201. RETLW B'00111100'
  202.  
  203. RETLW B'01000010'
  204.  
  205. RETLW B'01000000'
  206.  
  207. RETLW B'01000000';C 3
  208.  
  209. RETLW B'01000010'
  210.  
  211. RETLW B'00111100'
  212.  
  213. RETLW B'00000000'
  214.  
  215.  
  216.  
  217. RETLW B'00000000'
  218.  
  219. RETLW B'01111000'
  220.  
  221. RETLW B'01000100'
  222.  
  223. RETLW B'01000010'
  224.  
  225. RETLW B'01000010';D 4
  226.  
  227. RETLW B'01000100'
  228.  
  229. RETLW B'01111000'
  230.  
  231. RETLW B'00000000'
  232.  
  233.  
  234.  
  235. RETLW B'00000000'
  236.  
  237. RETLW B'01111110'
  238.  
  239. RETLW B'01000000'
  240.  
  241. RETLW B'01111100'
  242.  
  243. RETLW B'01000000';E 5
  244.  
  245. RETLW B'01000000'
  246.  
  247. RETLW B'01111110'
  248.  
  249. RETLW B'00000000'
  250.  
  251.  
  252.  
  253. RETLW B'00000000'
  254.  
  255. RETLW B'01111110'
  256.  
  257. RETLW B'01000000'
  258.  
  259. RETLW B'01111100'
  260.  
  261. RETLW B'01000000'
  262.  
  263. RETLW B'01000000';F 6
  264.  
  265. RETLW B'01000000'
  266.  
  267. RETLW B'00000000'
  268.  
  269.  
  270.  
  271. RETLW B'00000000'
  272.  
  273. RETLW B'00111100'
  274.  
  275. RETLW B'01000010'
  276.  
  277. RETLW B'01000000'
  278.  
  279. RETLW B'01001110'
  280.  
  281. RETLW B'01000010';G 7
  282.  
  283. RETLW B'00111100'
  284.  
  285. RETLW B'00000000'
  286.  
  287.  
  288.  
  289. RETLW B'00000000'
  290.  
  291. RETLW B'01000010'
  292.  
  293. RETLW B'01000010'
  294.  
  295. RETLW B'01111110'
  296.  
  297. RETLW B'01000010'
  298.  
  299. RETLW B'01000010';H 8
  300.  
  301. RETLW B'01000010'
  302.  
  303. RETLW B'00000000'
  304.  
  305.  
  306.  
  307. RETLW B'00000000'
  308.  
  309. RETLW B'00111110'
  310.  
  311. RETLW B'00001000'
  312.  
  313. RETLW B'00001000'
  314.  
  315. RETLW B'00001000';I 9
  316.  
  317. RETLW B'00001000'
  318.  
  319. RETLW B'00111110'
  320.  
  321. RETLW B'00000000'
  322.  
  323.  
  324.  
  325. RETLW B'00000000'
  326.  
  327. RETLW B'00000010'
  328.  
  329. RETLW B'00000010'
  330.  
  331. RETLW B'00000010'
  332.  
  333. RETLW B'01000010'
  334.  
  335. RETLW B'01000010';J 10
  336.  
  337. RETLW B'00111100'
  338.  
  339. RETLW B'00000000'
  340.  
  341.  
  342.  
  343. RETLW B'00000000'
  344.  
  345. RETLW B'01000100'
  346.  
  347. RETLW B'01001000'
  348.  
  349. RETLW B'01110000'
  350.  
  351. RETLW B'01001000';K 11
  352.  
  353. RETLW B'01000100'
  354.  
  355. RETLW B'01000010'
  356.  
  357. RETLW B'00000000'
  358.  
  359.  
  360.  
  361. RETLW B'00000000'
  362.  
  363. RETLW B'01000000'
  364.  
  365. RETLW B'01000000'
  366.  
  367. RETLW B'01000000'
  368.  
  369. RETLW B'01000000';L 12
  370.  
  371. RETLW B'01000000'
  372.  
  373. RETLW B'01111110'
  374.  
  375. RETLW B'00000000'
  376.  
  377.  
  378.  
  379. RETLW B'00000000'
  380.  
  381. RETLW B'01000010'
  382.  
  383. RETLW B'01100110'
  384.  
  385. RETLW B'01011010'
  386.  
  387. RETLW B'01000010';M 13
  388.  
  389. RETLW B'01000010'
  390.  
  391. RETLW B'01000010'
  392.  
  393. RETLW B'00000000'
  394.  
  395.  
  396.  
  397. RETLW B'00000000'
  398.  
  399. RETLW B'01000010'
  400.  
  401. RETLW B'01100010'
  402.  
  403. RETLW B'01010010';N 14
  404.  
  405. RETLW B'01001010'
  406.  
  407. RETLW B'01000110'
  408.  
  409. RETLW B'01000010'
  410.  
  411. RETLW B'00000000'
  412.  
  413.  
  414.  
  415. RETLW B'00000000'
  416.  
  417. RETLW B'00111100'
  418.  
  419. RETLW B'01000010'
  420.  
  421. RETLW B'01000010'
  422.  
  423. RETLW B'01000010';O 15
  424.  
  425. RETLW B'01000010'
  426.  
  427. RETLW B'00111100'
  428.  
  429. RETLW B'00000000'
  430.  
  431.  
  432.  
  433. RETLW B'00000000'
  434.  
  435. RETLW B'01111100'
  436.  
  437. RETLW B'01000010'
  438.  
  439. RETLW B'01000010';P 16
  440.  
  441. RETLW B'01111100'
  442.  
  443. RETLW B'01000000'
  444.  
  445. RETLW B'01000000'
  446.  
  447. RETLW B'00000000'
  448.  
  449.  
  450.  
  451. RETLW B'00000000'
  452.  
  453. RETLW B'00111100'
  454.  
  455. RETLW B'01000010'
  456.  
  457. RETLW B'01000010'
  458.  
  459. RETLW B'01010010';Q 17
  460.  
  461. RETLW B'01001010'
  462.  
  463. RETLW B'00111100'
  464.  
  465. RETLW B'00000000'
  466.  
  467.  
  468.  
  469. RETLW B'00000000'
  470.  
  471. RETLW B'01111100'
  472.  
  473. RETLW B'01000010';R 18
  474.  
  475. RETLW B'01000010'
  476.  
  477. RETLW B'01111100'
  478.  
  479. RETLW B'01000100'
  480.  
  481. RETLW B'01000010'
  482.  
  483. RETLW B'00000000'
  484.  
  485.  
  486.  
  487. RETLW B'00000000'
  488.  
  489. RETLW B'00111100'
  490.  
  491. RETLW B'01000000'
  492.  
  493. RETLW B'00111100';S 19
  494.  
  495. RETLW B'00000010'
  496.  
  497. RETLW B'01000010'
  498.  
  499. RETLW B'00111100'
  500.  
  501. RETLW B'00000000'
  502.  
  503.  
  504.  
  505. RETLW B'00000000'
  506.  
  507. RETLW B'11111110'
  508.  
  509. RETLW B'00010000'
  510.  
  511. RETLW B'00010000'
  512.  
  513. RETLW B'00010000';T 20
  514.  
  515. RETLW B'00010000'
  516.  
  517. RETLW B'00010000'
  518.  
  519. RETLW B'00000000'
  520.  
  521.  
  522.  
  523. RETLW B'00000000'
  524.  
  525. RETLW B'01000010'
  526.  
  527. RETLW B'01000010'
  528.  
  529. RETLW B'01000010'
  530.  
  531. RETLW B'01000010';U 21
  532.  
  533. RETLW B'01000010'
  534.  
  535. RETLW B'00111100'
  536.  
  537. RETLW B'00000000'
  538.  
  539.  
  540.  
  541. RETLW B'00000000'
  542.  
  543. RETLW B'01000010'
  544.  
  545. RETLW B'01000010'
  546.  
  547. RETLW B'01000010'
  548.  
  549. RETLW B'01000010';V 22
  550.  
  551. RETLW B'00100100'
  552.  
  553. RETLW B'00011000'
  554.  
  555. RETLW B'00000000'
  556.  
  557.  
  558.  
  559. RETLW B'00000000'
  560.  
  561. RETLW B'01000010'
  562.  
  563. RETLW B'01000010'
  564.  
  565. RETLW B'01000010'
  566.  
  567. RETLW B'01000010';W 23
  568.  
  569. RETLW B'01011010'
  570.  
  571. RETLW B'00100100'
  572.  
  573. RETLW B'00000000'
  574.  
  575.  
  576.  
  577. RETLW B'00000000'
  578.  
  579. RETLW B'01000010'
  580.  
  581. RETLW B'00100100'
  582.  
  583. RETLW B'00011000'
  584.  
  585. RETLW B'00011000';X 24
  586.  
  587. RETLW B'00100100'
  588.  
  589. RETLW B'01000010'
  590.  
  591. RETLW B'00000000'
  592.  
  593.  
  594.  
  595. RETLW B'00000000'
  596.  
  597. RETLW B'10000010'
  598.  
  599. RETLW B'01000100'
  600.  
  601. RETLW B'00101000'
  602.  
  603. RETLW B'00010000';Y 25
  604.  
  605. RETLW B'00010000'
  606.  
  607. RETLW B'00010000'
  608.  
  609. RETLW B'00000000'
  610.  
  611.  
  612.  
  613. RETLW B'00000000'
  614.  
  615. RETLW B'01111110'
  616.  
  617. RETLW B'00000100'
  618.  
  619. RETLW B'00001000'
  620.  
  621. RETLW B'00010000';Z 26
  622.  
  623. RETLW B'00100000'
  624.  
  625. RETLW B'01111110'
  626.  
  627. RETLW B'00000000'
  628.  
  629.  
  630.  
  631. RETLW B'00000000'
  632.  
  633. RETLW B'00111100'
  634.  
  635. RETLW B'01000010'
  636.  
  637. RETLW B'00000010'
  638.  
  639. RETLW B'00111100';27 NÚMERO "2"
  640.  
  641. RETLW B'01000000'
  642.  
  643. RETLW B'01111110'
  644.  
  645. RETLW B'00000000'
  646.  
  647.  
  648.  
  649. RETLW B'00000000'
  650.  
  651. RETLW B'00111100'
  652.  
  653. RETLW B'01000110'
  654.  
  655. RETLW B'01001010'
  656.  
  657. RETLW B'01010010';28 NÚMERO "0"
  658.  
  659. RETLW B'01100010'
  660.  
  661. RETLW B'00111100'
  662.  
  663. RETLW B'00000000'
  664.  
  665.  
  666.  
  667. RETLW B'00000000'
  668.  
  669. RETLW B'01111110'
  670.  
  671. RETLW B'00000010'
  672.  
  673. RETLW B'00000100'
  674.  
  675. RETLW B'00001000';29 NÚMERO "7"
  676.  
  677. RETLW B'00010000'
  678.  
  679. RETLW B'00010000'
  680.  
  681. RETLW B'00000000'
  682.  
  683.  
  684.  
  685. RETLW B'01111100'
  686.  
  687. RETLW B'10000010'
  688.  
  689. RETLW B'10011010'
  690.  
  691. RETLW B'10100010'
  692.  
  693. RETLW B'10100010';30 COPYRIGHT
  694.  
  695. RETLW B'10011010'
  696.  
  697. RETLW B'10000010'
  698.  
  699. RETLW B'01111100'
  700.  
  701. ;------------------------------------------------------------------------------
  702.  
  703. NOP
  704.  
  705. NOP
  706.  
  707. NOP
  708.  
  709. ;--------------------------SET 1 DE CARÁCTERES MODO1---------------------------
  710.  
  711. BYTEPANT1
  712.  
  713. CLRF PCLATH
  714.  
  715. BSF PCLATH,0
  716.  
  717. ADDWF BYTECHAR,W
  718.  
  719. ADDWF PCL,F
  720.  
  721. RETLW B'00000000'
  722.  
  723. RETLW B'00000000'
  724.  
  725. RETLW B'00000000'
  726.  
  727. RETLW B'00000000'
  728.  
  729. RETLW B'00000000'; SPACE 0
  730.  
  731. RETLW B'00000000'
  732.  
  733. RETLW B'00000000'
  734.  
  735. RETLW B'00000000'
  736.  
  737.  
  738.  
  739. RETLW B'00000000'
  740.  
  741. RETLW B'00111100'
  742.  
  743. RETLW B'01000010'
  744.  
  745. RETLW B'01000010'
  746.  
  747. RETLW B'01111110';A 1
  748.  
  749. RETLW B'01000010'
  750.  
  751. RETLW B'01000010'
  752.  
  753. RETLW B'00000000'
  754.  
  755.  
  756.  
  757. RETLW B'00000000'
  758.  
  759. RETLW B'01111100'
  760.  
  761. RETLW B'01000010'
  762.  
  763. RETLW B'01111100'
  764.  
  765. RETLW B'01000010';B 2
  766.  
  767. RETLW B'01000010'
  768.  
  769. RETLW B'01111100'
  770.  
  771. RETLW B'00000000'
  772.  
  773.  
  774.  
  775. RETLW B'00000000'
  776.  
  777. RETLW B'00111100'
  778.  
  779. RETLW B'01000010'
  780.  
  781. RETLW B'01000000'
  782.  
  783. RETLW B'01000000';C 3
  784.  
  785. RETLW B'01000010'
  786.  
  787. RETLW B'00111100'
  788.  
  789. RETLW B'00000000'
  790.  
  791.  
  792.  
  793. RETLW B'00000000'
  794.  
  795. RETLW B'01111000'
  796.  
  797. RETLW B'01000100'
  798.  
  799. RETLW B'01000010'
  800.  
  801. RETLW B'01000010';D 4
  802.  
  803. RETLW B'01000100'
  804.  
  805. RETLW B'01111000'
  806.  
  807. RETLW B'00000000'
  808.  
  809.  
  810.  
  811. RETLW B'00000000'
  812.  
  813. RETLW B'01111110'
  814.  
  815. RETLW B'01000000'
  816.  
  817. RETLW B'01111100'
  818.  
  819. RETLW B'01000000';E 5
  820.  
  821. RETLW B'01000000'
  822.  
  823. RETLW B'01111110'
  824.  
  825. RETLW B'00000000'
  826.  
  827.  
  828.  
  829. RETLW B'00000000'
  830.  
  831. RETLW B'01111110'
  832.  
  833. RETLW B'01000000'
  834.  
  835. RETLW B'01111100'
  836.  
  837. RETLW B'01000000'
  838.  
  839. RETLW B'01000000';F 6
  840.  
  841. RETLW B'01000000'
  842.  
  843. RETLW B'00000000'
  844.  
  845.  
  846.  
  847. RETLW B'00000000'
  848.  
  849. RETLW B'00111100'
  850.  
  851. RETLW B'01000010'
  852.  
  853. RETLW B'01000000'
  854.  
  855. RETLW B'01001110'
  856.  
  857. RETLW B'01000010';G 7
  858.  
  859. RETLW B'00111100'
  860.  
  861. RETLW B'00000000'
  862.  
  863.  
  864.  
  865. RETLW B'00000000'
  866.  
  867. RETLW B'01000010'
  868.  
  869. RETLW B'01000010'
  870.  
  871. RETLW B'01111110'
  872.  
  873. RETLW B'01000010'
  874.  
  875. RETLW B'01000010';H 8
  876.  
  877. RETLW B'01000010'
  878.  
  879. RETLW B'00000000'
  880.  
  881.  
  882.  
  883. RETLW B'00000000'
  884.  
  885. RETLW B'00111110'
  886.  
  887. RETLW B'00001000'
  888.  
  889. RETLW B'00001000'
  890.  
  891. RETLW B'00001000';I 9
  892.  
  893. RETLW B'00001000'
  894.  
  895. RETLW B'00111110'
  896.  
  897. RETLW B'00000000'
  898.  
  899.  
  900.  
  901. RETLW B'00000000'
  902.  
  903. RETLW B'00000010'
  904.  
  905. RETLW B'00000010'
  906.  
  907. RETLW B'00000010'
  908.  
  909. RETLW B'01000010'
  910.  
  911. RETLW B'01000010';J 10
  912.  
  913. RETLW B'00111100'
  914.  
  915. RETLW B'00000000'
  916.  
  917.  
  918.  
  919. RETLW B'00000000'
  920.  
  921. RETLW B'01000100'
  922.  
  923. RETLW B'01001000'
  924.  
  925. RETLW B'01110000'
  926.  
  927. RETLW B'01001000';K 11
  928.  
  929. RETLW B'01000100'
  930.  
  931. RETLW B'01000010'
  932.  
  933. RETLW B'00000000'
  934.  
  935.  
  936.  
  937. RETLW B'00000000'
  938.  
  939. RETLW B'01000000'
  940.  
  941. RETLW B'01000000'
  942.  
  943. RETLW B'01000000'
  944.  
  945. RETLW B'01000000';L 12
  946.  
  947. RETLW B'01000000'
  948.  
  949. RETLW B'01111110'
  950.  
  951. RETLW B'00000000'
  952.  
  953.  
  954.  
  955. RETLW B'00000000'
  956.  
  957. RETLW B'01000010'
  958.  
  959. RETLW B'01100110'
  960.  
  961. RETLW B'01011010'
  962.  
  963. RETLW B'01000010';M 13
  964.  
  965. RETLW B'01000010'
  966.  
  967. RETLW B'01000010'
  968.  
  969. RETLW B'00000000'
  970.  
  971.  
  972.  
  973. RETLW B'00000000'
  974.  
  975. RETLW B'01000010'
  976.  
  977. RETLW B'01100010'
  978.  
  979. RETLW B'01010010';N 14
  980.  
  981. RETLW B'01001010'
  982.  
  983. RETLW B'01000110'
  984.  
  985. RETLW B'01000010'
  986.  
  987. RETLW B'00000000'
  988.  
  989.  
  990.  
  991. RETLW B'00000000'
  992.  
  993. RETLW B'00111100'
  994.  
  995. RETLW B'01000010'
  996.  
  997. RETLW B'01000010'
  998.  
  999. RETLW B'01000010';O 15
  1000.  
  1001. RETLW B'01000010'
  1002.  
  1003. RETLW B'00111100'
  1004.  
  1005. RETLW B'00000000'
  1006.  
  1007.  
  1008.  
  1009. RETLW B'00000000'
  1010.  
  1011. RETLW B'01111100'
  1012.  
  1013. RETLW B'01000010'
  1014.  
  1015. RETLW B'01000010';P 16
  1016.  
  1017. RETLW B'01111100'
  1018.  
  1019. RETLW B'01000000'
  1020.  
  1021. RETLW B'01000000'
  1022.  
  1023. RETLW B'00000000'
  1024.  
  1025.  
  1026.  
  1027. RETLW B'00000000'
  1028.  
  1029. RETLW B'00111100'
  1030.  
  1031. RETLW B'01000010'
  1032.  
  1033. RETLW B'01000010'
  1034.  
  1035. RETLW B'01010010';Q 17
  1036.  
  1037. RETLW B'01001010'
  1038.  
  1039. RETLW B'00111100'
  1040.  
  1041. RETLW B'00000000'
  1042.  
  1043.  
  1044.  
  1045. RETLW B'00000000'
  1046.  
  1047. RETLW B'01111100'
  1048.  
  1049. RETLW B'01000010';R 18
  1050.  
  1051. RETLW B'01000010'
  1052.  
  1053. RETLW B'01111100'
  1054.  
  1055. RETLW B'01000100'
  1056.  
  1057. RETLW B'01000010'
  1058.  
  1059. RETLW B'00000000'
  1060.  
  1061.  
  1062.  
  1063. RETLW B'00000000'
  1064.  
  1065. RETLW B'00111100'
  1066.  
  1067. RETLW B'01000000'
  1068.  
  1069. RETLW B'00111100';S 19
  1070.  
  1071. RETLW B'00000010'
  1072.  
  1073. RETLW B'01000010'
  1074.  
  1075. RETLW B'00111100'
  1076.  
  1077. RETLW B'00000000'
  1078.  
  1079.  
  1080.  
  1081. RETLW B'00000000'
  1082.  
  1083. RETLW B'11111110'
  1084.  
  1085. RETLW B'00010000'
  1086.  
  1087. RETLW B'00010000'
  1088.  
  1089. RETLW B'00010000';T 20
  1090.  
  1091. RETLW B'00010000'
  1092.  
  1093. RETLW B'00010000'
  1094.  
  1095. RETLW B'00000000'
  1096.  
  1097.  
  1098.  
  1099. RETLW B'00000000'
  1100.  
  1101. RETLW B'01000010'
  1102.  
  1103. RETLW B'01000010'
  1104.  
  1105. RETLW B'01000010'
  1106.  
  1107. RETLW B'01000010';U 21
  1108.  
  1109. RETLW B'01000010'
  1110.  
  1111. RETLW B'00111100'
  1112.  
  1113. RETLW B'00000000'
  1114.  
  1115.  
  1116.  
  1117. RETLW B'00000000'
  1118.  
  1119. RETLW B'01000010'
  1120.  
  1121. RETLW B'01000010'
  1122.  
  1123. RETLW B'01000010'
  1124.  
  1125. RETLW B'01000010';V 22
  1126.  
  1127. RETLW B'00100100'
  1128.  
  1129. RETLW B'00011000'
  1130.  
  1131. RETLW B'00000000'
  1132.  
  1133.  
  1134.  
  1135. RETLW B'00000000'
  1136.  
  1137. RETLW B'01000010'
  1138.  
  1139. RETLW B'01000010'
  1140.  
  1141. RETLW B'01000010'
  1142.  
  1143. RETLW B'01000010';W 23
  1144.  
  1145. RETLW B'01011010'
  1146.  
  1147. RETLW B'00100100'
  1148.  
  1149. RETLW B'00000000'
  1150.  
  1151.  
  1152.  
  1153. RETLW B'00000000'
  1154.  
  1155. RETLW B'01000010'
  1156.  
  1157. RETLW B'00100100'
  1158.  
  1159. RETLW B'00011000'
  1160.  
  1161. RETLW B'00011000';X 24
  1162.  
  1163. RETLW B'00100100'
  1164.  
  1165. RETLW B'01000010'
  1166.  
  1167. RETLW B'00000000'
  1168.  
  1169.  
  1170.  
  1171. RETLW B'00000000'
  1172.  
  1173. RETLW B'10000010'
  1174.  
  1175. RETLW B'01000100'
  1176.  
  1177. RETLW B'00101000'
  1178.  
  1179. RETLW B'00010000';Y 25
  1180.  
  1181. RETLW B'00010000'
  1182.  
  1183. RETLW B'00010000'
  1184.  
  1185. RETLW B'00000000'
  1186.  
  1187.  
  1188.  
  1189. RETLW B'00000000'
  1190.  
  1191. RETLW B'01111110'
  1192.  
  1193. RETLW B'00000100'
  1194.  
  1195. RETLW B'00001000'
  1196.  
  1197. RETLW B'00010000';Z 26
  1198.  
  1199. RETLW B'00100000'
  1200.  
  1201. RETLW B'01111110'
  1202.  
  1203. RETLW B'00000000'
  1204.  
  1205.  
  1206.  
  1207. RETLW B'00000000'
  1208.  
  1209. RETLW B'00011000'
  1210.  
  1211. RETLW B'00101000'
  1212.  
  1213. RETLW B'00001000'
  1214.  
  1215. RETLW B'00001000';27 NÚMERO "1"
  1216.  
  1217. RETLW B'00001000'
  1218.  
  1219. RETLW B'00111110'
  1220.  
  1221. RETLW B'00000000'
  1222.  
  1223.  
  1224.  
  1225. RETLW B'00011110'
  1226.  
  1227. RETLW B'00111111'
  1228.  
  1229. RETLW B'00011010'
  1230.  
  1231. RETLW B'00011111'
  1232.  
  1233. RETLW B'00011110';28 JET SET WILLY(1)
  1234.  
  1235. RETLW B'00001100'
  1236.  
  1237. RETLW B'00011110'
  1238.  
  1239. RETLW B'00111111'
  1240.  
  1241.  
  1242.  
  1243. RETLW B'01111111'
  1244.  
  1245. RETLW B'11111111'
  1246.  
  1247. RETLW B'11111111'
  1248.  
  1249. RETLW B'11011110'
  1250.  
  1251. RETLW B'00011111';29 JET SET WILLY(2)
  1252.  
  1253. RETLW B'00111011'
  1254.  
  1255. RETLW B'01100011'
  1256.  
  1257. RETLW B'01110011'
  1258.  
  1259.  
  1260.  
  1261. RETLW B'10000000'
  1262.  
  1263. RETLW B'11000000'
  1264.  
  1265. RETLW B'11000000'
  1266.  
  1267. RETLW B'11000000'
  1268.  
  1269. RETLW B'00000000';30 JET SET WILLY(3)
  1270.  
  1271. RETLW B'01000000'
  1272.  
  1273. RETLW B'11000000'
  1274.  
  1275. RETLW B'10000000'
  1276.  
  1277. ;------------------------------------------------------------------------------
  1278.  
  1279. NOP
  1280.  
  1281. NOP
  1282.  
  1283. NOP
  1284.  
  1285. ;------------------------------------------------------------------------------
  1286.  
  1287.  
  1288.  
  1289. TEXTO; EL SIGUIENTE TEXTO SE UBICARÁ EN LOS REGISTROS DE MEMORIA DEL BANCO 0
  1290.  
  1291. CLRF PCLATH
  1292.  
  1293. BSF PCLATH,1
  1294.  
  1295. MOVF BYTECHAR,W
  1296.  
  1297. ADDWF PCL,F
  1298.  
  1299. DT "      videopic      "
  1300.  
  1301. DT "                    "
  1302.  
  1303. DT "   este programa    "
  1304.  
  1305. DT " muestra caracteres "
  1306.  
  1307.  
  1308.  
  1309. TEXTO2; EL SIGUIENTE TEXTO SE UBICARÁ EN LOS REGISTROS DE MEMORIA DEL BANCO 1
  1310.  
  1311. CLRF PCLATH
  1312.  
  1313. BSF PCLATH,1
  1314.  
  1315. MOVF BYTECHAR,W
  1316.  
  1317. ADDWF PCL,F
  1318.  
  1319. DT " en una pantalla de "
  1320.  
  1321. DT " tv mediante un pic "
  1322.  
  1323. DT "                    "
  1324.  
  1325. DT "  ".126,.123,.124,.124,.125," esteban pa  "    
  1326.  
  1327.  
  1328.  
  1329. ;------------------------INICIALIZACIÓN DE LOS PUERTOS-------------------------
  1330.  
  1331. START
  1332.  
  1333. BSF STATUS,RP0
  1334.  
  1335. BCF STATUS,RP1
  1336.  
  1337. MOVLW B'11111110'
  1338.  
  1339. MOVWF TRISB
  1340.  
  1341. MOVLW B'00000110'
  1342.  
  1343. MOVWF ADCON1
  1344.  
  1345. MOVLW B'00000110'
  1346.  
  1347. MOVWF TRISA
  1348.  
  1349. MOVLW B'11010111'
  1350.  
  1351. MOVWF TRISC
  1352.  
  1353. MOVLW B'00000000'
  1354.  
  1355. MOVWF SSPSTAT
  1356.  
  1357. BCF STATUS,RP0
  1358.  
  1359. CLRF PORTB
  1360.  
  1361.  
  1362.  
  1363. ;---------RUTINA DE INICIALIZACIÓN Y ENLACE A LOS MODOS DE VIDEO---------------
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369. MOVLW MODO_PANT
  1370.  
  1371. MOVWF FLAGSTV
  1372.  
  1373. MOVLW B'00100000'
  1374.  
  1375. MOVWF SSPCON
  1376.  
  1377. CALL BORRAPANT; INSERTA EN LOS REGISTROS DE MEMORIA EL VALOR "0"
  1378.  
  1379. CALL CONV_CHAR; CONVIERTE LOS VALORES ASCII DE LOS TEXTOS A VALORES
  1380.  
  1381. CALL CONV_CHAR2;PARA QUE PUEDAN SER UTILIZADOS POR EL PROGRAMA
  1382.  
  1383. BTFSS FLAGSTV,0
  1384.  
  1385. GOTO START_MODE0; PONE LA PANTALLA EN MODO 0
  1386.  
  1387. GOTO START_MODE1; PONE LA PANTALLA EN MODO 1
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395. ;----------------------------------MODO DE VIDEO 0-----------------------------
  1396.  
  1397. PAUSA2US
  1398.  
  1399. NOP
  1400.  
  1401. NOP
  1402.  
  1403. NOP
  1404.  
  1405. NOP
  1406.  
  1407. NOP
  1408.  
  1409. NOP
  1410.  
  1411. RETURN
  1412.  
  1413.  
  1414.  
  1415. STARTMODE0
  1416.  
  1417. NOP; ESTOS DOS NOP SON PARA SINCRONIZAR LOS 20 PRIMEROS
  1418.  
  1419. NOP; CARACTERES CON EL RESTO DE LINEAS
  1420.  
  1421. MODE0
  1422.  
  1423. CLRF SSPCON
  1424.  
  1425. CLRF PORTC
  1426.  
  1427. BCF PORTA,0; INICIO DEL PULSO DE SINCRONISMO HORIZONTAL
  1428.  
  1429. NOP
  1430.  
  1431. NOP
  1432.  
  1433. NOP
  1434.  
  1435. NOP
  1436.  
  1437. NOP
  1438.  
  1439. NOP
  1440.  
  1441. NOP
  1442.  
  1443. NOP
  1444.  
  1445. NOP
  1446.  
  1447. NOP
  1448.  
  1449. NOP
  1450.  
  1451. NOP
  1452.  
  1453. NOP
  1454.  
  1455. NOP
  1456.  
  1457. NOP
  1458.  
  1459. NOP
  1460.  
  1461. NOP
  1462.  
  1463. NOP
  1464.  
  1465. BSF PORTA,0; FIN DEL PULSO DE SINCRONISMO HORIZONTAL
  1466.  
  1467. CALL PAUSA4US
  1468.  
  1469. CALL PAUSA4US
  1470.  
  1471.  
  1472.  
  1473. CALL PAUSA2US
  1474.  
  1475. BSF SSPCON,5
  1476.  
  1477. NOP
  1478.  
  1479. MOVF INDF,W; COMIENZO DE LOS 20 CARÁCTERES
  1480.  
  1481. CALL BYTEPANT
  1482.  
  1483. MOVWF SSPBUF
  1484.  
  1485. INCF FSR,F
  1486.  
  1487. MOVF INDF,W
  1488.  
  1489. CALL BYTEPANT
  1490.  
  1491. MOVWF SSPBUF
  1492.  
  1493. INCF FSR,F
  1494.  
  1495. MOVF INDF,W
  1496.  
  1497. CALL BYTEPANT
  1498.  
  1499. MOVWF SSPBUF
  1500.  
  1501. INCF FSR,F
  1502.  
  1503. MOVF INDF,W
  1504.  
  1505. CALL BYTEPANT
  1506.  
  1507. MOVWF SSPBUF
  1508.  
  1509. INCF FSR,F
  1510.  
  1511. MOVF INDF,W
  1512.  
  1513. CALL BYTEPANT
  1514.  
  1515. MOVWF SSPBUF
  1516.  
  1517. INCF FSR,F
  1518.  
  1519. MOVF INDF,W
  1520.  
  1521. CALL BYTEPANT
  1522.  
  1523. MOVWF SSPBUF
  1524.  
  1525. INCF FSR,F
  1526.  
  1527. MOVF INDF,W
  1528.  
  1529. CALL BYTEPANT
  1530.  
  1531. MOVWF SSPBUF
  1532.  
  1533. INCF FSR,F
  1534.  
  1535. MOVF INDF,W
  1536.  
  1537. CALL BYTEPANT
  1538.  
  1539. MOVWF SSPBUF
  1540.  
  1541. INCF FSR,F
  1542.  
  1543. MOVF INDF,W
  1544.  
  1545. CALL BYTEPANT
  1546.  
  1547. MOVWF SSPBUF
  1548.  
  1549. INCF FSR,F
  1550.  
  1551. MOVF INDF,W
  1552.  
  1553. CALL BYTEPANT
  1554.  
  1555. MOVWF SSPBUF
  1556.  
  1557. INCF FSR,F
  1558.  
  1559. MOVF INDF,W
  1560.  
  1561. CALL BYTEPANT
  1562.  
  1563. MOVWF SSPBUF
  1564.  
  1565. INCF FSR,F
  1566.  
  1567. MOVF INDF,W
  1568.  
  1569. CALL BYTEPANT
  1570.  
  1571. MOVWF SSPBUF
  1572.  
  1573. INCF FSR,F
  1574.  
  1575. MOVF INDF,W
  1576.  
  1577. CALL BYTEPANT
  1578.  
  1579. MOVWF SSPBUF
  1580.  
  1581. INCF FSR,F
  1582.  
  1583. MOVF INDF,W
  1584.  
  1585. CALL BYTEPANT
  1586.  
  1587. MOVWF SSPBUF
  1588.  
  1589. INCF FSR,F
  1590.  
  1591. MOVF INDF,W
  1592.  
  1593. CALL BYTEPANT
  1594.  
  1595. MOVWF SSPBUF
  1596.  
  1597. INCF FSR,F
  1598.  
  1599. MOVF INDF,W
  1600.  
  1601. CALL BYTEPANT
  1602.  
  1603. MOVWF SSPBUF
  1604.  
  1605. INCF FSR,F
  1606.  
  1607. MOVF INDF,W
  1608.  
  1609. CALL BYTEPANT
  1610.  
  1611. MOVWF SSPBUF
  1612.  
  1613. INCF FSR,F
  1614.  
  1615. MOVF INDF,W
  1616.  
  1617. CALL BYTEPANT
  1618.  
  1619. MOVWF SSPBUF
  1620.  
  1621. INCF FSR,F
  1622.  
  1623. MOVF INDF,W
  1624.  
  1625. CALL BYTEPANT
  1626.  
  1627. MOVWF SSPBUF
  1628.  
  1629. INCF FSR,F
  1630.  
  1631. MOVF INDF,W
  1632.  
  1633. CALL BYTEPANT
  1634.  
  1635. MOVWF SSPBUF
  1636.  
  1637. INCF FSR,F
  1638.  
  1639. NOP
  1640.  
  1641. NOP
  1642.  
  1643. NOP
  1644.  
  1645. NOP
  1646.  
  1647. NOP
  1648.  
  1649. NOP
  1650.  
  1651. NOP
  1652.  
  1653. BCF SSPBUF,5
  1654.  
  1655. CALL PAUSA4US
  1656.  
  1657. CALL PAUSA2US
  1658.  
  1659. NOP
  1660.  
  1661. NOP
  1662.  
  1663. NOP
  1664.  
  1665. NOP
  1666.  
  1667. NOP
  1668.  
  1669. NOP
  1670.  
  1671. INCF BYTECHAR,F
  1672.  
  1673. DECFSZ NUMCHAR,F; CARACTERES 8*8 COMPLETOS?
  1674.  
  1675. GOTO NOCOMPLETOS
  1676.  
  1677. CLRF BYTECHAR
  1678.  
  1679. MOVLW LONG_Y
  1680.  
  1681. MOVWF NUMCHAR
  1682.  
  1683. DECFSZ NUMCOL,F;COLUMNA COMPLETA DE CARACTERES?
  1684.  
  1685. GOTO MODE0
  1686.  
  1687. NOP; COMIENZO DE LA SEGUNDA PARTE DE LA PANTALLA
  1688.  
  1689. NOP
  1690.  
  1691. MODE0_ZONA2
  1692.  
  1693. CLRF SSPCON
  1694.  
  1695. CLRF PORTC
  1696.  
  1697. BCF PORTA,0; INICIO SYNC
  1698.  
  1699. BTFSS FLAGSTV,0
  1700.  
  1701. GOTO REG_ZONA2
  1702.  
  1703. NOP
  1704.  
  1705. NOP
  1706.  
  1707. NOP
  1708.  
  1709. NOP
  1710.  
  1711. NOP
  1712.  
  1713. NOP
  1714.  
  1715. NOP
  1716.  
  1717. NOP
  1718.  
  1719. NOP
  1720.  
  1721. SIGUE_ZONA2
  1722.  
  1723. NOP
  1724.  
  1725. NOP
  1726.  
  1727. NOP
  1728.  
  1729. NOP
  1730.  
  1731. NOP
  1732.  
  1733. NOP
  1734.  
  1735. NOP
  1736.  
  1737. BSF PORTA,0; FIN SYNC
  1738.  
  1739. CALL PAUSA4US
  1740.  
  1741. CALL PAUSA4US
  1742.  
  1743. CALL PAUSA2US
  1744.  
  1745. BSF SSPCON,5
  1746.  
  1747. NOP
  1748.  
  1749. MOVF INDF,W; COMIENZO DE LOS 20 CARACTERES
  1750.  
  1751. CALL BYTEPANT
  1752.  
  1753. MOVWF SSPBUF
  1754.  
  1755. INCF FSR,F
  1756.  
  1757. MOVF INDF,W
  1758.  
  1759. CALL BYTEPANT
  1760.  
  1761. MOVWF SSPBUF
  1762.  
  1763. INCF FSR,F
  1764.  
  1765. MOVF INDF,W
  1766.  
  1767. CALL BYTEPANT
  1768.  
  1769. MOVWF SSPBUF
  1770.  
  1771. INCF FSR,F
  1772.  
  1773. MOVF INDF,W
  1774.  
  1775. CALL BYTEPANT
  1776.  
  1777. MOVWF SSPBUF
  1778.  
  1779. INCF FSR,F
  1780.  
  1781. MOVF INDF,W
  1782.  
  1783. CALL BYTEPANT
  1784.  
  1785. MOVWF SSPBUF
  1786.  
  1787. INCF FSR,F
  1788.  
  1789. MOVF INDF,W
  1790.  
  1791. CALL BYTEPANT
  1792.  
  1793. MOVWF SSPBUF
  1794.  
  1795. INCF FSR,F
  1796.  
  1797. MOVF INDF,W
  1798.  
  1799. CALL BYTEPANT
  1800.  
  1801. MOVWF SSPBUF
  1802.  
  1803. INCF FSR,F
  1804.  
  1805. MOVF INDF,W
  1806.  
  1807. CALL BYTEPANT
  1808.  
  1809. MOVWF SSPBUF
  1810.  
  1811. INCF FSR,F
  1812.  
  1813. MOVF INDF,W
  1814.  
  1815. CALL BYTEPANT
  1816.  
  1817. MOVWF SSPBUF
  1818.  
  1819. INCF FSR,F
  1820.  
  1821. MOVF INDF,W
  1822.  
  1823. CALL BYTEPANT
  1824.  
  1825. MOVWF SSPBUF
  1826.  
  1827. INCF FSR,F
  1828.  
  1829. MOVF INDF,W
  1830.  
  1831. CALL BYTEPANT
  1832.  
  1833. MOVWF SSPBUF
  1834.  
  1835. INCF FSR,F
  1836.  
  1837. MOVF INDF,W
  1838.  
  1839. CALL BYTEPANT
  1840.  
  1841. MOVWF SSPBUF
  1842.  
  1843. INCF FSR,F
  1844.  
  1845. MOVF INDF,W
  1846.  
  1847. CALL BYTEPANT
  1848.  
  1849. MOVWF SSPBUF
  1850.  
  1851. INCF FSR,F
  1852.  
  1853. MOVF INDF,W
  1854.  
  1855. CALL BYTEPANT
  1856.  
  1857. MOVWF SSPBUF
  1858.  
  1859. INCF FSR,F
  1860.  
  1861. MOVF INDF,W
  1862.  
  1863. CALL BYTEPANT
  1864.  
  1865. MOVWF SSPBUF
  1866.  
  1867. INCF FSR,F
  1868.  
  1869. MOVF INDF,W
  1870.  
  1871. CALL BYTEPANT
  1872.  
  1873. MOVWF SSPBUF
  1874.  
  1875. INCF FSR,F
  1876.  
  1877. MOVF INDF,W
  1878.  
  1879. CALL BYTEPANT
  1880.  
  1881. MOVWF SSPBUF
  1882.  
  1883. INCF FSR,F
  1884.  
  1885. MOVF INDF,W
  1886.  
  1887. CALL BYTEPANT
  1888.  
  1889. MOVWF SSPBUF
  1890.  
  1891. INCF FSR,F
  1892.  
  1893. MOVF INDF,W
  1894.  
  1895. CALL BYTEPANT
  1896.  
  1897. MOVWF SSPBUF
  1898.  
  1899. INCF FSR,F
  1900.  
  1901. MOVF INDF,W
  1902.  
  1903. CALL BYTEPANT
  1904.  
  1905. MOVWF SSPBUF
  1906.  
  1907. INCF FSR,F
  1908.  
  1909. NOP
  1910.  
  1911. NOP
  1912.  
  1913. NOP
  1914.  
  1915. NOP
  1916.  
  1917. NOP
  1918.  
  1919. NOP
  1920.  
  1921. NOP
  1922.  
  1923. BCF SSPBUF,5
  1924.  
  1925. CALL PAUSA4US
  1926.  
  1927. CALL PAUSA2US
  1928.  
  1929. NOP
  1930.  
  1931. NOP
  1932.  
  1933. NOP
  1934.  
  1935. NOP
  1936.  
  1937. NOP
  1938.  
  1939. NOP
  1940.  
  1941. INCF BYTECHAR,F
  1942.  
  1943. DECFSZ NUMCHAR,F; CARACTERES 8*8 COMPLETOS?
  1944.  
  1945. GOTO NOCOMPLETOS_ZONA2
  1946.  
  1947. CLRF BYTECHAR
  1948.  
  1949. MOVLW LONG_Y
  1950.  
  1951. MOVWF NUMCHAR
  1952.  
  1953. DECFSZ NUMCOL,F;COLUMNA COMPLETA DE CARACTERES?
  1954.  
  1955. GOTO MODE0_ZONA2
  1956.  
  1957. RETURN
  1958.  
  1959.  
  1960.  
  1961. NOCOMPLETOS_ZONA2
  1962.  
  1963. NOP
  1964.  
  1965. MOVLW LONG_X
  1966.  
  1967. SUBWF FSR,F
  1968.  
  1969. GOTO MODE0_ZONA2
  1970.  
  1971.  
  1972.  
  1973. REG_ZONA2
  1974.  
  1975. MOVLW CHARMAXXY
  1976.  
  1977. MOVWF NUMCOL
  1978.  
  1979. MOVLW PANT2
  1980.  
  1981. MOVWF FSR
  1982.  
  1983. BSF FLAGSTV,0
  1984.  
  1985. GOTO SIGUE_ZONA2
  1986.  
  1987.  
  1988.  
  1989. NOCOMPLETOS
  1990.  
  1991. NOP
  1992.  
  1993. MOVLW LONG_X
  1994.  
  1995. SUBWF FSR,F
  1996.  
  1997. GOTO MODE0
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003. ;---------------------------SINCRONISMO VERTICAL-------------------------------
  2004.  
  2005. PAUSA4P5
  2006.  
  2007. NOP
  2008.  
  2009. NOP
  2010.  
  2011. NOP
  2012.  
  2013. NOP
  2014.  
  2015. NOP
  2016.  
  2017. NOP
  2018.  
  2019. NOP
  2020.  
  2021. NOP
  2022.  
  2023. NOP
  2024.  
  2025. NOP
  2026.  
  2027. NOP
  2028.  
  2029. NOP
  2030.  
  2031. NOP
  2032.  
  2033. NOP
  2034.  
  2035. NOP
  2036.  
  2037. NOP
  2038.  
  2039. NOP
  2040.  
  2041. RETURN
  2042.  
  2043.  
  2044.  
  2045. PAUSA27P4
  2046.  
  2047. CALL PAUSA4P5
  2048.  
  2049. CALL PAUSA4P5
  2050.  
  2051. CALL PAUSA4P5
  2052.  
  2053. CALL PAUSA4P5
  2054.  
  2055. CALL PAUSA4P5
  2056.  
  2057. CALL PAUSA4P5
  2058.  
  2059. RETURN
  2060.  
  2061.  
  2062.  
  2063. PIGUALADORES
  2064.  
  2065. BCF PORTA,0
  2066.  
  2067. CALL PAUSA27P4
  2068.  
  2069. BSF PORTA,0
  2070.  
  2071. CALL PAUSA4P5
  2072.  
  2073. BCF PORTA,0
  2074.  
  2075. CALL PAUSA27P4
  2076.  
  2077. BSF PORTA,0
  2078.  
  2079. CALL PAUSA4P5
  2080.  
  2081. BCF PORTA,0
  2082.  
  2083. CALL PAUSA27P4
  2084.  
  2085. BSF PORTA,0
  2086.  
  2087. CALL PAUSA4P5
  2088.  
  2089. BCF PORTA,0
  2090.  
  2091. CALL PAUSA27P4
  2092.  
  2093. BSF PORTA,0
  2094.  
  2095. CALL PAUSA4P5
  2096.  
  2097. BCF PORTA,0
  2098.  
  2099. CALL PAUSA27P4
  2100.  
  2101. BSF PORTA,0
  2102.  
  2103. CALL PAUSA4P5
  2104.  
  2105. BCF PORTA,0
  2106.  
  2107. CALL PAUSA27P4
  2108.  
  2109. BSF PORTA,0
  2110.  
  2111. CALL PAUSA4P5
  2112.  
  2113. RETURN
  2114.  
  2115.  
  2116.  
  2117. PVERTICALESALM
  2118.  
  2119. BSF PORTA,0
  2120.  
  2121. CALL PAUSA27P4
  2122.  
  2123. BCF PORTA,0
  2124.  
  2125. CALL PAUSA4P5
  2126.  
  2127. BSF PORTA,0
  2128.  
  2129. CALL PAUSA27P4
  2130.  
  2131. BCF PORTA,0
  2132.  
  2133. CALL PAUSA4P5
  2134.  
  2135. BSF PORTA,0
  2136.  
  2137. CALL PAUSA27P4
  2138.  
  2139. BCF PORTA,0
  2140.  
  2141. CALL PAUSA4P5
  2142.  
  2143. BSF PORTA,0
  2144.  
  2145. CALL PAUSA27P4
  2146.  
  2147. BCF PORTA,0
  2148.  
  2149. CALL PAUSA4P5
  2150.  
  2151. BSF PORTA,0
  2152.  
  2153. CALL PAUSA27P4
  2154.  
  2155. BCF PORTA,0
  2156.  
  2157. CALL PAUSA4P5
  2158.  
  2159. BSF PORTA,0
  2160.  
  2161. CALL PAUSA27P4
  2162.  
  2163. BCF PORTA,0
  2164.  
  2165. CALL PAUSA4P5
  2166.  
  2167. RETURN
  2168.  
  2169.  
  2170.  
  2171. SYNCVERT
  2172.  
  2173. CLRF SSPCON
  2174.  
  2175. CLRF PORTC
  2176.  
  2177. CALL PIGUALADORES
  2178.  
  2179. CALL PVERTICALESALM
  2180.  
  2181. CALL PIGUALADORES
  2182.  
  2183. RETURN
  2184.  
  2185.  
  2186.  
  2187.  
  2188.  
  2189. PAUSA4US
  2190.  
  2191. NOP
  2192.  
  2193. NOP
  2194.  
  2195. NOP
  2196.  
  2197. NOP
  2198.  
  2199. NOP
  2200.  
  2201. NOP
  2202.  
  2203. NOP
  2204.  
  2205. NOP
  2206.  
  2207. NOP
  2208.  
  2209. NOP
  2210.  
  2211. NOP
  2212.  
  2213. NOP
  2214.  
  2215. NOP
  2216.  
  2217. NOP
  2218.  
  2219. NOP
  2220.  
  2221. NOP
  2222.  
  2223. RETURN
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229. ;----------------------------------LINEA NEGRA---------------------------------
  2230.  
  2231. LINEA64US
  2232.  
  2233. CLRF SSPCON
  2234.  
  2235. CLRF PORTC
  2236.  
  2237. BCF PORTA,0
  2238.  
  2239. CALL PAUSA4US
  2240.  
  2241. BSF PORTA,0
  2242.  
  2243. CALL PAUSA4US
  2244.  
  2245. CALL PAUSA4US
  2246.  
  2247. CALL PAUSA4US
  2248.  
  2249. CALL PAUSA4US
  2250.  
  2251. CALL PAUSA4US
  2252.  
  2253. CALL PAUSA4US
  2254.  
  2255. CALL PAUSA4US
  2256.  
  2257. CALL PAUSA4US
  2258.  
  2259. CALL PAUSA4US
  2260.  
  2261. CALL PAUSA4US
  2262.  
  2263. CALL PAUSA4US
  2264.  
  2265. CALL PAUSA4US
  2266.  
  2267. CALL PAUSA4US
  2268.  
  2269. CALL PAUSA4US
  2270.  
  2271. NOP
  2272.  
  2273. NOP
  2274.  
  2275. NOP
  2276.  
  2277. NOP
  2278.  
  2279. NOP
  2280.  
  2281. NOP
  2282.  
  2283. NOP
  2284.  
  2285. NOP
  2286.  
  2287. NOP
  2288.  
  2289. NOP
  2290.  
  2291. NOP
  2292.  
  2293. NOP
  2294.  
  2295. NOP
  2296.  
  2297. NOP
  2298.  
  2299. NOP
  2300.  
  2301. NOP
  2302.  
  2303. RETURN
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309. ;---------------------GENERACION DE UN CUADRO DE TV EN MODO 0------------------
  2310.  
  2311. START_MODE0
  2312.  
  2313. PANTALLA
  2314.  
  2315. CLRF FLAGSTV
  2316.  
  2317. CLRF BYTECHAR
  2318.  
  2319. MOVLW CHARMAXXY
  2320.  
  2321. MOVWF NUMCOL
  2322.  
  2323. MOVLW LONG_Y
  2324.  
  2325. MOVWF NUMCHAR
  2326.  
  2327. MOVLW INICPANT
  2328.  
  2329. MOVWF FSR
  2330.  
  2331. MOVLW .124
  2332.  
  2333. MOVWF LINE
  2334.  
  2335. NL1 CALL LINEA64US
  2336.  
  2337. DECFSZ LINE,F
  2338.  
  2339. GOTO NL1
  2340.  
  2341. CALL STARTMODE0
  2342.  
  2343. MOVLW .124
  2344.  
  2345. MOVWF LINE
  2346.  
  2347. NL3 CALL LINEA64US
  2348.  
  2349. DECFSZ LINE,F
  2350.  
  2351. GOTO NL3
  2352.  
  2353. BCF PORTA,0
  2354.  
  2355. CALL PAUSA4US
  2356.  
  2357. BSF PORTA,0
  2358.  
  2359. CALL PAUSA4US
  2360.  
  2361. CALL PAUSA4US
  2362.  
  2363. CALL PAUSA4US
  2364.  
  2365. CALL PAUSA4US
  2366.  
  2367. CALL PAUSA4US
  2368.  
  2369. CALL PAUSA4US
  2370.  
  2371. CALL PAUSA4US
  2372.  
  2373. CALL SYNCVERT
  2374.  
  2375. GOTO PANTALLA
  2376.  
  2377.  
  2378.  
  2379. ;-----------------GENERACION DE UN CUADRO DE TV EN MODO 1----------------------
  2380.  
  2381.  
  2382.  
  2383. START_MODE1
  2384.  
  2385. MOVLW B'00100001'
  2386.  
  2387. MOVWF SSPCON
  2388.  
  2389. PANTALLA_MODE1
  2390.  
  2391. CLRF BYTECHAR
  2392.  
  2393. MOVLW CHARMAXY_MODE1
  2394.  
  2395. MOVWF NUMCOL
  2396.  
  2397. MOVLW LONGY_MODE1
  2398.  
  2399. MOVWF NUMCHAR
  2400.  
  2401. MOVLW INICPANT
  2402.  
  2403. MOVWF FSR
  2404.  
  2405. MOVLW .30
  2406.  
  2407. MOVWF LINE
  2408.  
  2409. NM1 CALL LINEA64US
  2410.  
  2411. DECFSZ LINE,F
  2412.  
  2413. GOTO NM1
  2414.  
  2415. CALL MODE1
  2416.  
  2417. MOVLW .18
  2418.  
  2419. MOVWF LINE
  2420.  
  2421. NM3 CALL LINEA64US
  2422.  
  2423. DECFSZ LINE,F
  2424.  
  2425. GOTO NM3
  2426.  
  2427. BCF PORTA,0
  2428.  
  2429. CALL PAUSA4US
  2430.  
  2431. BSF PORTA,0
  2432.  
  2433. CALL PAUSA4US
  2434.  
  2435. CALL PAUSA4US
  2436.  
  2437. CALL PAUSA4US
  2438.  
  2439. CALL PAUSA4US
  2440.  
  2441. CALL PAUSA4US
  2442.  
  2443. CALL PAUSA4US
  2444.  
  2445. CALL PAUSA4US
  2446.  
  2447. CALL SYNCVERT
  2448.  
  2449. GOTO PANTALLA_MODE1
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455. ;------------------------------MODO DE VIDEO 1---------------------------------
  2456.  
  2457.  
  2458.  
  2459. MODE1
  2460.  
  2461. CLRF SSPCON
  2462.  
  2463. CLRF PORTC
  2464.  
  2465. BCF PORTA,0; INICIO DEL PULSO DE SINCRONISMO HORIZONTAL
  2466.  
  2467. NOP
  2468.  
  2469. NOP
  2470.  
  2471. NOP
  2472.  
  2473. NOP
  2474.  
  2475. NOP
  2476.  
  2477. NOP
  2478.  
  2479. NOP
  2480.  
  2481. NOP
  2482.  
  2483. NOP
  2484.  
  2485. NOP
  2486.  
  2487. NOP
  2488.  
  2489. NOP
  2490.  
  2491. NOP
  2492.  
  2493. NOP
  2494.  
  2495. NOP
  2496.  
  2497. NOP
  2498.  
  2499. NOP
  2500.  
  2501. NOP
  2502.  
  2503. NOP
  2504.  
  2505. BSF PORTA,0; FIN DEL PULSO DE SINCRONISMO HORIZONTAL
  2506.  
  2507. CALL PAUSA4US
  2508.  
  2509. NOP
  2510.  
  2511. NOP
  2512.  
  2513. NOP
  2514.  
  2515. NOP
  2516.  
  2517. NOP
  2518.  
  2519. NOP
  2520.  
  2521. NOP
  2522.  
  2523. NOP
  2524.  
  2525. NOP
  2526.  
  2527. NOP
  2528.  
  2529. NOP
  2530.  
  2531. MOVLW B'00100001'
  2532.  
  2533. MOVWF SSPCON
  2534.  
  2535. MOVF INDF,W; COMIENZO DE LOS 7 CARACTERES
  2536.  
  2537. CALL BYTEPANT1
  2538.  
  2539. MOVWF SSPBUF
  2540.  
  2541. CALL DELAY_MODE1
  2542.  
  2543. INCF FSR,F
  2544.  
  2545. MOVF INDF,W
  2546.  
  2547. CALL BYTEPANT1
  2548.  
  2549. MOVWF SSPBUF
  2550.  
  2551. CALL DELAY_MODE1
  2552.  
  2553. INCF FSR,F
  2554.  
  2555. MOVF INDF,W
  2556.  
  2557. CALL BYTEPANT1
  2558.  
  2559. MOVWF SSPBUF
  2560.  
  2561. CALL DELAY_MODE1
  2562.  
  2563. INCF FSR,F
  2564.  
  2565. MOVF INDF,W
  2566.  
  2567. CALL BYTEPANT1
  2568.  
  2569. MOVWF SSPBUF
  2570.  
  2571. CALL DELAY_MODE1
  2572.  
  2573. INCF FSR,F
  2574.  
  2575. MOVF INDF,W
  2576.  
  2577. CALL BYTEPANT1
  2578.  
  2579. MOVWF SSPBUF
  2580.  
  2581. CALL DELAY_MODE1
  2582.  
  2583. INCF FSR,F
  2584.  
  2585. MOVF INDF,W
  2586.  
  2587. CALL BYTEPANT1
  2588.  
  2589. MOVWF SSPBUF
  2590.  
  2591. CALL DELAY_MODE1
  2592.  
  2593. INCF FSR,F
  2594.  
  2595. MOVF INDF,W
  2596.  
  2597. CALL BYTEPANT1
  2598.  
  2599. MOVWF SSPBUF
  2600.  
  2601. CALL DELAY_MODE1
  2602.  
  2603. INCF FSR,F; FIN DE LOS 7 CARACTERES
  2604.  
  2605. NOP
  2606.  
  2607. NOP
  2608.  
  2609. NOP
  2610.  
  2611. NOP
  2612.  
  2613. NOP
  2614.  
  2615. NOP
  2616.  
  2617. NOP
  2618.  
  2619. CLRF SSPBUF
  2620.  
  2621. NOP
  2622.  
  2623. NOP
  2624.  
  2625. NOP
  2626.  
  2627. NOP
  2628.  
  2629. NOP
  2630.  
  2631. NOP
  2632.  
  2633. NOP
  2634.  
  2635. NOP
  2636.  
  2637. NOP
  2638.  
  2639. NOP
  2640.  
  2641. NOP
  2642.  
  2643. NOP
  2644.  
  2645. NOP
  2646.  
  2647. NOP
  2648.  
  2649. NOP
  2650.  
  2651. INCF BYTECHAR,F
  2652.  
  2653. NOP
  2654.  
  2655. NOP
  2656.  
  2657. NOP
  2658.  
  2659. MOVLW LONGX_MODE1
  2660.  
  2661. SUBWF FSR,F
  2662.  
  2663. DECF BYTECHAR,F
  2664.  
  2665. NOP
  2666.  
  2667. NOP
  2668.  
  2669. ;REPITE LA LINEA
  2670.  
  2671. CLRF SSPCON
  2672.  
  2673. CLRF PORTC
  2674.  
  2675. BCF PORTA,0; INICIO DEL SINCRONISMO HORIZONTAL
  2676.  
  2677. NOP
  2678.  
  2679. NOP
  2680.  
  2681. NOP
  2682.  
  2683. NOP
  2684.  
  2685. NOP
  2686.  
  2687. NOP
  2688.  
  2689. NOP
  2690.  
  2691. NOP
  2692.  
  2693. NOP
  2694.  
  2695. NOP
  2696.  
  2697. NOP
  2698.  
  2699. NOP
  2700.  
  2701. NOP
  2702.  
  2703. NOP
  2704.  
  2705. NOP
  2706.  
  2707. NOP
  2708.  
  2709. NOP
  2710.  
  2711. NOP
  2712.  
  2713. NOP
  2714.  
  2715. BSF PORTA,0; FIN DEL SINCRONISMO HORIZONTAL
  2716.  
  2717. CALL PAUSA4US
  2718.  
  2719. NOP
  2720.  
  2721. NOP
  2722.  
  2723. NOP
  2724.  
  2725. NOP
  2726.  
  2727. NOP
  2728.  
  2729. NOP
  2730.  
  2731. NOP
  2732.  
  2733. NOP
  2734.  
  2735. NOP
  2736.  
  2737. NOP
  2738.  
  2739. NOP
  2740.  
  2741. MOVLW B'00100001'
  2742.  
  2743. MOVWF SSPCON
  2744.  
  2745. MOVF INDF,W; COMIENZO DE LOS 7 CARACTERES
  2746.  
  2747. CALL BYTEPANT1
  2748.  
  2749. MOVWF SSPBUF
  2750.  
  2751. CALL DELAY_MODE1
  2752.  
  2753. INCF FSR,F
  2754.  
  2755. MOVF INDF,W
  2756.  
  2757. CALL BYTEPANT1
  2758.  
  2759. MOVWF SSPBUF
  2760.  
  2761. CALL DELAY_MODE1
  2762.  
  2763. INCF FSR,F
  2764.  
  2765. MOVF INDF,W
  2766.  
  2767. CALL BYTEPANT1
  2768.  
  2769. MOVWF SSPBUF
  2770.  
  2771. CALL DELAY_MODE1
  2772.  
  2773. INCF FSR,F
  2774.  
  2775. MOVF INDF,W
  2776.  
  2777. CALL BYTEPANT1
  2778.  
  2779. MOVWF SSPBUF
  2780.  
  2781. CALL DELAY_MODE1
  2782.  
  2783. INCF FSR,F
  2784.  
  2785. MOVF INDF,W
  2786.  
  2787. CALL BYTEPANT1
  2788.  
  2789. MOVWF SSPBUF
  2790.  
  2791. CALL DELAY_MODE1
  2792.  
  2793. INCF FSR,F
  2794.  
  2795. MOVF INDF,W
  2796.  
  2797. CALL BYTEPANT1
  2798.  
  2799. MOVWF SSPBUF
  2800.  
  2801. CALL DELAY_MODE1
  2802.  
  2803. INCF FSR,F
  2804.  
  2805. MOVF INDF,W
  2806.  
  2807. CALL BYTEPANT1
  2808.  
  2809. MOVWF SSPBUF
  2810.  
  2811. CALL DELAY_MODE1
  2812.  
  2813. INCF FSR,F; FIN DE LOS 7 CARACTERES
  2814.  
  2815. NOP
  2816.  
  2817. NOP
  2818.  
  2819. NOP
  2820.  
  2821. NOP
  2822.  
  2823. NOP
  2824.  
  2825. NOP
  2826.  
  2827. NOP
  2828.  
  2829. CLRF SSPBUF
  2830.  
  2831. NOP
  2832.  
  2833. NOP
  2834.  
  2835. NOP
  2836.  
  2837. NOP
  2838.  
  2839. NOP
  2840.  
  2841. NOP
  2842.  
  2843. NOP
  2844.  
  2845. NOP
  2846.  
  2847. NOP
  2848.  
  2849. NOP
  2850.  
  2851. NOP
  2852.  
  2853. NOP
  2854.  
  2855. NOP
  2856.  
  2857. NOP
  2858.  
  2859. NOP
  2860.  
  2861. INCF BYTECHAR,F
  2862.  
  2863. NOP
  2864.  
  2865. NOP
  2866.  
  2867. NOP
  2868.  
  2869. MOVLW LONGX_MODE1
  2870.  
  2871. SUBWF FSR,F
  2872.  
  2873. DECF BYTECHAR,F
  2874.  
  2875. NOP
  2876.  
  2877. NOP
  2878.  
  2879. ;REPITE LA LINEA
  2880.  
  2881. CLRF SSPCON
  2882.  
  2883. CLRF PORTC
  2884.  
  2885. BCF PORTA,0; INICIO DEL SINCRONISMO HORIZONTAL
  2886.  
  2887. NOP
  2888.  
  2889. NOP
  2890.  
  2891. NOP
  2892.  
  2893. NOP
  2894.  
  2895. NOP
  2896.  
  2897. NOP
  2898.  
  2899. NOP
  2900.  
  2901. NOP
  2902.  
  2903. NOP
  2904.  
  2905. NOP
  2906.  
  2907. NOP
  2908.  
  2909. NOP
  2910.  
  2911. NOP
  2912.  
  2913. NOP
  2914.  
  2915. NOP
  2916.  
  2917. NOP
  2918.  
  2919. NOP
  2920.  
  2921. NOP
  2922.  
  2923. NOP
  2924.  
  2925. BSF PORTA,0; FIN DEL SINCRONISMO HORIZONTAL
  2926.  
  2927. CALL PAUSA4US
  2928.  
  2929. NOP
  2930.  
  2931. NOP
  2932.  
  2933. NOP
  2934.  
  2935. NOP
  2936.  
  2937. NOP
  2938.  
  2939. NOP
  2940.  
  2941. NOP
  2942.  
  2943. NOP
  2944.  
  2945. NOP
  2946.  
  2947. NOP
  2948.  
  2949. NOP
  2950.  
  2951. MOVLW B'00100001'
  2952.  
  2953. MOVWF SSPCON
  2954.  
  2955. MOVF INDF,W; COMIENZO DE LOS 7 CARACTERES
  2956.  
  2957. CALL BYTEPANT1
  2958.  
  2959. MOVWF SSPBUF
  2960.  
  2961. CALL DELAY_MODE1
  2962.  
  2963. INCF FSR,F
  2964.  
  2965. MOVF INDF,W
  2966.  
  2967. CALL BYTEPANT1
  2968.  
  2969. MOVWF SSPBUF
  2970.  
  2971. CALL DELAY_MODE1
  2972.  
  2973. INCF FSR,F
  2974.  
  2975. MOVF INDF,W
  2976.  
  2977. CALL BYTEPANT1
  2978.  
  2979. MOVWF SSPBUF
  2980.  
  2981. CALL DELAY_MODE1
  2982.  
  2983. INCF FSR,F
  2984.  
  2985. MOVF INDF,W
  2986.  
  2987. CALL BYTEPANT1
  2988.  
  2989. MOVWF SSPBUF
  2990.  
  2991. CALL DELAY_MODE1
  2992.  
  2993. INCF FSR,F
  2994.  
  2995. MOVF INDF,W
  2996.  
  2997. CALL BYTEPANT1
  2998.  
  2999. MOVWF SSPBUF
  3000.  
  3001. CALL DELAY_MODE1
  3002.  
  3003. INCF FSR,F
  3004.  
  3005. MOVF INDF,W
  3006.  
  3007. CALL BYTEPANT1
  3008.  
  3009. MOVWF SSPBUF
  3010.  
  3011. CALL DELAY_MODE1
  3012.  
  3013. INCF FSR,F
  3014.  
  3015. MOVF INDF,W
  3016.  
  3017. CALL BYTEPANT1
  3018.  
  3019. MOVWF SSPBUF
  3020.  
  3021. CALL DELAY_MODE1
  3022.  
  3023. INCF FSR,F; FIN DE LOS 7 CARACTERES
  3024.  
  3025. NOP
  3026.  
  3027. NOP
  3028.  
  3029. NOP
  3030.  
  3031. NOP
  3032.  
  3033. NOP
  3034.  
  3035. NOP
  3036.  
  3037. NOP
  3038.  
  3039. CLRF SSPBUF
  3040.  
  3041. NOP
  3042.  
  3043. NOP
  3044.  
  3045. NOP
  3046.  
  3047. NOP
  3048.  
  3049. NOP
  3050.  
  3051. NOP
  3052.  
  3053. NOP
  3054.  
  3055. NOP
  3056.  
  3057. NOP
  3058.  
  3059. NOP
  3060.  
  3061. NOP
  3062.  
  3063. NOP
  3064.  
  3065. NOP
  3066.  
  3067. NOP
  3068.  
  3069. NOP
  3070.  
  3071. INCF BYTECHAR,F
  3072.  
  3073. DECFSZ NUMCHAR,F; CARACTERES 8*8 COMPLETOS?
  3074.  
  3075. GOTO NOCOMPLETOS_MODE1
  3076.  
  3077. CLRF BYTECHAR
  3078.  
  3079. MOVLW LONGY_MODE1
  3080.  
  3081. MOVWF NUMCHAR
  3082.  
  3083. DECFSZ NUMCOL,F;COLUMNA COMPLETA DE CARACTERES?
  3084.  
  3085. GOTO MODE1
  3086.  
  3087. RETURN
  3088.  
  3089.  
  3090.  
  3091. NOCOMPLETOS_MODE1
  3092.  
  3093. NOP
  3094.  
  3095. MOVLW LONGX_MODE1
  3096.  
  3097. SUBWF FSR,F
  3098.  
  3099. GOTO MODE1
  3100.  
  3101.  
  3102.  
  3103. DELAY_MODE1
  3104.  
  3105. NOP
  3106.  
  3107. NOP
  3108.  
  3109. NOP
  3110.  
  3111. NOP
  3112.  
  3113. NOP
  3114.  
  3115. NOP
  3116.  
  3117. NOP
  3118.  
  3119. NOP
  3120.  
  3121. NOP
  3122.  
  3123. NOP
  3124.  
  3125. NOP
  3126.  
  3127. NOP
  3128.  
  3129. NOP
  3130.  
  3131. NOP
  3132.  
  3133. NOP
  3134.  
  3135. NOP
  3136.  
  3137. NOP
  3138.  
  3139. NOP
  3140.  
  3141. RETURN
  3142.  
  3143. ;------------------------------------------------------------------------------
  3144.  
  3145.  
  3146.  
  3147. ;PONE A "0" LOS REGISTROS DE MEMORIA DEL BANCO 0 Y 1 ,QUE UTILIZA
  3148.  
  3149. ;EL PROGRAMA PARA REPRESENTAR LOS CARACTERES EN PANTALLA.
  3150.  
  3151. BORRAPANT
  3152.  
  3153. BCF STATUS,RP0
  3154.  
  3155. BCF STATUS,RP1
  3156.  
  3157. MOVLW .80
  3158.  
  3159. MOVWF CONT
  3160.  
  3161. MOVLW INICPANT
  3162.  
  3163. MOVWF FSR
  3164.  
  3165. BORRA
  3166.  
  3167. MOVLW B'00000000'
  3168.  
  3169. MOVWF INDF
  3170.  
  3171. INCF FSR,F
  3172.  
  3173. DECFSZ CONT,F
  3174.  
  3175. GOTO BORRA
  3176.  
  3177. BORRAPANT2
  3178.  
  3179. BCF STATUS,RP0
  3180.  
  3181. BCF STATUS,RP1
  3182.  
  3183. MOVLW .80
  3184.  
  3185. MOVWF CONT
  3186.  
  3187. MOVLW PANT2
  3188.  
  3189. MOVWF FSR
  3190.  
  3191. BORRA2
  3192.  
  3193. MOVLW B'00000000'
  3194.  
  3195. MOVWF INDF
  3196.  
  3197. INCF FSR,F
  3198.  
  3199. DECFSZ CONT,F
  3200.  
  3201. GOTO BORRA2
  3202.  
  3203. RETURN
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209. ;------------------------------------------------------------------------------
  3210.  
  3211.  
  3212.  
  3213. ;CONVIERTE LOS CARACTERES ASCII DE LOS TEXTOS A CARÁCTERES PARA QUE PUEDAN SER UTILIZADOS POR EL PROGRAMA
  3214.  
  3215. CONV_CHAR
  3216.  
  3217. MOVLW .80; NUMERO DE CARACTERES A MOSTRAR EN EL BANCO0
  3218.  
  3219. MOVWF CONT
  3220.  
  3221. MOVLW INICPANT
  3222.  
  3223. MOVWF FSR
  3224.  
  3225. CLRF BYTECHAR; CONTIENE EL PUNTERO DE LA POSICION DE TEXTO
  3226.  
  3227. OTRAVEZ
  3228.  
  3229. CALL TEXTO
  3230.  
  3231. MOVWF INDF
  3232.  
  3233. MOVLW .96
  3234.  
  3235. MOVWF LINE
  3236.  
  3237. MOVF LINE,W
  3238.  
  3239. SUBWF INDF,F
  3240.  
  3241. BCF STATUS,C
  3242.  
  3243. RLF INDF
  3244.  
  3245. BCF STATUS,C
  3246.  
  3247. RLF INDF
  3248.  
  3249. BCF STATUS,C
  3250.  
  3251. RLF INDF
  3252.  
  3253. INCF BYTECHAR,F
  3254.  
  3255. INCF FSR,F
  3256.  
  3257. DECFSZ CONT,F
  3258.  
  3259. GOTO OTRAVEZ
  3260.  
  3261. CLRF PCLATH
  3262.  
  3263. RETURN
  3264.  
  3265.  
  3266.  
  3267. CONV_CHAR2
  3268.  
  3269. MOVLW .80; NUMERO DE CARACTERES A MOSTRAR EN EL BANCO1
  3270.  
  3271. MOVWF CONT
  3272.  
  3273. MOVLW PANT2
  3274.  
  3275. MOVWF FSR
  3276.  
  3277. CLRF BYTECHAR; CONTIENE EL PUNTERO DE LA POSICION DE TEXTO
  3278.  
  3279. OTRAVEZ2
  3280.  
  3281. CALL TEXTO2
  3282.  
  3283. MOVWF INDF
  3284.  
  3285. MOVLW .96
  3286.  
  3287. MOVWF LINE
  3288.  
  3289. MOVF LINE,W
  3290.  
  3291. SUBWF INDF,F
  3292.  
  3293. BCF STATUS,C
  3294.  
  3295. RLF INDF
  3296.  
  3297. BCF STATUS,C
  3298.  
  3299. RLF INDF
  3300.  
  3301. BCF STATUS,C
  3302.  
  3303. RLF INDF
  3304.  
  3305. INCF BYTECHAR,F
  3306.  
  3307. INCF FSR,F
  3308.  
  3309. DECFSZ CONT,F
  3310.  
  3311. GOTO OTRAVEZ2
  3312.  
  3313. CLRF PCLATH
  3314.  
  3315. RETURN
  3316.  
  3317.  
  3318.  
  3319. END
  3320.  

En esta web veo interesante este tipo de ASM.
http://usuarios.lycos.es/zootronica/modules.php?name=News&file=article&sid=32

Cuadno ya sepas algo, ya puedes hacer el de PC.

También puedes hacer cosas con PIC y Puerto serie RS232 y interfaz Visual C#.

http://www.abcdatos.com/tutoriales/tutorial/z9521.html

Saludos.
2179  Media / Juegos y Consolas / YaBasic en PS2. en: 26 Diciembre 2008, 15:23 pm
Hola:

Me encontré una demo de la PS2 que tenía guardada hace ya muchos años. Tiene YaBasic, en su día pasaba de él porque no lo entiendo pero me llamó la curiosidad y voy a probar a ver que se hace con él.

¿Hay algo parecido a PlayStation 3 o no tiene nada de eso?

Un cordial saludo.
2180  Programación / Scripting / Re: Convertir bat en vbs en: 24 Diciembre 2008, 05:45 am
Lo remarcado sólo son añadidos. Cambiar color, etc... Más funciones. En el fondo hace lo mismo.
Páginas: 1 ... 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 [218] 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 ... 261
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines