|
Post by bjonte on Nov 6, 2018 6:30:40 GMT
It seems to be something wrong with how Vice reads the numeric keypad. Holding commodore and enter and releasing commodore ends up releasing both. Z64k handles it correctly like a real machine.
|
|
|
Post by willymanilly on Nov 9, 2018 22:19:44 GMT
It seems to be something wrong with how Vice reads the numeric keypad. Holding commodore and enter and releasing commodore ends up releasing both. Z64k handles it correctly like a real machine. In what program did you test this in? I tried this in a later build of VICE and it seems to handle this key combination correctly...
|
|
|
Post by bjonte on Nov 11, 2018 7:10:10 GMT
I ran into this during game development so it is my own code.
|
|
|
Post by oziphantom on Nov 22, 2018 5:45:37 GMT
I found a timing discrepancy. Emulator Real deal The real deal fires a ~char earlier. This is a CIA timer, so I wait for VBLank, then I trigger the one shot timer to get me back to a bit before VBlank.
Timer Set Up
lda #$43 sta $DD05 lda #$00 sta $dd04 lda #<MyNMI sta MOS6502.NMI lda #>MyNMI sta MOS6502.NMI+1 lda #$81 sta $dd0d lda #0 sta InteruptFlag Timer Fire
lda #$20 - bit $d600 beq - ; wait while not in VBlank jsr inVblank ..... inVblank ; fire off NMI timer lda #%10011001 sta $dd0e lda #3 ldx #$1a jsr writeVDC
VDC Setup VDCData .block reg .byte $00,$01,$02,$03,$06,$0a,$0c,$0d,$0e,$0f,$14,$15,$16,$19,$1a,$1b,$1c,34,35 value .byte 63, 32, 53, 68, 24,$20,$10,$00,$29,$00,$28,$00,$89,$57,$03,$e0,$00,63,52 .bend
|
|
|
Post by willymanilly on Nov 22, 2018 20:28:54 GMT
What are the specs of your c128 (ROM version, NTSC/PAL)?
Are you able to forward me a copy of a runnable prg that you used so I can test on my system when I get home? I don't need the source. I have a few ideas what could be wrong but it would be good if I can reproduce exactly what you observe.
|
|
|
Post by oziphantom on Nov 23, 2018 4:15:58 GMT
Is the web site version the latest because a lot of the monitor commands "p" and "charmap" don't seem to work for me?
I have a PAL 128D and not 100% of ROM revision but I don't have the Caps Lock bug, so the updated ROMS. I have the Rev1 ( I think) VDC in that I have to set the scroll to 7 not 0.
Not 100% working as I want it yet, but the horizontal scroll is smooth
However you just need to run it to see the Green.
|
|
|
Post by oziphantom on Nov 23, 2018 4:38:26 GMT
also how do I get the emulator to save my settings so I don't have to set it up everytime I run it?
|
|
|
Post by willymanilly on Nov 23, 2018 20:07:46 GMT
also how do I get the emulator to save my settings so I don't have to set it up everytime I run it? This aspect of the emulator is still on my TODO list. At the moment only VICII model, and CIA models are saved when exiting the emulator for c64 and c128.
In the mean time you could use a batch file with command line options to put the emulator into a default state.
Are there any particular settings you would like saved? I can bump this up on my priority list to implement. It should be relatively easy for me to allow Z64K to read a configuration file to set any aspect of the emulator.
Regarding Monitor commands, that like most things is still a work in progress. I generally add features on request or when I need something to assist me with debugging. I try to keep those commands the same format as VICE. I will pencil in to include p and charmap.
|
|
|
Post by willymanilly on Nov 24, 2018 11:37:32 GMT
Thanks for the program to test with. The reason I asked for ROM revision is because they set register 4 differently, something I notice your program does not set as far as I can see withthe code you provided. It seems my real C128D with ROM version 1 seems to match Z64K with ROM version 1 selected. NTSC VICII will also affect the results because of the different clockfrequency it uses. If you want to test yourself, to change the Default System ROM go to Settings ==> System Config ==>ROM ==> Default System ROM You can also setup custom ROMs by going to Config and creating a new ROM set. You don't need to populate all ROMs with a value. You can use this so Z64K uses the same ROM as your real C128 to see if that is affecting the results of your program... Real C128D PAL ROM version 1 Z64KRom Version 1 Real c128D PAL - change VDC register 4 to 38 before starting program. sys dec("cdcc"),38,4Z64K Rom Version 2 (Z64K default)
|
|
|
Post by oziphantom on Nov 28, 2018 7:18:15 GMT
also how do I get the emulator to save my settings so I don't have to set it up everytime I run it? This aspect of the emulator is still on my TODO list. At the moment only VICII model, and CIA models are saved when exiting the emulator for c64 and c128.
In the mean time you could use a batch file with command line options to put the emulator into a default state.
Are there any particular settings you would like saved? I can bump this up on my priority list to implement. It should be relatively easy for me to allow Z64K to read a configuration file to set any aspect of the emulator. 16K, Both screen open, the last directory I opened a file from, Joystick settings. on VICE p is > ( and basically every other monitor ) Having a way to see/edit the IO registers would also be really handy. I.e I want to change the CIA timer values, I can just prod the registers until it is right..
|
|