Previous Thread
Next Thread
Print Thread
Page 23 of 39 1 2 21 22 23 24 25 38 39
Joined: May 2012
Posts: 541
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 541
I should have crossposted this (http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=46766#Post46766) -- I've emulated the clone keyboard, and the video board driver is mostly usable (as long as you don't press Caps Lock smile. It's essentially an embedded terminal -- takes power from Q-bus, keyboard input, talks to host over serial port, and outputs composite video.

The keyboard uses nearly identical protocol and scancode set as LK201 -- f.e. it ignores the keyboard mode commands (LK_CMD_MODE in http://www.netbsd.org/docs/Hardware/Machines/DEC/lk201.html) and there is an extra key to switch layout (Latin/Cyrillic).

Keyboard driver needs more work though -- bidirectional mode is missing at the moment since video board does not use it.

Joined: May 2012
Posts: 541
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 541
Originally Posted By shattered
Next step -- the color graphics board, KCGD. Text-only was easy since it uses 8080 and the ususal support chips, but KCGD (and its host system as well) uses an unique microprocessor implementation of pdp-11 ISA.


Some progress -- the board is talking to SIMH running Ultrix, and the shifted lines at the bottom are likely because of core bugs.



... and to find them I need to boot RT-11 and run tests from FTMON (XXDP workalike), but that is not easy -- in this screenshot RT-11 is running off virtual disk but not talking to the console for some reason:


Joined: Mar 2001
Posts: 16,742
Likes: 28
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,742
Likes: 28
Nice. BTW, emulated LK-201 should send fine now.

Joined: May 2012
Posts: 541
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 541
What is the good way to cause a bus error on access to unmapped memory? I have added a fake input line to T11 core and assert it from AM_READWRITE handlers, but this does not seem the right way.

Joined: Mar 2001
Posts: 16,742
Likes: 28
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,742
Likes: 28
That's exactly how a bunch of 680x0-based drivers do it.

Joined: May 2012
Posts: 541
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 541
Yeah, I stole idea from those smile

But it's rather clunky -- have to recalc am_readwrite windows manually, every time I add a new device + dunno how to convert 'offset' passed to handlers to offset from start of RAM.

Joined: Mar 2001
Posts: 16,742
Likes: 28
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,742
Likes: 28
Bus error usually *is* an input pin on the processor, so that's correct how to do it.

offset is simply the number of data bus units. For 8-bit data buses, offset = byte address, minus the start of the handler. For 16-bit, offset is the number of 16 bit words, and for a 32-bit data bus it's the number of 32-bit words.

So for this memory range on a CPU with a 32-bit data bus:
Code:
AM_RANGE(0x3000, 0x301f) AM_READWRITE(read32_r, read32_w)


...a CPU access to address 0x3010 would be an offset of 4 (0x3010 - the base 0x3000 = 0x10. Converted to 4-byte words = 4).

Joined: May 2012
Posts: 541
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 541
Elektronika MS1201.02 (a Q-bus board, basis of some desktops in DVK series) WIP -- showing ODT prompt smile The cpu on this board (K1801VM2) has ODT not in firmare but in 'shadow' ROM and has extra instructions to switch between 'user' and ODT ('halt') modes.



Joined: May 2012
Posts: 541
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 541
with bankdev plugged in, performance doesn't suck so much and now I see there actually is a core bug smile


Joined: Mar 2001
Posts: 16,742
Likes: 28
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,742
Likes: 28
Bankdev is definitely your friend smile

Page 23 of 39 1 2 21 22 23 24 25 38 39

Link Copied to Clipboard
Who's Online Now
1 members (Hydreigon), 33 guests, and 1 robot.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,935
Posts117,459
Members4,994
Most Online890
Jan 17th, 2020
Forum Host
These forums are hosted by www.retrogamesformac.com
Forum hosted by www.retrogamesformac.com