|
Post by tokra on Apr 30, 2020 19:13:05 GMT
I was just made aware by Deekay of Crest of this VDC-demopart from 1992:
It runs from C64-mode, since it's also a C64-demo. The VDC-demo is the third part of the demo, right after the "terminal"-part. It first checks if you really have a C128 and then displays a scroller and logo on the VDC. I successfully tried this on my real machine, but neither VICE nor Z64K recognize the C128 correctly.
You can also load the VDC-demopart directly in C64 mode by using LOAD"2.*",8,1 and start with SYS16408. Effectively it copies the code from $4100 down to BASIC and just runs it. Somewhere in there must be the check that fails to recognize the C128 on emulators but works on a real machine.
Either way, the demo shows a scroller and a skipping logo, similar to VDC101, but more than 25 years earlier... Might be worth checking if it works in Z64K once the "check C128"-problem has been fixed.
|
|
|
Post by willymanilly on Apr 30, 2020 23:05:32 GMT
What are the specifications of your C128? It's saying" Sorry, for you having no C128..." on my real C128D!
|
|
|
Post by willymanilly on Apr 30, 2020 23:20:53 GMT
BTW the emulator check seems to be simply a test of the character ROM.
.c:2109: 20 fc 33 JSR $33fc .c:210c: c9 62 CMP #$62 .c:210e: d0 03 BNE $2113 .c:2110: 4c 10 34 JMP $3410 ;FAIL
.c:33fc: a9 ff LDA #$ff .c:33fe: 85 00 STA $00 .c:3400: a9 33 LDA #$33 .c:3402: 85 01 STA $01 .c:3404: ad 05 d0 LDA $d005 .c:3407: a2 37 LDX #$37 .c:3409: 86 01 STX $01 .c:340b: a2 07 LDX #$07 .c:340d: 86 00 STX $00 .c:340f: 60 RTS
|
|
|
Post by willymanilly on Apr 30, 2020 23:43:58 GMT
A way to bypass the check in VICE and Z64K is to set a break point at 2100 in the machine monitor before running the VDC-demopart directly in c64 mode. The following commands work in both VICE and Z64K
bk 2100 x
When the breakpoint is triggered enter the following. note: You will need to press enter twice to exit assemble mode after the first of the following commands.
a 210c cmp #$61 x
|
|
|
Post by bjonte on May 1, 2020 3:19:19 GMT
Is the C64 character ROM different in C64 compared to C128?
|
|
|
Post by willymanilly on May 1, 2020 4:26:58 GMT
I read from somewhere that the c128 and c64 charroms might be different. Doesn't seem to be different on my real hardware where it matters for this demo though. I found a simpler way to run the VDC part in emulators and hardware that fails the check. It is as follows. - At the fail screen press runstop+restore
- poke 8461,0
- sys 8448
On my hardware the bottom scrolling logo is jittery, even more so than Z64K. Otherwise seems very similar to how Z64K handles it. I would be interested in how it displays on other peoples systems and to know if you had to use the bypass to run it.
|
|
|
Post by bjonte on May 1, 2020 5:48:45 GMT
That detection doesn't work on my C128DCR.
|
|
|
Post by bjonte on May 1, 2020 5:57:57 GMT
So they are checking what the @ character looks like.
Mine looks like this:
..####.. .##..##. .##.###. .##.###. .##..... .##...#. <- this line is checked for this value ..####.. ........
I'm guessing a potential difference would be this to make the character look like other similar characters.
..####.. .##..##. .##.###. .##.###. .##..... .##..##. ..####.. ........
|
|
|
Post by bjonte on May 1, 2020 6:13:24 GMT
The lower scroller is flickering on my machine. The background colors behind the text is skewed and moves a bit randomly. Upper scroller and moving color blocks looks correct.
|
|
|
Post by tokra on May 1, 2020 8:18:55 GMT
I seem to remember to have read somewhere that this was an error in the german character-ROM. The german C128 has another character-set with german umlauts and the original Commodore-character-set as well. The @-character however seems to have this error and since my C128 and both the demo-programmer are german it seems he used that way to test for a C128.
|
|