|
Post by tokra on Jun 20, 2016 20:58:29 GMT
@ Robert B; regarding monitors: If they could multi scan between 16-30khz then that would be great. Most monitors these days are set at the standard PC resolution settings, and won't budge below 31khz. You can get the hyper expensive TFT EGA monitors but even then I believe they are rated at 640x200/400 ish res. Just get an LCD-TV. They support 15kHz and are only marginally more expensive than monitors. I've connected mine using the BIT-C128 and a SCART-cable (using RGB-input). It even shows the interlaced modes (automatically de-interlaces them to full resolution). You will of course need an LCD-TV that still has analogue inputs. At least in Europe these will most certainly come with a SCART-connector which supports RGB-input.
|
|
|
Post by tokra on Apr 18, 2016 22:01:21 GMT
Crossposted from Lemon as it belongs here as wel I think: Ok, I tried this tonight. Please find a working VDC-vertical softscroller here: www.tokra.de/c128/softscroll/softscroll.zipThe BASIC-program just shows the routine. You can adjust the scroll-speed in line 20. The assembler-routine (softscroll.prg) @ $1300 is where the work is done. I did this "by the book": *=$1300
lda #$18 sta lines lda #$07 sta soft sta videoaddress lda #$0f sta attributeaddress lda #$80 sta videoaddress+1 sta attributeaddress+1 sei flag0 lda #$20 flag1 bit $d600 beq flag1 ; wait until inside vblank flag2 bit $d600 bne flag2 ; wait until outside vblank
lda videoaddress ldx #$0c ; register 12 stx $d600 flag3 bit $d600 bpl flag3 sta $d601 lda videoaddress+1 ldx #$0d ; register 13 stx $d600 flag4 bit $d600 bpl flag4 sta $d601 lda attributeaddress ldx #$14 ; register 20 stx $d600 flag5 bit $d600 bpl flag5 sta $d601 lda attributeaddress+1 ldx #$15 ; register 21 stx $d600 flag6 bit $d600 bpl flag6 sta $d601 lda soft ldx #$18 ; register 24 stx $d600 flag7 bit $d600 bpl flag7 sta $d601 dec soft bpl flag9 lda #$07 sta soft lda videoaddress+1 sec sbc #$50 ; subtract 80 from videoaddress / attributeaddress sta videoaddress+1 sta attributeaddress+1 bcs flag8 dec videoaddress dec attributeaddress flag8 dec lines bmi flag11 flag9 ldy #$f0 ldx #$00 flag10 inx bne flag10 iny bne flag10 jmp flag0 flag11 cli rts
lines . byte $18 ; 24 lines soft . byte $07 ; softscroll videoaddress . byte $07,$80 attributeaddress . byte $0f,$80
|
|
|
Post by tokra on Apr 17, 2016 13:43:50 GMT
Strange, just tried it with another TV/Monitor with VGA-In. Took 5-10 seconds to recognize the mode but then I got the text-display and the graphic-modes worked as well. Did you start the program and connect to VGA-In on your monitor?
|
|
|
Post by tokra on Apr 15, 2016 8:09:32 GMT
Sorry, I don't know the technical side of it. I just connected the VGA-connector to the DAC-board, you can see it working here: www.youtube.com/watch?v=zE-M2FnhWMASearching around the net, pin 13 of the VGA connector should be "HSYNC or CSYNC" so I suppose it goes there. You can find the register-settings in the BASIC-program itself at lines 1020,2020,3020 and from 4000 onwards for the text-mode with comments.
|
|
|
Post by tokra on Apr 14, 2016 21:03:30 GMT
Yes, I set it to about 60 Hz. I use the RGBI->RGBA-converter from Richard42 whose design has been used as a basis for www.bit-c128.com as far as I know. I think HSYNC and VSYNC are combined to CSYNC by this. I think I tried it on two different TFTs with success back then. I found the original design docs by Richard42 on my hard-drive and have attached them to this post for future reference.
|
|
|
Post by tokra on Apr 14, 2016 18:47:21 GMT
As posted by me on Lemon you should jest test for VBLANK like this (taken from my 8x1 code):
lda #$20 flag1: bit $d600 bne flag ... do something outside vblank area ... lda #$20 flag2: bit $d600 beq flag2 ... do something inside vblank area ...
|
|
|
Post by tokra on Apr 14, 2016 15:47:18 GMT
Do you mean VDC VGA Mania? I wrote that demo and have a PAL C128 myself. The "VGA-style-mode"-register settings are close to 60 Hz/31.5 Khz, otherwise it should not matter what state the VDC registers are in before. If I remember correctly the demo starts in 40 column-mode to display the instructions and you should have the VGA-monitor connected after the RGBI->RGBA-converter with a standard VGA-cable.
|
|
|
Post by tokra on Apr 11, 2016 23:11:02 GMT
Can you try it the other way around? So that the change occurs while in VBLANK, not while outside is? So BEQ instead of BNE? Do you check the status-register-ready-bit when writing to VDC? Do you take into account the character-height set in register 9? Did you check the scrolling on its own without dual bitmap? Maybe the scroll-register itself produces those crazy results on the real thing. Never trust VICE when coding VDC. The emulation is pretty good considering it can run Risen from Oblivion, but a lot of quirks are still missing, the least of which is interlace-mode, which would be pretty hard to adapt for VICE.
|
|
|
Post by tokra on Apr 11, 2016 22:45:46 GMT
Hmm, watching this in slow-motion it looks like the picture pops down and up at the reset of the scroll register. Maybe you need to wait for vblank (bit 5 of $d600) before you switch to the other bitmap?
|
|
|
Post by tokra on Mar 31, 2016 10:10:07 GMT
I guess most folks would be happy if you just applied the "original" fast serial-fix to the recent firmware. I never had any issues with it. In the very seldom circumstances you want to use tape you could just unplug the uIEC. The other ideas you have sound nice and all, but I think 95% would never use these features and just want the C128 to load faster from IEC without the need for JiffyDOS or SoftJiffy.
|
|