| |
Fungus
Registered: Sep 2002 Posts: 691 |
Release id #240659 : Night Mission Pinball Extended
Why was the original screenshots removed from this and replaced with ones with ugly speccy colors? |
|
... 7 posts hidden. Click here to view all posts.... |
| |
Fungus
Registered: Sep 2002 Posts: 691 |
Derivative works are clearly mods for me. As a modder on PC I am not offended by the term, as it's a proper term. No one was doing this type of thing back in the day other than replacing sprites in games, which is really a mod too.
Agree, there is no protections anymore, can't call things cracks. I just call them "releases". |
| |
Hypnosis
Registered: Mar 2015 Posts: 36 |
Keyboard input doesn't work on the C128, probably because the input is read in 2 MHz without a NOP between STA $DC00 and LDA $DC01.
Very impressive mod! Such dedication! I'm going to have a go at it today. |
| |
Trurl
Registered: Mar 2002 Posts: 61 |
Quote: Keyboard input doesn't work on the C128, probably because the input is read in 2 MHz without a NOP between STA $DC00 and LDA $DC01.
Very impressive mod! Such dedication! I'm going to have a go at it today.
That's strange, can you please elaborate? It works here on all my real c128s as well as Vice x128. |
| |
Hypnosis
Registered: Mar 2015 Posts: 36 |
Quote: That's strange, can you please elaborate? It works here on all my real c128s as well as Vice x128.
Oh, that's surprising! I have noticed when I write my own programs that input doesn't work in there's not two cycles of delay between selecting keyboard column and reading if 2 MHz is turned on. I tested on a PAL C128DCR. I will test on an NTSC C128 as well now to see if the problem exists there. |
| |
Hypnosis
Registered: Mar 2015 Posts: 36 |
I tested on my two flat C128's. One PAL and one NTSC. Keyboard input works on those. Intriguing. Anyone with a PAL C128DCR who can test? On my DCR, nothing happens if I press Q to insert a coin. |
| |
Hypnosis
Registered: Mar 2015 Posts: 36 |
Hmm, I retested on the DCR again now, disconnecting all things and plugging everything in again and I can't reproduce this now. I have to do more testing. Sorry for the information noise. |
| |
Hypnosis
Registered: Mar 2015 Posts: 36 |
I have some more data on the keyboard problem now. If I have a joystick in port 2, keyboard input doesn't work (pressing Q does nothing). I tried this on three different C128 with three different joysticks.
Modifying the game to not turn off 2 MHz in the border, makes it work again. Also, keeping 2 MHz on in the border, but adding a nop between stores to dc00 and reads from dc01 works. So either of the following modifications in memory makes keyboard input work:
Alt 1:
4332 lda #$00
Alt 2:
0100 ldy #$ff
0102 sty $dc00
0105 nop
0106 lda $dc00
0109 sta $16
010b lda $dc01
010e sta $17
0110 stx $dc00
0113 nop
0114 ldx $dc01
0117 sty $dc00
011a nop
011b ldy $dc00
011e lda $dc01
0121 sty $18
0123 sta $19
0125 and $18
0127 and $16
0129 and $17
012b eor #$ff
012d bne $0133
012f stx $16
0131 clc
0132 rts
0133 jmp $79d0
79a0 jmp $0100 |
| |
chatGPZ
Registered: Dec 2001 Posts: 11387 |
Yes, that NOP is required in practise... in theory the clock stretching should take care of it - but in practise the parasitic capacitance of the connected wires may slow down the signal change just enough for it to cause problems maybe perhaps sometimes :) |
| |
Grue
Registered: Dec 2001 Posts: 162 |
Quote: I have some more data on the keyboard problem now. If I have a joystick in port 2, keyboard input doesn't work (pressing Q does nothing). I tried this on three different C128 with three different joysticks.
Modifying the game to not turn off 2 MHz in the border, makes it work again. Also, keeping 2 MHz on in the border, but adding a nop between stores to dc00 and reads from dc01 works. So either of the following modifications in memory makes keyboard input work:
Alt 1:
4332 lda #$00
Alt 2:
0100 ldy #$ff
0102 sty $dc00
0105 nop
0106 lda $dc00
0109 sta $16
010b lda $dc01
010e sta $17
0110 stx $dc00
0113 nop
0114 ldx $dc01
0117 sty $dc00
011a nop
011b ldy $dc00
011e lda $dc01
0121 sty $18
0123 sta $19
0125 and $18
0127 and $16
0129 and $17
012b eor #$ff
012d bne $0133
012f stx $16
0131 clc
0132 rts
0133 jmp $79d0
79a0 jmp $0100
Thanks for the tip, that routine you pasted is part of the original code the game uses for keyboard handling, its ignored during the gameplay and also, its not supposed to be run 2Mhz mode on.
2Mhz mode is activated when the ball enters the playfield.
Too bad I cannot remember all the details anymore, but that was the design idea.
Anyway, I have added nop's to the fast keyboard routine which you didn't seem to find yet, and also to this routine the original game base used.
I sent you a private message for the fixed build. I hope it works so I can release 1.1 version to the public, too. |
| |
Hypnosis
Registered: Mar 2015 Posts: 36 |
Quote: Thanks for the tip, that routine you pasted is part of the original code the game uses for keyboard handling, its ignored during the gameplay and also, its not supposed to be run 2Mhz mode on.
2Mhz mode is activated when the ball enters the playfield.
Too bad I cannot remember all the details anymore, but that was the design idea.
Anyway, I have added nop's to the fast keyboard routine which you didn't seem to find yet, and also to this routine the original game base used.
I sent you a private message for the fixed build. I hope it works so I can release 1.1 version to the public, too.
I didn't look for fixes in all places, just enough to prove what the problem was. The fixed version plays fine so this puts and end to this problem. Very nice! |
Previous - 1 | 2 - Next |