Search results
How to use MSX-DOS2 memory mapper routines?
Score: 144.05 %,
Type: Forum topic , Comments: 14 comments
address:
set A = 0, D = 4, E = 2. With this I suppose the memory mapper device for extended BIOS has ...
all_seg = mapper_routines + 0h. Looking at table definition: +0H ALL_SEG Allocate a 16k segment.
For user segment:
set A = 0, B = 0. On primary mapper, the easy way ;)
CALL (all_seg)
Check result ...
Safe set BIOS and restore RAM on page 0 from MSX-DOS?
Score: 156.42 %,
Type: Forum topic , Comments: 37 comments
Is this safe?
; set BIOS
LD H, 0 ; page 0
; ROMSLT = Main BIOS slot ID. (MSX2 and up only) ... code using the BIOS directly
...
; code end
; restore RAM
LD H, 0 ; page 0
; RAMAD0 = Slot address of RAM in page 0 (DOS)
LD A, RAMAD0
CALL ENASLT ; we are in BIOS environment so direct call
ENASLT ...
Some VDP command for linear transfer?
Score: 142.45 %,
Type: Forum topic , Comments: 18 comments
I wonder why the MSX-Video lacks the most elemental type to transfer data. From source to destination and size bytes. In other words a simple memcpy and its reverse. You can copy rectangles, which include linear copies and the VDP handling the change ...
V9938 manual wrong sprite documentation?
Score: 142.3 %,
Type: Forum topic , Comments: 2 comments
Hi, I wanted to put the VSAT on 0x4200 VRAM address for SC4. Looking at V9938 manual, this should be done by setting R#5 = 0x84 and R#11 = 0.
Looking at bitmap modes, we can see (and tested) ... wrong until I set the last 3 bits of R#5 to 1 (R#5 = 0x87) even in SC4.
But with R#5 = 0 ...
Scroll register strange behavior
Score: 141.83 %,
Type: Forum topic , Comments: 4 comments
I am mixing scroll register with line interrupt usage. Well, I noticed that setting R#23 (scroll Y register) to values greater than the line interrupt causes strange behavior, even causing all scroll registers (even R#18) stop working.
The steps: ...
Need help with H.KEYI interrupt
Score: 141.67 %,
Type: Forum topic , Comments: 14 comments
is the ISR code:
.z80
KEYI equ 0FD9AH
TIMI equ 0FD9FH
CALSLT equ 0001CH
RAMAD0 equ 0F341H
WRTVDP equ 00047H
;LDIRVM equ 0005CH
EXTROM equ 0015FH
VDPSTA equ 00131H
EXPTBL equ 0FCC1H
RG0SAV equ 0F3DFH
RG19SA equ 0FFF2H
LINEINT equ 16
public isrset@
isrset@: di
;KEYI
ld hl, KEYI
ld de, oldkei
ld bc, 5 ...
LDDR wrong in Z80 manual?
Score: 141.7 %,
Type: Forum topic , Comments: 4 comments
It is supposed to do: copy, dec HL/DE, dec BC and check if 0. But what I have is not that, ... a[100], b[100];
for(i=0; i<100; i++) a[i] = i;
/*memcpy(b, a, sizeof(int)*100);*/
printf("%a: %d %d %d\nb: %d %d %d\n", a[0], a[50], a[99], b[0], b[50], b[99]);
rvmcpy((&a[99])+1, ...
Inter-slot calls to BIOS?
Score: 142.2 %,
Type: Forum topic , Comments: 8 comments
i.e. to inter-slot call to BEEP (no parameters):
Quote:
BEEP (00C0H) *3
Function: ... is quite clear...
CALSLT EQU #1C
CALLF EQU #30
BEEP EQU #C0
NRDVRM EQU #174
PUSH HL
LD A,(#FCC1) ; This is the "most standard" way
LD IYH,A
LD IX,NRDVRM
LD HL,0
CALL CALSLT
POP HL
LD ...
Question about interrupts
Score: 141.56 %,
Type: Forum topic , Comments: 26 comments
interrupts, you might want to take a look.
Good video, it clarifies some things like the S#1 and S#0 ... interrupt and then do the IN 0x99.
then flip back to 0 because so the IN 0x99 of bios goes like expected. ... in page 3 0xc000 and no ado with slotflips.
needs a 257 bytes table with all the same bytes, needed ...
17-bit value for VRAM address?
Score: 140.88 %,
Type: Forum topic , Comments: 3 comments
for this to set a BaseAdress.
xxxxx000 = #0
xxxxx001 = #4000
xxxxx010 = #8000
xxxxx011 = #C000 ...
