Login
Back to forumSee the full topicGo to last reply

Posted By

Luca
on 2014-01-22
03:08:16
 Re: DFLI game(s)

Awake in the night until the code's up and significantly working, that's the spirit! No one should loose it on the way of aging up, my appreciation to you for this! wink

As Litwr pointed out: yes, YAPE is the best Plus/4 emulator so far, combining several characteristics, included being user-friendly. It's 99% perfectly matching with the real machine, nonetheless the real iron says the last words in the very end. And, by personal experiences, never never NEVER trust YAPE especially in cases like yours (taking the raster back, e.g. opening up/down borders): there where YAPE runs flawlessly, the real iron creats video artifacts (argh!) or slow down your tune (ARGH!).
plus4emu appears to be not so friendly as YAPE, but its better emulating the right behavior with video stuff, use it intensively for this, but still let the real iron say...ok you got it wink
Don't trust VICE +4, Minus4, Artifex, WinEMU or further minor ones.

This is how plus4emu displays the NTSC screen that follows your code:


Congrats for you efforts, IMO this forum gives its best when some serious coding threads get in, and your project is something that has to be really seen. Because of this, I'm gonna check your code on my real Plus/4 once at home this evening (have to work, then my terrible she-dentist awaits for me ), and starting from now feel free to ask for further testing too: my Plus/4 is up'n'working 24/7, as several users know

Meanwhile, I encourage you in using one of the many crossassemblers around, in particular the Plus4IDE, a dedicated one: testing your code would be easier that way. This is your code quickly ported on AS65 in order to compile it on Plus4IDE:


; Sandor's video testing
; 2014-01-22

org $1001-2
dw $1001

dw nextln,0 ; second word is line number
db $9e
if start > 9999
db "0"+start/10000
endif
db "0"+(start/1000)%10,"0"+(start/100)%10,"0"+(start/10)%10,"0"+start%10,0
nextln db 0,0

start
sei
lda #$22 ; red ink
sta $053b
clrscreen ; fill screen by ROM routine
ldx #$04
ldy #$08
lda #$71
jsr $c5a7
ldx #$04
ldy #$0c
lda #$20
jsr $c5a7

jsr $ff4f ; print on screen by ROM routine
db $93,"PRESS: [1] FOR PAL; [2] FOR NTSC."
db 0

sta $ff3f

kcheck ; keyboard check for keys '1' and '2'
lda #$7f
sta $fd30
sta $ff08
lda $ff08
cmp #$fe
bne *+5
jmp $2000
cmp #$f7
bne kcheck
jmp $4000

org $2000

sei
lda #$00
ldx #$00
ldy #$00
sta $ff19
clc
adc #$01
bcc $200b
clc
inx
bne $200b
iny
cpy #$80
bne $200b
lda #$71
sta $ff19
jmp $201d

org $4000

sei
lda #$48
sta $ff07
ldx #nmi1 & 255
ldy #nmi1 >> 8
stx $fffe
sty $ffff
lda #$e1
sta $ff0b
sta $ff3f
cli
jmp $2001

org $4100
nmi1
pha
lda #$c8
sta $ff1d
lda $ff09
sta $ff09
lda #$fc
sta $ff0b
lda #nmi2 >> 8
sta $ffff
pla
rti

org $4200
nmi2
pha
lda #$e6
sta $ff1d
lda $ff09
sta $ff09
lda #$e1
sta $ff0b
lda #nmi1 >> 8
sta $ffff
pla
rti




Back to top


Copyright © Plus/4 World Team, 2001-2024