|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
|
|
|
|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
Rather hilarious commentary on state of technical manuals in 1980s (from a trade magazine in 1985), lightly edited google translation: It is known that some use microchips, others write books or articles about this process. In keeping with the fashion for various tests, I tried to compose a test for early detection of penchant for writing in this area. So, if you answer all the questions, you will surely know if you should write.
1. Is it necessary to know to which pins the power is connected to use the microchip? Required - 0 points, optional - 1 point. 2. Is it necessary to know its load capacity to use a logic chip, for example, a bus driver? How else? - 0 points. Somehow useless - 1 point. 3. If a chip with an open collector output has a maximum allowable voltage at this output of 6 V, can 15 V be applied to it? Of course not - 0 points. I applied and still works - 1 point. 4. Do you know how you can use the schematic diagram of an operational amplifier to apply it? It's impossible - 0 points. Why use them? - 1 point. 5. Which operational amplifier has higher slew rate of output voltage: the one for which it is 0.5 V / μs, or the one for which it was omitted? I wish I knew - 0 points. Is it so necessary to know? - 1 point. 6. Which RAM with a capacity of 1Kx1 is better for the user: with the organization 64x16 or 32x32? What's the difference? - 0 points. I know, but I won't tell anyone - 1 point. 7. Is it worth writing about how you managed to develop a microcomputer using KR580 chipset [MCS80 clone] without using the clock generator, system controller, interrupt controller? It's not literate - 0 points. And if the author did not have these chips in the cupboard - 1 point. 8. Should it be considered normal that for about half of the chips distributed centrally in 1986, there is no information in the corresponding reference books (for example, out of 44 types of operational amplifiers, there is information only about 18)? This is an outrage - 0 points. Let's wait another five years - 1 point.
If you got 0 points in total, you are probably an electronic equipment designer; if 8 points, you are a born author of literature on the use of microcircuits; if from 1 to 7 points, then you need to study a lot to become either a designer or a writer.
Last edited by shattered; 10/05/20 11:49 AM.
|
|
|
|
Joined: Jan 2021
Posts: 179 Likes: 10
Senior Member
|
Senior Member
Joined: Jan 2021
Posts: 179 Likes: 10 |
I own a defective Arton IK-51 music keyboard prototype made in USSR by Formanta (creators of the mythical Polivoks synth), which was their only instrument with digital sound, accompaniment and midi. The hardware contains 3 large PCBs (crowded like early 1980th arcade stuff). One of the eproms is corrupted, because they lost their stickers and so likely ate light. So it crashes after few key presses and the accompaniment is garbled.
I also own the Vermona SK-86 keyboard made in GDR, which contains Z80-based hardware with many logic ICs and analogue percussion. I dumped the eproms and even bought the original ultra-rare service manual of it, which (unlike the many Casio and Yamaha home keyboards) looks detailed enough to emulate the whole thing.
And I own a Weimar mantle clock made in GDR, which contains a bizarre monophonic digital beeping squarewave chime circuit made from many logic ICs and one eprom. One of the melodies (selectable by DIP-switch) may be a fragment of "Ein Jäger aus Kurpfalz). This also may have been a prototype, because I never saw another clock with this sound circuit nor found anything online about it.
Last edited by =CO=Windler; 01/20/21 04:13 AM.
MAY THE SOFTWARE BE WITH YOU!
{weltenschule.de}
|
|
|
|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
ec1842 WIP. This is almost a PC AT clone, sans second DMA chip and plus other funkiness (a modified 8086 clone plus an external MMU to support running software for 80286). Quite nice font, too: Technical manual for this machine hasn't surfaced yet, but here are some notes from a training course for service techs -- https://www.gleb.cz/ES1841/ES1841-Lections-FromSerg.zipThey do explain how the MMU works (second PDF, pages 27-31). POST uses it to test memory outside 640K range. There's also simpler memory banking hardware, driven via port 0x73 (same PDF, page 36). poisk2 is a XT clone with RTC (mc146818 clone), 640K or 2MB memory (with built-in EMS support). It's not as interesting as poisk1, but has a hardware workaround for bad memory chips -- address lines are routed via SRAM and POST uses this to exclude them from linear addressing. You could probably build a multitasking DOS around that
|
|
|
|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
Working on K1801VM1 CPU core. It implements "Limited EIS" instruction set; silicon revision "G" also supports MUL opcode and has built-in timer. Technical manual (reverse engineered from die shots) -- https://github.com/1801BM1/cpu11/raw/master/vm1/doc/1801vm1.pdfThis is a MS1201.01 SBC with that CPU, running modified PDP-11 BASIC from ROM, program loaded from paper tape:
|
|
|
|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
rt1715w WIP -- card games, using loadable chargen for graphics: cp/m syscall tracing script I've used while working on this driver:
bpset 5,1, { logerror "BDOS call %3d arg %04x\n", c, de; go }
bpset 5,c==0x00,{ logerror "BDOS call %3d arg %04x = P_TERMCPM\n", c, de; go }
bpset 5,c==0x01,{ logerror "BDOS call %3d arg %04x = C_READ\n", c, de; go }
bpset 5,c==0x02,{ logerror "BDOS call %3d arg %04x = C_WRITE '%c'\n", c, de, e; go }
bpset 5,c==0x03,{ logerror "BDOS call %3d arg %04x = A_READ\n", c, de; go }
bpset 5,c==0x04,{ logerror "BDOS call %3d arg %04x = A_WRITE '%c'\n", c, de, e; go }
bpset 5,c==0x05,{ logerror "BDOS call %3d arg %04x = L_WRITE '%c'\n", c, de, e; go }
bpset 5,c==0x06,{ logerror "BDOS call %3d arg %04x = C_RAWIO\n", c, de; go }
bpset 5,c==0x07,{ logerror "BDOS call %3d arg %04x = A_STATIN\n", c, de; go }
bpset 5,c==0x08,{ logerror "BDOS call %3d arg %04x = A_STATOUT\n", c, de; go }
bpset 5,c==0x09,{ logerror "BDOS call %3d arg %04x = C_WRITESTR\n", c, de; go }
bpset 5,c==0x0a,{ logerror "BDOS call %3d arg %04x = C_READSTR\n", c, de; go }
bpset 5,c==0x0b,{ logerror "BDOS call %3d arg %04x = C_STAT\n", c, de; go }
bpset 5,c==0x0c,{ logerror "BDOS call %3d arg %04x = S_BDOSVER\n", c, de; go }
bpset 5,c==0x0d,{ logerror "BDOS call %3d arg %04x = DRV_ALLRESET\n", c, de; go }
bpset 5,c==0x0e,{ logerror "BDOS call %3d arg %04x = DRV_SET drive %d\n", c, de, e; go }
bpset 5,c==0x0f,{ logerror "BDOS call %3d arg %04x = F_OPEN drive %d file '%c%c%c%c%c%c%c%c.%c%c%c'\n", c, de, b@(de), b@(de+1),b@(de+2),b@(de+3),b@(de+4),b@(de+5),b@(de+6),b@(de+7),b@(de+8),b@(de+9),b@(de+0xa),b@(de+0xb); go }
bpset 5,c==0x10,{ logerror "BDOS call %3d arg %04x = F_CLOSE\n", c, de; go }
bpset 5,c==0x11,{ logerror "BDOS call %3d arg %04x = F_SFIRST\n", c, de; go }
bpset 5,c==0x12,{ logerror "BDOS call %3d arg %04x = F_SNEXT\n", c, de; go }
bpset 5,c==0x13,{ logerror "BDOS call %3d arg %04x = F_DELETE drive %d file '%c%c%c%c%c%c%c%c.%c%c%c'\n", c, de, b@(de), b@(de+1),b@(de+2),b@(de+3),b@(de+4),b@(de+5),b@(de+6),b@(de+7),b@(de+8),b@(de+9),b@(de+0xa),b@(de+0xb); go }
bpset 5,c==0x14,{ logerror "BDOS call %3d arg %04x = F_READ drive %d file '%c%c%c%c%c%c%c%c.%c%c%c'\n", c, de, b@(de), b@(de+1),b@(de+2),b@(de+3),b@(de+4),b@(de+5),b@(de+6),b@(de+7),b@(de+8),b@(de+9),b@(de+0xa),b@(de+0xb); go }
bpset 5,c==0x15,{ logerror "BDOS call %3d arg %04x = F_WRITE drive %d file '%c%c%c%c%c%c%c%c.%c%c%c'\n", c, de, b@(de), b@(de+1),b@(de+2),b@(de+3),b@(de+4),b@(de+5),b@(de+6),b@(de+7),b@(de+8),b@(de+9),b@(de+0xa),b@(de+0xb); go }
bpset 5,c==0x16,{ logerror "BDOS call %3d arg %04x = F_MAKE drive %d file '%c%c%c%c%c%c%c%c.%c%c%c'\n", c, de, b@(de), b@(de+1),b@(de+2),b@(de+3),b@(de+4),b@(de+5),b@(de+6),b@(de+7),b@(de+8),b@(de+9),b@(de+0xa),b@(de+0xb); go }
bpset 5,c==0x17,{ logerror "BDOS call %3d arg %04x = F_RENAME\n", c, de; go }
bpset 5,c==0x18,{ logerror "BDOS call %3d arg %04x = DRV_LOGINVEC\n", c, de; go }
bpset 5,c==0x19,{ logerror "BDOS call %3d arg %04x = DRV_GET\n", c, de; go }
bpset 5,c==0x1a,{ logerror "BDOS call %3d arg %04x = F_DMAOFF\n", c, de; go }
bpset 5,c==0x1b,{ logerror "BDOS call %3d arg %04x = DRV_ALLOCVEC\n", c, de; go }
bpset 5,c==0x1c,{ logerror "BDOS call %3d arg %04x = DRV_SETRO\n", c, de; go }
bpset 5,c==0x1d,{ logerror "BDOS call %3d arg %04x = DRV_ROVEC\n", c, de; go }
bpset 5,c==0x1e,{ logerror "BDOS call %3d arg %04x = F_ATTRIB\n", c, de; go }
bpset 5,c==0x1f,{ logerror "BDOS call %3d arg %04x = DRV_DPB\n", c, de; go }
bpset 5,c==0x20,{ logerror "BDOS call %3d arg %04x = F_USERNUM\n", c, de; go }
bpset 5,c==0x2c,{ logerror "BDOS call %3d arg %04x = F_MULTISEC?\n", c, de; go }
bpset 5,c==0x2d,{ logerror "BDOS call %3d arg %04x = F_ERRMODE\n", c, de; go }
bpset 5,c==0x31,{ logerror "BDOS call %3d arg %04x = 'Access SCB'\n", c, de; go }
bpset 5,c==0x3b,{ logerror "BDOS call %3d arg %04x = P_LOAD drive %d file '%c%c%c%c%c%c%c%c.%c%c%c'\n", c, de, b@(de), b@(de+1),b@(de+2),b@(de+3),b@(de+4),b@(de+5),b@(de+6),b@(de+7),b@(de+8),b@(de+9),b@(de+0xa),b@(de+0xb); go }
bpset 5,c==0x3c,{ do temp1 = w@(de+2); logerror "BDOS call %3d arg %04x = 'Call RSX' func %d name '%c%c%c%c%c%c%c%c'\n", c, de, b@(de), b@(temp1),b@(temp1+1),b@(temp1+2),b@(temp1+3),b@(temp1+4),b@(temp1+5),b@(temp1+6),b@(temp1+7); go }
bpset 5,c==0x62,{ logerror "BDOS call %3d arg %04x = 'Clean up disc'\n", c, de; go }
bpset 5,c==0x63,{ logerror "BDOS call %3d arg %04x = F_TRUNCATE\n", c, de; go }
bpset 5,c==0x6c,{ logerror "BDOS call %3d arg %04x = P_CODE\n", c, de; go }
bpset 5,c==0x6d,{ logerror "BDOS call %3d arg %04x = C_MODE\n", c, de; go }
bpset 5,c==0x98,{ do temp1 = w@(de); logerror "BDOS call %3d arg %04x = F_PARSE name at %04x '%c%c%c%c%c%c%c%c%c%c%c%c%c'(...)\n", c, de, temp1, b@(temp1),b@(temp1+1),b@(temp1+2),b@(temp1+3),b@(temp1+4),b@(temp1+5),b@(temp1+6),b@(temp1+7),b@(temp1+8),b@(temp1+9),b@(temp1+0xa),b@(temp1+0xb),b@(temp1+0xc); go }
|
|
|
|
Joined: Mar 2001
Posts: 17,234 Likes: 259
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,234 Likes: 259 |
Neat. That script will work for pretty much any Z80 CP/M, right?
|
|
|
|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
Yep
It's not complete but easy enough to extend.
|
|
|
|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
Robotron A7150 WIP -- V7 UNIX boots to single user
|
2 members like this:
dxl, R. Belmont |
|
|
|
Joined: May 2012
Posts: 570 Likes: 12
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 570 Likes: 12 |
BK-0010 WIP -- ANDOS boots from floppy
|
|
|
1 members (1 invisible),
219
guests, and
1
robot. |
Key:
Admin,
Global Mod,
Mod
|
|
Forums9
Topics9,328
Posts122,128
Members5,074
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|