|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Enko
Páginas: 1 ... 12 13 [14] 15 16 ... 77
326
« en: Jueves 28 de Junio de 2007, 22:33 »
Si buscas en libros de Turbo Pascal no creo que encuentres algo porque el formato JPG es bastante 'moderno', cuando se usaba turbo pascal, el formato con compresion era el PCX. Mas alla de eso, el formato GIF tiene licencia por lo que su uso no es del todo legal si no pagas. Respecto a JPG, puedes fijarte de que se trata en http://en.wikipedia.org/wiki/JPEG, y http://www.jpeg.org/ No conozco de libreria para turbo pascal que permita visualizar este formato por lo que tendras que hacer rutinas propias. Te soy sincero, te va a ser mucho mas facil implementar el formato BMP que es mucho mas sencillo. Te dejo un link en donde podes ver como es la estructura del formato jpg> http://www.wotsit.org/list.asp?search=jpg&button=GO%21
327
« en: Jueves 28 de Junio de 2007, 22:26 »
Tambien puedes desactivar temporalmente la verificacion de la entrada/salida y comprobar tu mismo los errores con IOResult. Para desactivar la verificacion de I/O: {$I-} Para activar la verificacion de I/O: {$I+} Nota que {$Letra,+/-} son directivas de compilacion y no comentarios y luego tenes a la funcion IOResult que es distinto de 0 si algo paso mal Lo que hace este codigo es resetear un Archivo de NOmbre Archivo, si este no existe crea uno nuevo. Assign(Archivo, 'Archivo.dat'); {$I-} Reset(Archivo); if IOResult <> 0 then {archivo no existe} begin WriteLn('No se encuentra el archivo'); WriteLn('Desea crear uno nuevo'); res := ReadKey; if (res = 's') or (res = 'S') then ReWrite(Archivo); end; {$I+} end;
La funcion IOResult devuelve varios valores además de cero con distintos mensajes de error, lo que si, es que no tengo ahora la tabla de los errores.
328
« en: Jueves 28 de Junio de 2007, 22:22 »
329
« en: Jueves 28 de Junio de 2007, 21:43 »
Sigues cometiendo un ERROR. lgdt [selector_tabla_descriptores]
a la instruccion lgdt no se le pasa de parametro el puntero al selector nulo!!!!!! y adem'as, vos estas pasando el contenido del selector nulo, o sea 0. se le pasa como parametro un descriptor que apunta a la tabla genereral de descriptores. En cuanto que lgdt carga un registro de 48 bit. Fijate en el codigo la etiqueta 'gdtr:' global_descriptor_table: null_descriptor: dw 0x0000, 0x0000, 0x0000, 0x0000 system_code: dw 0xFFFF, 0x0000, 0x9A00, 0x00CF system_data: dw 0xFFFF, 0x0000, 0x9200, 0x00CF global_descriptor_end: gdtr: ;ATENCION ACA ESTA ES LO QUE TE FALTA dw global_descriptor_end - global_descriptor_table -1 dd 0x7C00 + null_descriptor
y luego, harias >
330
« en: Jueves 28 de Junio de 2007, 00:54 »
¿Cual es la razon para habilitar las interrupciones antes de que arranque el codigo de 32 bits? No tiene sentido, hasta que no hagas tu propia tabla de interrupciones de 32 bits que las habilites. Segun entendi, CLI desabilita las interupciones (CLear Interupt) y STI las habilita (SeT Interupt). :S La instruccion LGDT carga la tabla de descriptores de segmentos y la instruccion LIDT es la que carga la tabla de interrupciones. La verdad que en el codigo que puse no quice habilitar las interupciones y si no estoy mal, no se habilitan.
331
« en: Miércoles 27 de Junio de 2007, 21:54 »
a grandes rasgos... esa excepción solo debería suceder si el segmento no es válido y no creo que sea el caso... ¿alguien sabe si hay que hacer algún paso adicional salvo cargar (lgdt) la tabla de descriptores, crear una tabla de interrupciones (aunque creo que no es imprescindible) pasar a modo protegido, hacer un salto largo y tirar millas?
Yo tuve el mismo problema y no pasa porque la gtdr este mal sino la direccion a la que apunta el descriptor de la tabla general de descriptores de segmentos. global_descriptor_table: null_descriptor: dw 0x0000, 0x0000, 0x0000, 0x0000 system_code: dw 0xFFFF, 0x0000, 0x9A00, 0x00CF system_data: dw 0xFFFF, 0x0000, 0x9200, 0x00CF global_descriptor_end: gdtr: dw global_descriptor_end - global_descriptor_table -1 dd null_descriptor
El problema que tuve fue con : dd null_descriptor
Al principio intentaba pasar a modo protegido una vez cargador el kernel, pero no se porque no logré hacer que funcionara en cuanto la direccion estaba mal. El kernel lo cargaba en la direccion fisica: 0x1000:0000 así que probe sumarle a null_descriptor 0x1000 que no funciono. Lo solucioné pasando a modo protegido en el Bootloeader, tal vez algo poco recomendable pero así si me funcionó. ;protected mode switch cli lgdt [gdtr] mov eax, cr0 or al, 1 mov cr0, eax jmp pword 0x8:0x10000
Si te sirve, puedes fijarte en el ejemplo que dejo> http://foros.solocodigo.com/index.php?act=...=post&id=108861Fijate en el archivo boot.asm. ACLARACION IMPORTANTE> fijate que a la direccion de la tabla le sumo 0x7c00 es porque alli es donde es cargado el loeader por la bios y no uso org 0x7c00 sino un jmp a esa direccion. Esto porque al final hago > db 510 - $ dup 0 Si se usa org, hay que hacer 510 - $$-$ o lago parecido, como no sabia no lo hice asi.
332
« en: Sábado 23 de Junio de 2007, 21:24 »
Ahora un problema menos Cualquier inconveniente no dudes en preguntar. Saludos.
333
« en: Viernes 22 de Junio de 2007, 21:36 »
Como no conozco ASP no te sabría decir bien. Por sierto, la posibilidad más cercana es que uses Delphi 2005 que tiene la opcion de de hacer proyectos conjuntos entre ASP.NET y Delphi .NET :
334
« en: Viernes 22 de Junio de 2007, 21:33 »
Deberías chequear si no tenés malware, virus, etc.... (Siempre con algo actualizado)
335
« en: Jueves 21 de Junio de 2007, 21:34 »
Hola, en ningun momento te traté de ignorante :S Por sierto, Bienvenido al Foro!!!!.no me interesa el parche ya que veo que alguien arriba dijo que lo instalo y no le resolvio nada
No creo que sea verdad, o habrá instalado otra cosa o lo hizo mal. Como ya dije antes, en la seccion de FAQ, el ZIP de turbo pascal ya viene con el parche. Deberías aprender a no hacer caso a cualquier opinion en un foro ya que muchas pueden ser errones. De lo contrario, lo de ignorancia se tornaria dudoso. LO UNICO QUE DEBES HACER ES BAJAR: http://www.zdima-iv.nm.ru/download/tp7.zipy a lo sumo, configurar luego los directorios. mi pregunta fue como resolver el problema de no poder usar la unidad crt.
A) No usando la unidad CRT B.) Usando una unidad CRT con el parche. (el link que te pase, ya la tiene con el parche) Saludos. PD: recien lo bajé, lo probé en una Athlon XP 2400 y anduvo.
336
« en: Jueves 21 de Junio de 2007, 14:35 »
Si usas el buscador del foro encontraras multitudes de links. (busca crtz si quieres) Por sierto que en la seccion de compiladores que esta en "Preguntas Frecuentes" de la seccion, hay una version de TurboPascal que ya viene con el parche si mal no recuerdo.
337
« en: Miércoles 20 de Junio de 2007, 00:37 »
Sabes, no recuerdo bien, pero creo que el TMediaPlayer no dejaba hacer desplazamientos dentro de los archivos de musica.
338
« en: Domingo 17 de Junio de 2007, 00:34 »
Si vamos a hacer tantos foros como IDES la busqueda se hará insoportable. Si se fijan bien, tampoco hay foro de JBuilder, TurboC# que usa VCL, y no se cuantas otras IDES mas ... el foro de Delphi no es solo para el IDE sino para el lenguaje
Supuestamente no, pero rara vez se hace una pregunta que tiene que ver con POO en Delphi. La mayoria son de los componentes y mas raros que la @#~€@#. Pero que esten separados vale la pena ya que los tipos de preguntas que se hacen en cada una son generalmetne diferentes.
339
« en: Sábado 16 de Junio de 2007, 17:28 »
Pero cuantos usuarios de los 246 están registrados? Pongan en Google:programacion foro
Solocodigo está en el 5to lugar.!!!! Con: foro c# en el 2do Con: foro asm en el 1ro Creo que este es un buen momento de iniciar otra vez la campaña de firmas.
340
« en: Sábado 16 de Junio de 2007, 00:12 »
341
« en: Miércoles 13 de Junio de 2007, 23:35 »
¿Cual es la librería de windows que permite enviar commandos AT a un modem conectado en algun puerto com 2,3,4...? Algo así como lo que deja hacer el programa hyperterm.exe de Windows.
342
« en: Martes 12 de Junio de 2007, 22:07 »
Leyendo un poco me surgieron algunas dudas.....
Lo que tengo hecho hasta ahora es pasar a modo protegido y tener algunas rutinas I/O con manejos de cadena. Basicamente una shell al estilo comand.com. Lo que se me complica es no se por donde seguir, tenía pensado implementar un FileSystem pero se me hace que primero necesito un MemoryManager. ¿Es asi?
Una duda aparte sobre el kernel. Según entendí, algunas interupciones se pueden "interceptar" usando una IDT pasando funciones distintas para cada interupcion. (Timer, Teclado, etc....) Si eso es así: Podría hacer que cada vez que ocurre una de esas interrupciones meter en una especie de pila de mensajes lo que sea haya ocurrido y luego el kernel simplemente sacaria uno por uno los mensajes de la pila y los trataría de forma similar al WindowProc de windows. ¿Se puede hacer así?
343
« en: Martes 12 de Junio de 2007, 21:53 »
Hablas de Cow
Eso me da algunas ideas... gracias (si no es ese el que decis, aun asi... ) Si ese es!!!!!!!!!!!!!!!!!!
344
« en: Lunes 11 de Junio de 2007, 23:46 »
Recuerdo que había un lenguaje con la misma intencion que brainfuck, creo que se llamaba MOU, MO, MU... o algo parecido (no confundir con el lenguaje MOO que ese si es otro, y google siempre me corige a ese) Todo el codigo se escibia usando : MOU, MOu, MoU, Mou, mou, mOU, mOu.. Lo malo es que no encuentro la pagina...
345
« en: Lunes 11 de Junio de 2007, 23:40 »
La invasion de peticiones de tareas es notoria dry.gif
Si, y algunos nisiquiera se gastan de revisar si hubo respuesta, dejan su mail pensando que se los van a enviar al correo.
346
« en: Lunes 11 de Junio de 2007, 23:00 »
No me jodas, como vas a comparar esas dos cosas
Creo que me hice mal interpretar. Lo comenté off topic. No tenía nada que ver con File System en especial.
347
« en: Lunes 11 de Junio de 2007, 22:12 »
Además quien dice el que la contraseña del FileSystem encriptado no está encriptada. Eso sería lo más seguro, una encriptacion en base a la contraseña del usuario y otra segun algun indicador del Disco Duro por ejemplo. Logico por eso dije si se guarda algo, lo unico que falta es que pongan la clave directamente El otro día desensamble en el trabajo una ejecutable de Visual Basic que pasaba entre formatos de musica. Necesitaba un serial (solo queria pasar 1 tema del formato Monkey Audio a MP3 y no encontre otra cosa). La verdad que soy malisimo para eso pero no imaginas mi sorpresa: En las cadenas referenciadas aparecia una especie de serial universal. Asi que tan raro no es.
348
« en: Lunes 11 de Junio de 2007, 21:14 »
Epoca de paricales y finales?
349
« en: Lunes 11 de Junio de 2007, 21:13 »
En este foro hay cantidades de ejemplos, solo debes usar el buscador.
350
« en: Lunes 11 de Junio de 2007, 21:11 »
Además quien dice el que la contraseña del FileSystem encriptado no está encriptada.  Eso sería lo más seguro, una encriptacion en base a la contraseña del usuario y otra segun algun indicador del Disco Duro por ejemplo.
Páginas: 1 ... 12 13 [14] 15 16 ... 77
|
|
|