Karoshi MSX Community
21 de Febrero de 2017, 02:49:13 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Calendario Ingresar Registrarse  
Páginas: [1] 2 3 ... 10
 1 
 : 30 de Enero de 2017, 12:20:49 pm 
Iniciado por mars2000you - Último mensaje por mars2000you
Another game map on MSX Eggerland (and soon on MRC!)

No need to present this legendary game, the first Parallax production!  Wink

http://eggerland.msxblue.com/vectron-map.png

 2 
 : 17 de Enero de 2017, 12:36:21 am 
Iniciado por El RCastillo - Último mensaje por El RCastillo
    Sábado, 28 de enero entre 10:00 y 13:30
    Centre Cívic Torre Mena, Plaça de Trafalgar, 1-3, Badalona

Encuentro local de MSX en Badalona

Se dispone de un local estable y un aforo adecuado, dando entrada a cualquier usuario del sistema. Se dispondrá de un equipamiento mínimo para ejecutar cualquier tipo de software hasta MSX turbo R con MegaFlashRom, Opl4, V9990, Music Module, ratón y joystick, así como emuladores de MSX.

Los visitantes pueden traer su ordenador, monitor y periféricos, avisando con antelación tendremos las mesas, sillas y los puntos de conexión necesarios. En caso de no poder traer monitor, consultar la disponibilidad de dos pequeñas pantallas de 7 pulgadas para conectarse.

El encuentro transcurrirá de 10 a 13:30 horas en el Centre Cívic Torre Mena, a 8 minutos de Metro Artigues - Sant Adrià L2 o a 6 minutos de Metro Llefià L10 pero con calles con pendiente:


Centre Cívic Torre Mena

http://badalona.cat/portalWeb/badalona.portal?_nfpb=true&_pageLabel=contingut_estatic&dDocName=AJB039404#wlp_contingut_estatic


Metro Artigues - Sant Adrià L2 (8 minutos, calles sin pendientre)

https://www.google.es/maps/dir/41.4335436,2.2168205/Centre+Cívic+Torre+Mena,+Plaça+de+Trafalgar,+Badalona/@41.435864,2.2154663,17.25z/data=!4m9!4m8!1m0!1m5!1m1!1s0x12a4bca184cc813b:0xa0535906f656cd4e!2m2!1d2.2191176!2d41.4379218!3e2


Metro Llefià L10 ( 6 minutos, calles con pendiente)

https://www.google.es/maps/dir/41.4409334,2.2172311/Centre+Cívic+Torre+Mena,+Plaça+de+Trafalgar,+Badalona/@41.4394385,2.2158331,16.75z/data=!4m9!4m8!1m0!1m5!1m1!1s0x12a4bca184cc813b:0xa0535906f656cd4e!2m2!1d2.2191176!2d41.4379218!3e2


MSX Boixos Club
https://www.facebook.com/groups/MSXBC

 3 
 : 08 de Enero de 2017, 10:31:19 am 
Iniciado por mars2000you - Último mensaje por mars2000you
Delta Force is the second game created with Game Builder, but it uses also the MCBC Basic compiler, so for example the moves of the hero are faster, if you compare to Castle Adventure! The game was provided to the disk subscribers of MSX Club Magazine 31 (September/October 1990) on a single disk (360kB).

The map of this game is now available on MSX Eggerland (later here on MRC!). Enjoy! : Griel

http://eggerland.msxblue.com/deltaforce-map.png

 4 
 : 21 de Diciembre de 2016, 09:00:21 pm 
Iniciado por mars2000you - Último mensaje por mars2000you
Time now for another game map, especially because it's Christmas time  Griel

Castle Adventure is a game that was provided for free to the disk subcribers of the famous MSX Club Magazine, this with number 25 released in summer 1989. It's an amazing game that uses a mix of MSX-BASIC and language machine and has been developed with Game Builder, a tool to facilitate the creation of such games.

All the detailed tips are available in "Het Grote MSX Peeks, Pokes en Truuks Boek Deel 4", but now you can have an high-colored map! Enjoy and Merry Christmas! Cheesy  Cheesy  Cheesy

http://eggerland.msxblue.com/othermaps.htm

 5 
 : 15 de Diciembre de 2016, 09:58:46 pm 
Iniciado por manolito74 - Último mensaje por manolito74
Hola:

Todos sabemos que pulsando CTRL o SHIFT durante el arranque podemos desconectar la segunda disquetera o el MSX-DISK Basic respectivamente, pero.... ¿Se puede hacer esto mismo por Software ejecutando alguna instrucción, llamando a alguna Subrutina de la BIOS or something like that...?

Gracias & Saludetes. ;-)

 6 
 : 14 de Diciembre de 2016, 02:57:01 am 
Iniciado por manolito74 - Último mensaje por manolito74
Hola de nuevo:

He estado revisando el Programa:

Código:
CSAVE_FILE equ 0xD3 ; eof = n data hasta 7bytes 0x0
SAVE_FILE equ 0xEA ; eof = n bloques 256 bytes hasta CTRL+Z
BSAVE_FILE equ 0xD0

INI_BASIC equ 0x8001 ; lol!
INI_PRG equ 0xF000

; --------------------------------------
.bios
.basic
.org INI_PRG
.start MAIN

MAIN: di

xor a ; limpiando la casa
ld hl, iniram
ld bc, endram-iniram-1
call CLSRAM

call LHEADER ; leemos una cabecera

ret

; --------------------------------------
; inicia o detiene el motor del cassette
MOTORON: ld a, 1
bmotor: call STMOTR      
ret
MOTOROFF: xor a
jr bmotor

; --------------------------------------
; salimos (por error de lectura) o paramos el cassete
EXIT: pop hl
STOP: call TAPIOF      
ret

; --------------------------------------
; leemos datos (un byte) del cassete; C si se produce un error
READ: exx              
call TAPIN    
jr c, EXIT
exx              
ret              

; --------------------------------------
; leemos la cabecera larga del cassete; tipo = 10 bytes + nombre = 6 bytes
LHEADER: call TAPION
jr c, EXIT

ld b, 10 ; 10 bytes
ld hl, tipo_fichero
bucH: call READ  
ld [hl], a
djnz bucH

ld b, 6 ; 6 bytes
ld hl, nom_fichero
bucN: call READ
ld [hl], a
inc hl
djnz bucN

call STOP

ld a, [tipo_fichero] ; tipo de fichero

cp BSAVE_FILE
jp z, BLOAD ; cargamos binario

cp SAVE_FILE
jp z, LOAD ; cargamos basic SAVE

cp CSAVE_FILE
jp z, CLOAD ; cargamos basic CSAVE

; TODO: fichero desconocido

; TODO: presentar informacion
; TODO: grabar fichero a disco

ret

; --------------------------------------
; cload tiene una cabecera corta que leemos con TAPION y luego
; los datos hasta encontrar 7 ceros seguidos
CLOAD: call rstzeros
xor a
ld [INI_BASIC-1], a ; 0 en 0x8000; requerido

ld hl, INI_BASIC
push hl
call TAPION
pop hl
jr c, EXIT

bcld: call READ
ld [hl], a
inc hl
cp 0
call nz, rstzeros
call z, inczeros
ld a, [temp1]
cp 7 ; termina con 7 ceros
jr nz, bcld

jr STOP

rstzeros: xor a
ld [temp1], a
ret

inczeros: ld a, [temp1]
inc a
ld [temp1], a
ret

; --------------------------------------
; load contiene multiples bloques de 256 bytes hasta 0x1a (ctrl+z)
; cada bloque tiene su cabecera corta que leemos con TAPION
LOAD: xor a
ld [INI_BASIC-1], a ; 0 en 0x8000; requerido

ld hl, INI_BASIC

bld1: push hl
call TAPION
pop hl
jp c, EXIT

ld b, 0 ; carga bloques de 256 bytes
bld2: call READ
cp 0x1a ; ctrl + z
jp z, STOP
ld [hl], a
inc hl
djnz bld2 ; fin de bloque

push hl
call TAPIOF
pop hl
jr bld1

; --------------------------------------
; bload tiene una cabecera corta seguida de 6 bytes con
; las direcciones de inicio, fin y ejecución del programa
; a continuación va el bloque de datos, todo seguido
BLOAD: xor a
ld hl, inifile
ld bc, finfile-inifile-1
call CLSRAM ; borra dirs fichero

call TAPION
jp c, EXIT

ld b, 6 ; 6 bytes
ld hl, inifile
bblh: call READ
ld [hl], a
inc hl
djnz bblh

call MOTOROFF
call calclng ; calculamos longitud
push hl
call MOTORON
pop bc ; longitud
ld hl,INI_BASIC ; inicio (temporal)

bbld: call READ
ld [hl], a
inc hl
dec bc
ld a, b
or c
jr nz, bbld

jp STOP

calclng: ld ix,inifile
ld e, [ix+0]
ld d, [ix+1] ; de = ini (real)
ld l, [ix+2]
ld h, [ix+3] ; hl = fin (real)
sbc hl, de ; longitud = fin - ini
ret

; -------------------------------------
; rellenamos bc+1 bytes de ram con el valor de A
CLSRAM: ld [hl], a
ld d, h
ld e, l
inc de
ldir
ret

; --------------------------------------
iniram: defb 0

tipo_fichero: defs 1
nom_fichero: defs 6

inifile: defs 2
finfile: defs 2
exefile: defs 2

temp1: defs 1

endram: defb 0


Si no me equivoco @PhSoft tú comentabas que el problema estriba en que con los Programas de tipo "LOAD/SAVE" el Código del Programa no aparece "tokenizado" en la Memoria del Emulador.

Si yo te entiendo bien eso viene a decir que lo que tiene que aparecer a partir de la Dirección &h8000 cuando el Programa lee un Bloque LOAD las instrucciones de dicho Programa tal cual en esa zona de memoria, ¿no?

Si es así comentarte que sí que funciona. Yo como no me aclaro con el Debugger del Open MSX he usado el del MAME que me ha resultado más cómodo e intuitivo (al menos para este propósito) Te pongo aquí la captura:

imag


Por si a alguien le interesa y/o no sabía que con el MAME se puede emular el MSX y además usar un Debugger os pongo aquí cómo hacerlo.



Tutorial Express: MAME - MSX - DEBUGGER:

Nota: yo no sabía que el MAME emulaba al MSX y apenas encontré información sobre cómo hacerlo. :-(

– Descargamos la Rom del MSX que vamos a usar. El MAME emula unos cuantos modelos de MSX y MSX-2. Yo había probado con la ROM del 8245 pero parece que no está bien o hay algún problema así que probé con la del 8250, que os podéis descargar desde aquí:

 http://www.planetemu.net/rom/mame-roms/nms8250-1  (y pulsamos en “Telecharger”)

Descargamos dicha ROM y la copiamos sin descomprimir en la Carpeta "ROMS" del MAME.

– Ahora abrimos una consola de MS-DOS (es decir, ejecutamos un CMD) y escribimos lo siguiente:

mame64  nms8250 -windows -debug

Con esto ejecutamos el MAME y se lanza su Debugger. Desde el Debugger en el apartado "Images" podemos elegir cómodamente el Disco y/o Cinta que queremos cargar.

Yo cargo una imagen de Disquete con el Binario de tu Programa en ASM y una CINTA. Para ejecutar el MAME desde el Debugger lo hacemos con "F5". Luego ya dentro del MAME cuando ha cargado el BASIC ejecuto tu Programa desde el propio BASIC y en el Debugger hago un "New Memory Window" (para ver el contenido de la Memoria en una ventana aparte). Me voy a la dirección de memoria 8000....y allí veo el listado tokenizado del Programa BASIC. Así que si te referías a eso comentarte que sí que rula tu Programa. ;-)

Y la prueba del delito es la imagen que puse más arriba. ;-)

Ahora como siguiente pequeño paso a abarcar pues sería ir mostrando la info del Bloque que encuentra en la Cinta (nombre, tipo de bloque, dirección de inicio-fin-ejecución, etc)

Luego una vez pulido esa pequeña labor habría que ver ya cómo gestionar la grabación de los Bloques que vamos cargando en Disco. Se me ocurre que la forma más rápida-cómoda (que no sé si la mejor) podría ser ejecutando directamente desde el Programa ".ASM" la instrucción Basic correspondiente (SAVE, BSAVE, CSAVE) a la cual le habría que pasar los parámetros correspondientes. ;-)

Saludetes. ;-)

 7 
 : 12 de Diciembre de 2016, 03:28:57 am 
Iniciado por manolito74 - Último mensaje por manolito74
Hola:

Todos sabemos que pulsando CTRL o SHIFT durante el arranque podemos desconectar la segunda disquetera o el MSX-DISK Basic respectivamente, pero.... ¿Se puede hacer esto mismo por Software ejecutando alguna instrucción, llamando a alguna Subrutina de la BIOS or something like that...?

Gracias & Saludetes. ;-)

 8 
 : 12 de Diciembre de 2016, 03:28:08 am 
Iniciado por manolito74 - Último mensaje por manolito74
Hola:

Todos sabemos que pulsando CTRL o SHIFT durante el arranque podemos desconectar la segunda disquetera o el MSX-DISK Basic respectivamente, pero.... ¿Se puede hacer esto mismo por Software ejecutando alguna instrucción, llamando a alguna Subrutina de la BIOS or something like that...?

Gracias & Saludetes. ;-)

 9 
 : 12 de Diciembre de 2016, 01:43:48 am 
Iniciado por aivalahostia - Último mensaje por manolito74
Hola:

Pues me autorespondo a mí mismo (mismamente) y me es grato comunicaros que....¡ya está la Web de nuevo OnLine!

Me acabo de acordar ahora y me dio por probar y ya está la Web de nuevo otra vez funcionando.

Saludetes. ;-)

 10 
 : 10 de Diciembre de 2016, 10:43:14 pm 
Iniciado por TroMax - Último mensaje por nanochess
Este es el link correcto https://youtu.be/L6GQO_kXfjk

Páginas: [1] 2 3 ... 10
Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!