DSKY

150 views
Skip to first unread message

Robb Bates

unread,
Apr 2, 2025, 4:10:09 PM4/2/25
to RC2014-Z80
I'm aware of the Front Panel "DSKY" functionality.  Boot options and drive activity LEDs.

Is there other functionality built in for other types of DSKYs?

I like the look and feel of a HEX pad and eight 7 segment LEDs.  I also see some code in ROMLDR.ASM

#if (DSKYENABLE)
ra_ent(str_dsky,  'Y'+$80, KY_GO, BID_IMG0, MON_IMGLOC,  MON_LOC, MON_SIZ, MON_DSKY)
#endif

Looks like it can launch a DSKY Monitor or something.  Does that just re-direct the regular monitor to an LCD module?

Can someone expound on this?

Robb

Wayne Warthen

unread,
Apr 2, 2025, 4:24:34 PM4/2/25
to RC2014-Z80
On Wednesday, April 2, 2025 at 1:10:09 PM UTC-7 Robb Bates wrote:
I'm aware of the Front Panel "DSKY" functionality.  Boot options and drive activity LEDs.

In RomWBW, front panel and DSKY are different thing.  Front Panel refers to the switches and LEDs found on the RC2014.  DSKY refers to an add-on HEX Pad w/ 7 segment LEDs.

Is there other functionality built in for other types of DSKYs?

Not sure what is being asked here...

I like the look and feel of a HEX pad and eight 7 segment LEDs.  I also see some code in ROMLDR.ASM

#if (DSKYENABLE)
ra_ent(str_dsky,  'Y'+$80, KY_GO, BID_IMG0, MON_IMGLOC,  MON_LOC, MON_SIZ, MON_DSKY)
#endif

Looks like it can launch a DSKY Monitor or something.  Does that just re-direct the regular monitor to an LCD module?

Yes.  But the only system that has a DSKY (hexpad w/ 7 segment LEDs) is the original N8VEM SBC.  No such hardware exists for the RC2014 world (as far as I know).  If DSKY hardware existed for RC2014, it would be easy to support in RomWBW.

Thanks, Wayne 

Willy De la Court

unread,
Apr 2, 2025, 4:42:18 PM4/2/25
to RC2014-Z80

Tadeusz Pycio

unread,
Apr 2, 2025, 5:10:48 PM4/2/25
to RC2014-Z80
I am planning to add support for my HexTerminal in RomWBW as a DSKY device, but temporarily work on implementation is on hold (as with the SCC controller) pending the rebuilding of my workshop.

Willy De la Court

unread,
Apr 2, 2025, 5:21:08 PM4/2/25
to RC2014-Z80
Wayne,

I found this in the Source/Doc/SystemGuide.md file

| **Device Type** | **ID** | **Description** | **Driver** |
|--------------------|-------:|---------------------------------------|------------|
| DSKYDEV_ICM | 0x01 | Original ICM7218 based DSKY | icm.asm |
| DSKYDEV_PKD | 0x02 | Next Gen Intel P8279 based DSKY | pkd.asm |
| DSKYDEV_GM7303 | 0x03 | GM7303 LCD Display + Keypad | gm7303.asm |
| DSKYDEV_LCD | 0x04 | HD44780-based LCD Display | lcd.asm |

Could you link these Device Types to existing hardware?

Robb Bates

unread,
Apr 2, 2025, 5:21:51 PM4/2/25
to RC2014-Z80
Hmmm, sounds like an opportunity to contribute to the project.

What is MON_DSKY?

oshwlab looks like they've got something started.  But I suspect it died in 2020.  Work in progress, but nothing since then.

Maybe I'll take a crack at it myself.

I'm really good at hardware, but not as good at software.  I know 6502 pretty well, but I'll need to teach myself Z80 now.

What functionality would be nice to have with such a keypad/LED DSKY?  Or a keypad LCD combo.

1) Monitor of some sort.  Enter and run programs like an old school CPU trainer?
2) Boot options, mirroring the Boot loader somehow?
3) Drive activity like front panel
4) System boot progress like front panel
5) Suggestions?

Oh wait, here's the DSKY PDF.

Bill Shen

unread,
Apr 2, 2025, 7:23:16 PM4/2/25
to RC2014-Z80
The traditional front panel can take over Z80 bus and examine memory and change memory.  It can single step or run program.  It does not need any existing program in Z80.  In fact, Z80 does not know or need to know a front panel is present.  The traditional front panel is a row of LEDs displaying addresses and data bits and a row of switches for entering addresses and data bits.  It is difficult to use because lots of switches need to be flipped to enter an instruction.  A more modern front panel may use PS2 keyboard for data entry and 7-segment display for addresses and data.  The logic is more complex, generally requires a CPLD or a microcontroller.  It is an interesting hardware problem.
Bill

Wayne Warthen

unread,
Apr 2, 2025, 10:00:21 PM4/2/25
to RC2014-Z80
On Wednesday, April 2, 2025 at 2:21:51 PM UTC-7 Robb Bates wrote:
Hmmm, sounds like an opportunity to contribute to the project.

😀 

What is MON_DSKY?

That is the entry point in the Monitor code that runs a DSKY instead of a text console.

What functionality would be nice to have with such a keypad/LED DSKY?  Or a keypad LCD combo.

1) Monitor of some sort.  Enter and run programs like an old school CPU trainer?
2) Boot options, mirroring the Boot loader somehow?
3) Drive activity like front panel
4) System boot progress like front panel
5) Suggestions?

All of this functionality is already built into RomWBW for any DSKY device.  All you would need to do is implement a DSKY driver.  The two existing DSKY drivers are icm.asm and pkd.asm.  You can refer to those as examples.

Oh wait, here's the DSKY PDF.

Yes, but this document is kind of old.  I think it is largely still correct.

Thanks, Wayne

Wayne Warthen

unread,
Apr 2, 2025, 10:02:12 PM4/2/25
to RC2014-Z80
On Wednesday, April 2, 2025 at 4:23:16 PM UTC-7 Bill Shen wrote:
The traditional front panel can take over Z80 bus and examine memory and change memory.  It can single step or run program.  It does not need any existing program in Z80.  In fact, Z80 does not know or need to know a front panel is present.  The traditional front panel is a row of LEDs displaying addresses and data bits and a row of switches for entering addresses and data bits.  It is difficult to use because lots of switches need to be flipped to enter an instruction.  A more modern front panel may use PS2 keyboard for data entry and 7-segment display for addresses and data.  The logic is more complex, generally requires a CPLD or a microcontroller.  It is an interesting hardware problem.

 You are right Bill.  Of course, that is purely a hardware exercise, so best left to folks like you!  😀

Thanks, Wayne

Doug Jackson

unread,
Apr 2, 2025, 10:21:28 PM4/2/25
to rc201...@googlegroups.com
Hi,

Time to de-lurk.

I designed the GM7303 display keyboard - It is a LCD display and 24 key keypad that is designed to plug into the STD bus.  It was based on the Prolog 7303 display/keyboard board.

If you look at the GM7303 code in RomWBW, you will see just how easy interfacing the hardware actually was.

The 7303 is not a good candidate for the RCBus, as it wouldn't fit into the tiny form factor of the boards, but still,  It exists.

I did not have to write the monitor routines - they appeared magically as a result of interfacing to the existing DSKY codebase.
image.png



Kindest regards,

Doug Jackson

ph: 0414 986878

Follow my amateur radio adventures at vk1zdj.net



--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/b970d844-2495-49a6-bcf7-a641a6618ba6n%40googlegroups.com.

Mark T

unread,
Apr 2, 2025, 11:33:35 PM4/2/25
to RC2014-Z80

Toggle switches are actually quite quick once you have the common opcodes memorized. Probably no more difficult than a hex keypad. Its an ok way to enter a bootloader if the data source is a simple interface. Hardware is fairly simple using the z80 as the address bus counter and feed it nops when you step to the next address. 
Reply all
Reply to author
Forward
0 new messages