From
Stanislav Lomakin
→
To
All
3 March 2006
Hello, All
please remind me how to switch from 128 mode to 48 (full, with closed
7ffd), so that you can return to Vasik painlessly after this. from bald
out(7ffdH),30H Vasik is offended :(
From
Vladimir Kladov
→
To
All
3 March 2006
Hello, boo_boo
randomize usr 0
?
From
Stanislav Lomakin
→
To
All
3 March 2006
Hello, Vladimir Kladov
Vla> randomize usr 0
Vla> ?
ahem.. :rolleyes: no, an analogue of the Vasik-128 "spectrum" command, which does not interrupt
program execution. OUT(7ffd),#30 switches everything perfectly, but it’s worth doing
RET, as things get worse - maybe on the stack the address is in ROM-0 :(
From
Konstantin Zhukov
→
To
All
3 March 2006
Hello, boo_boo
In my boot I do this to switch to mode 48 with an open port:
LD SP,(23613)
LD HL,#1303
EX (SP),HL
LD HL,#1B7D
PUSH HL
Then you only need to add out. It is also recommended in the literature
switch channels to work with the ZX printer, but I think you won’t need it.
From
Wladimir Bulchukey
→
To
All
3 March 2006
Hello, Jukov
Switching from 128K to 48K on the fly:
CALL here->DI
LD SP,(23613)
POP HL
LD HL,4867 ; ERR_SP FOR 48-BASIC
PUSH HL
LD HL,7030 ; CONTINUE INTERPRETATOR 48-BASIC
PUSH HL
RES 4,(IY+1); reset flag 128K
LD DE,5566 ; INFORMATION FOR STREAMS
LD HL,(23631) ; CHANS
LD BC,15
ADD HL,BC
EX DE,HL ; DE=ADDR.FOR STREAMS/CHANNELS, HL=5556
LD C,4 ; BC=4 FOR LDIR
LDIR
EI
RET
; after returning from this routine there will be 48K mode with port #7FFD open.
; If you need to close a port, write the required byte to it upon return
; from the subroutine.
Calling this subroutine
is not dangerous, so special testing at 128K is not required.
From
Stanislav Lomakin
→
To
All
4 March 2006
Hello, Wlodek
that's it, thank you :)