Previous Thread
Next Thread
Print Thread
Page 6 of 10 1 2 4 5 6 7 8 9 10
Re: Kaypro 10 [Re: rfka01] #111203 10/31/17 01:15 PM
Joined: Jan 2012
Posts: 814
C
crazyc Online Content
Senior Member
Online Content
Senior Member
C
Joined: Jan 2012
Posts: 814
Originally Posted by rfka01

Another issue that's relevant to the Kaypro emulation is the rejection of many Kaypro disk images. Examples are the Kaypro 10 "G" reload set and a second Kaypro 10 "U" boot disk on http://www.retroarchive.org/maslin/disks/kaypro/.

If you try to mount those images, MAME quits on you with the error message

Quote
Fatal error: Incorrect layout on track 0 head 0, expected_size=50000, current_size=88368


I tried to write back the images to physical media and re-dumping in IMD, but the error persists.

These have 10 sectors per side on a DSDD floppy. Our image loaders use a default gap3 size which may be too big for these.

Re: Kaypro 10 [Re: rfka01] #111204 10/31/17 02:14 PM
Joined: Jan 2012
Posts: 1,028
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Jan 2012
Posts: 1,028
Quote
These have 10 sectors per side on a DSDD floppy. Our image loaders use a default gap3 size which may be too big for these.


22disk has these definitions for Kaypro disks, don't know if they can be translated into MAME formats:

Code
BEGIN KAY1  Kaypro II/2 - SSDD 48 tpi 5.25" - 512 x 10
DENSITY MFM ,LOW 
CYLINDERS 40 SIDES 1 SECTORS 10,512 SKEW 4
SIDE1 0 0,1,2,3,4,5,6,7,8,9
BSH 3 BLM 7 EXM 0 DSM 194 DRM 63 AL0 0F0H AL1 0 OFS 1
END 

BEGIN KAY2  Kaypro 2X/4/10 - DSDD 48 tpi 5.25" - 512 x 10
DENSITY MFM ,LOW 
CYLINDERS 40 SIDES 2 SECTORS 10,512 SKEW 4
SIDE1 0 0,1,2,3,4,5,6,7,8,9
SIDE2 0 10,11,12,13,14,15,16,17,18,19
ORDER SIDES 
BSH 4 BLM 15 EXM 1 DSM 196 DRM 63 AL0 0C0H AL1 0 OFS 1
END 

BEGIN KAY3  Kaypro 2X/4/10 (Alternate) - DSDD 48 tpi 5.25" - 512 x 10
DENSITY MFM ,LOW 
CYLINDERS 40 SIDES 2 SECTORS 10,512 SKEW 4
SIDE1 0 0,1,2,3,4,5,6,7,8,9
SIDE2 1 10,11,12,13,14,15,16,17,18,19
ORDER SIDES 
BSH 4 BLM 15 EXM 1 DSM 196 DRM 63 AL0 0C0H AL1 0 OFS 1
END 

BEGIN KAY4  Kaypro, Pro-8 ROM - DSDD 96 tpi 5.25" - 512 x 10
DENSITY MFM ,LOW 
CYLINDERS 80 SIDES 2 SECTORS 10,512 SKEW 4
SIDE1 0 0,1,2,3,4,5,6,7,8,9
SIDE2 0 20,21,22,23,24,25,26,27,28,29
ORDER SIDES 
BSH 5 BLM 31 EXM 3 DSM 196 DRM 95 AL0 080H AL1 0 OFS 2
END 

BEGIN KAY5  Kaypro Advent TurboROM - DSDD 48 tpi 5.25" - 1024 x 5
DENSITY MFM ,LOW 
CYLINDERS 40 SIDES 2 SECTORS 5,1024 SKEW 2
SIDE1 0 1,2,3,4,5
SIDE2 1 11,12,13,14,15
ORDER SIDES 
BSH 4 BLM 15 EXM 1 DSM 195 DRM 255 AL0 0F0H AL1 0 OFS 2
END 

BEGIN KAY6  Kaypro Advent TurboROM - SSDD 48 tpi 5.25" - 1024 x 5
DENSITY MFM ,LOW 
CYLINDERS 40 SIDES 1 SECTORS 5,1024 SKEW 2
SIDE1 0 1,2,3,4,5
BSH 3 BLM 7 EXM 0 DSM 185 DRM 31 AL0 0C0H AL1 0 OFS 3
END 

BEGIN KAY7  Kaypro Advent TurboROM - DSDD 96 tpi 5.25" - 1024 x 5
DENSITY MFM ,LOW 
CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2
SIDE1 0 1,2,3,4,5
SIDE2 1 21,22,23,24,25
ORDER SIDES 
BSH 4 BLM 15 EXM 0 DSM 395 DRM 255 AL0 0F0H AL1 0 OFS 2
END 


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Re: Kaypro 10 [Re: rfka01] #111205 10/31/17 05:58 PM
Joined: Jan 2012
Posts: 1,028
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Jan 2012
Posts: 1,028
Kaypro 10 (or 10'84)

Info:
Despite the use of a new mainboard starting in 1984, the Kaypro 10 was still a 64K Z80 CP/M machine, with a 10MB harddisk and one DS/DD floppy disk drive, two accessible serial and one parallel port. Starting with the 1984 generation, all Kaypros offered crude semi-graphics, moved the harddrive connector to the side of the mainboard and made room for a real time clock and battery as well as an on board modem that used a little transformer. A fully decked out Kaypro 10, as they were sold towards the end of the lifespan of the model, was called Kaypro 10 MTC. Despite different model numbers, the mainboards look very similar. Sharkpuncher's board from page 1 of this thread represents the earlier type, 81-181, my machine has the last board that was used in the Kaypro 10's, 81-582. I can be fairly certain, because I kept the original ROM, 81-478a after I swapped it for a Turbo ROM.

[Linked Image]

Resources/Status:
81-302 is the default ROM in Mame, the next two revisions used 82-302c which is not yet in MAME. If you compare the pictures of Sharkpunchers K10 mainboard and mine, it looks like they just used the newer Universal ROM without changes to the board, but this is just from a glance. This discussion seems to support this notion: http://mdfs.net/Archive/info-cpm/1990/02/13/184752.htm. 81-302 and 81-302c boot the first disks of the "F" and "H" reload sets linked below. Reload set "G" has issues of its own (cf. my previous post and crayzc's answer), and I haven't found a complete "U" set, just the boot disks.
Unto Mame 0.190, the Kaypro 10 with the 81-482a would boot a disk with the CP/M 2.2u1, "U" reload disk, but since then it starts booting and shows a "BDOS Err. on A: Select" message. Due to the missing WD1002 emulation, restoring to hard disk can't be tested yet.

Disk sets:
Kaypro 10 reload disk set "H"
Kaypro 10 reload disk set "F"

Third Party ROMs:
Advent Turbo ROM:
See Kaypro 10'83

KayPlus '84:
This ROM seems to work in MAME, booting a disk that is available on http://www.nightfallcrew.com/wp-content/plugins/download-monitor/download.php?id=564. Unfortunately the screen is filled with vertical stripes, so it's clearly unhappy about something in our Kaypro 10 driver.
[Linked Image]
Code
	ROMX_LOAD("kplus84.rom",  0x0000, 0x2000, CRC(4551905a) SHA1(48f0964edfad05b214810ae5595638245c30e5c0), ROM_BIOS(5) )



To-Do:
  • Add ROM revision 81-302c
  • Emulate WD1002-HD0 harddisk controller
  • Find complete "U" reload disk set
  • Find out which Microcornucopia ROM is suitable for a K10'84


Addendum to Kaypro 10'83:
The Walnut Creek list mentions a CP/M 2.2D for the K10'83 but I couldn't find disk images for it.

Last edited by rfka01; 10/31/17 06:07 PM.

NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Re: Kaypro 10 [Re: rfka01] #111206 11/01/17 12:08 AM
Joined: Jan 2012
Posts: 1,028
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Jan 2012
Posts: 1,028
Kaypro 2'84, Kaypro 4'84, Kaypro New 2, Kaypro 2X, Kaypro 1

Compared to the '83 models, the '84 ones supported rudimentary graphics via ASCII graphics characters. This article explains how it works on the Kaypros: http://skookumpete.com/KayproGraphics.htm

Info:
From 1984 on, the Kaypros were very similar, the main differences being single or double sided drives (all half height), availability of modem and/or RTC and the software package. One parallel and two accessible serial ports were included in all machines.
  • 2'84: two SS/DD floppies, two accessible serial ports
  • 4'84: two DS/DD floppies, RTC, modem, later renamed 2X or 2X MTC,
  • 2X: like 4'84, but no modem or RTC (old 2X), later re-introduced as the Kaypro 1
  • New 2: one DS/DD floppy, no modem or RTC


Resources/Status:
2'84, 4'84 and original 2X used ROM 81-292A which is the second choice in the current 2X driver. This disk image seems to be mislabled, as it's single sided and therefore probably came from a 2'84 rather than a New 2. The first disk from the "F" disk set for the 4'84 linked to below works fine, as do the "G" version disks labeled for this ROM version on http://www.retroarchive.org/maslin/disks/kaypro/
2X (MTC), New 2 and 1 used ROM 81-478A (Universal ROM v2.01). 81-292, which is the default ROM in the current 2X driver is Universal ROM v2.00. The Kaypro 1 disk can be used to test these driver/ROM combinations. As with the Kaypro 10 driver, booting worked up to Mame 0.190, currently those are displaying a CP/M BDOS error.

Disk sets:
CP/M 2.2F disk set for the Kaypro 4'84
Disk set for the 2X, unfortunately extracted files rather than disk images
Original disk for the Kaypro 1

Third party ROMs:
Advent Turbo ROM:
See Kaypro 10'83 ... I haven't been able to make the disks for the Turbo ROM in the emulated machine.

KayPlus '84
See Kaypro 10'84

Kaypro 4/84 Micro Cornucopia Super MAX v2.7
This ROM boots the original CP/M variants as well as the custom disk.

Kaypro Micro Cornucopia Pro-8 v5 (4/84?)

See the Super MAX ROM above, file is identical to http://www.retroarchive.org/maslin/roms/kaypro/pro8-5.rom
Code
	ROMX_LOAD("pro884v5.rom",  0x0000, 0x2000, CRC(fe0051b1) SHA1(cac429154d40e21174ae05ceb0017b62473cdebd), ROM_BIOS(5) )


Handyman
The Handyman was more than just a ROM replacement,a little add-on board that implemented ROM resident utilities like a calendar, a screenshot utility, a notepad and others. Here's an ad for it: https://archive.org/stream/PROFILES...umber_11_1986-06_Kaypro_Corp_US_djvu.txt Unfortunately I'm not the only one wondering how to conjure up the utilities, it seems no one can remember the relevant keystrokes.
Code
	ROM_LOAD("handyman",   0x0000, 0x8000, CRC(f020d82c) SHA1(576a6608270d4ec7cf814c9de46ecf4e2869d30a) )


To-Do:
  • Add missing third party ROMs, find out Handyman keystrokes
  • Add missing models, 2'84 can only use single sided disks
  • Add RTC and/or modem as options or per model
  • Restore Universal ROM models to boot again


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Re: Kaypro 10 [Re: crazyc] #111207 11/01/17 03:11 AM
Joined: Jan 2012
Posts: 814
C
crazyc Online Content
Senior Member
Online Content
Senior Member
C
Joined: Jan 2012
Posts: 814
Originally Posted by crazyc
These have 10 sectors per side on a DSDD floppy. Our image loaders use a default gap3 size which may be too big for these.

Looks like the actual problem here is that they're being loaded as FM images rather than MFM. TD02IMD and HxC identify them as correctly as MFM but Sydex's own TDCHECK says they're FM. There seem to be two bits in the header that may indicate FM or MFM, maybe for different versions of teledisk?

Edit: TD02IMD says it's FM too..

Last edited by crazyc; 11/01/17 03:21 AM.
Re: Kaypro 10 [Re: rfka01] #111212 11/01/17 05:47 PM
Joined: Jan 2012
Posts: 1,028
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Jan 2012
Posts: 1,028
@crazyc, HxC seems to be the solution. I couldn't write back the images or convert the images without defaulting to FM. If you convert the "G" set using the HxC Floppy emulator, they work in MAME - but they're not 100% original as Don Maslin has left a comment file on the boot disk. k10urlod.td0 can be mounted after conversion, but does not become bootable. Its contents are the same as k10u-rld.td0, so that can be used instead.

While researching all things Kaypro, I came across Doug Miller's "Virtual Kaypro" emulator at http://sims.durgadas.com/kaypro/kaypro.html He's currently trying to get approved for this forum.

[Linked Image]

Among the things that caught my interest were a working WD1002-HD0 implementation and disk images for the 2.7MB Robie/4X floppies, albeit reconstructed in the Virtual Kaypro. Maybe they could be used as standins until real disks are captured. His files are at http://sebhc.durgadas.com/kaypro/

He hasn't included a copyright with his Kaypro files, but wrote to me in an email that he's offering the code as

Quote
Copyright (c) 2011,2017 Douglas Miller
durgadas311@gmail.com

Permission to modify and/or redistribute is granted provided
no fee is charged, original copyright messages are included,
and modifications are submitted back to original author.


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Re: Kaypro 10 [Re: rfka01] #111213 11/01/17 06:30 PM
Joined: Mar 2001
Posts: 16,390
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,390
Java. *brrrrrrr*.

Re: Kaypro 10 [Re: rfka01] #111218 11/01/17 10:34 PM
Joined: Jan 2012
Posts: 1,028
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Jan 2012
Posts: 1,028
Kaypro II plus 88 and Kaypro 4'84 plus 88

The plus 88 models featured factory mounted SWP CoPower 88 boards that could also be installed as third party add-ons. They complimented the Kaypro's Z80 and 64K RAM with an 8088 and 128K or 256K RAM. The extra RAM could be used as a ramdisk from CP/M-80 or as part of the 8088 system to run specially adapted versions of MS-DOS and CP/M-86 on the CoPower. A Kaypro 4'84 plus 88 is pictured here. Earlier boards were system specific, later boards were suitable for
Quote
Kaypro II, 4, 4/84, 10; Xerox 820 II; Bigboard; ATR8000; Zorba; Osborne.
- at least their ad says so. There were also CoPower + boards with 1MB of RAM available.

Resources/Status:
The System Loader Disk and CoPower 88 MS-DOS disk are available in the Don Maslin archives, as is a CoPower ROM that's already in MAME.

If you try to boot the CP/M system loader disk (or even a regular CP/M disk) in the kaypro4p88 driver, MAME shows the first "K", then quits with this error:

Code
-----------------------------------------------------
Exception at EIP=00000000007c0f5f (kaypro_state::kaypro4_pio_system_w(address_space&, unsigned int, unsigned char, unsigned char)+0x017f): ACCESS VIOLATION
While attempting to read memory at 00000000000006cc
-----------------------------------------------------
RAX=0000000000000000 RBX=000000001e308fc0 RCX=000000001e2dfe50 RDX=0000000000000000
RSI=0000000000000000 RDI=0000000000000008 RBP=000000001bf48200 RSP=000000001bf48180
 R8=0000000000000000  R9=c6a4a7935bd1e995 R10=000000001e2fb0a0 R11=000000001bf480d0
R12=0000000000000000 R13=0000000000000000 R14=00000000000000d3 R15=0000000026009d50
-----------------------------------------------------
Stack crawl:
  000000001bf48160: 00000000007c0f5f (kaypro_state::kaypro4_pio_system_w(address_space&, unsigned int, unsigned char, unsigned char)+0x017f)
  000000001bf48240: 00000000021ee21f (devcb_write_base::write8_adapter(address_space&, unsigned int, unsigned long long, unsigned long long)+0x00af)
  000000001bf48350: 0000000001d623c7 (z80pio_device::write_alt(address_space&, unsigned int, unsigned char, unsigned char)+0x0a97)
  000000001bf483a0: 00000000036dd2f4 (delegate_base<void, address_space&, unsigned int, unsigned char, unsigned char>::operator()(address_space&, unsigned int, unsigned char, unsigned char) const+0x0054)
  000000001bf48400: 000000000316017e (address_space_specific<unsigned char, (endianness_t)0, false>::write_byte(unsigned int, unsigned char)+0x008e)
  000000001bf48450: 0000000002842615 (z80_device::op_d3()+0x0065)
  000000001bf484e0: 0000000001a8f36c (z80_device::execute_run()+0x084c)
  000000001bf485a0: 00000000022d9320 (device_scheduler::timeslice()+0x04d0)
  000000001bf486a0: 0000000002298858 (running_machine::run(bool)+0x0408)
  000000001bf4f250: 0000000000e9f173 (mame_machine_manager::execute()+0x01e3)
  000000001bf4f4f0: 0000000000f109d9 (cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)+0x03f9)
  000000001bf4f680: 0000000000f10e55 (cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x0045)
  000000001bf4f6e0: 0000000000e9d20a (emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x002a)
  000000001bf4fe50: 0000000004163c4d (main+0x013d)
  000000001bf4ff20: 00000000004013f8 (__tmainCRTStartup+0x0248)
  000000001bf4ff50: 000000000040151b (mainCRTStartup+0x001b)
  000000001bf4ff80: 00007ffd92072774 (BaseThreadInitThunk+0x0014)
  000000001bf4ffd0: 00007ffd94b70d51 (RtlUserThreadStart+0x0021)
Segmentation fault


The same disk boots fine in the 2X driver, running the msdos.com program fails, of course, due to the missing "hardware".

[Linked Image]

Reading the file ramdisk.doc on that same disk could give us a clue on the copower's properties:

[Linked Image]


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Re: Kaypro 10 [Re: R. Belmont] #111219 11/02/17 07:53 AM
Joined: May 2009
Posts: 1,822
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,822
Originally Posted by R. Belmont
Java. *brrrrrrr*.


It's C++ with garbage collection, reflection, and some slightly different keywords. A capable programmer should have no problem porting between the two.

Re: Kaypro 10 [Re: Just Desserts] #111220 11/02/17 11:20 AM
Joined: Oct 2017
Posts: 9
D
durgadas311 Offline
Member
Offline
Member
D
Joined: Oct 2017
Posts: 9
I've got no defense for using JAVA, but it does make the GUI more portable and I found the GUI easier to implement.

That said, I can help as needed. I'll have to check with my current employer to see if I can actually contribute code (the licensing of MAME may be an issue, if it is too close to GPL). But I can at least explain what my code does and provide my understanding of the hardware and Kaypro code.

Regarding the co-processor add-on, I do have a version of CP/M-Plus that I ran on a hacked-up Kaypro 2X that could probably be ported to use the extra memory - unless that memory cannot be bank switched into the Z80 address space.

Let me know how I can help,
Doug

Page 6 of 10 1 2 4 5 6 7 8 9 10

Who's Online Now
1 registered members (Pernod), 179 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,722
Posts114,633
Members4,873
Most Online510
Aug 26th, 2019
Powered by UBB.threads™ PHP Forum Software 7.7.3