Autor
| how to set up Screen 10,11 and 12.
|
mth msx freak Mensajes: 200 | Publicado: Enero 20 2005, 01:48   |
The subrom call routine you posted puts code on the stack, sets up the NMI hook (FDD6h) to jump to that code on the stack and then calls the NMI entry point (0066h) in the main ROM using an inter-slot call. The code on the stack performs a call to EXTROM (015Fh).
While this will probably work, I wonder if there is an easier way to perform a subrom call from DOS...
What about this routine:
CALSLT: equ 001Ch
EXBRSA: equ 0FAF8h
SetScreen:
ld iy,(EXBRSA - 1)
ld ix,00D1h
call CALSLT
ret
|
|
Sonic_aka_T
 msx guru Mensajes: 2269 | Publicado: Enero 20 2005, 02:55   |
That, and what's wrong with CHGMOD?
|
|
AuroraMSX
 msx master Mensajes: 1277 | Publicado: Enero 20 2005, 09:27   |
Quote:
| That, and what's wrong with CHGMOD?
|
That it probably won't work on a V9958 enhanced MSX2  |
|
Sonic_aka_T
 msx guru Mensajes: 2269 | Publicado: Enero 20 2005, 11:53   |
Why wouldn't it? Isn't it the same routine on MSX2 as it is on MSX2+?
|
|
BiFi msx guru Mensajes: 3142 | Publicado: Enero 20 2005, 12:01   |
The problem is CHGMOD has no entries for setting SCREEN10, 11 and 12 on MSX2+. So you need to set SCREEN 8 yourself and write R#25 to set YJK (and YAE when required) to get either SCREEN 11 or 12. SCREEN 10 differs from SCREEN 11 because of the way MSX-BASIC v3 handles it.
|
|
Sonic_aka_T
 msx guru Mensajes: 2269 | Publicado: Enero 20 2005, 15:19   |
Oh, I didn't know the sub-rom did have an entry... Or is this using the BASIC routines? ($0159?) How do those work anyhoo?
|
|
|
|
|