Updated PC8080 and PDPjs to support RAM images, eliminating the need for the old "writable ROM" kludge; RAM images can include their own load and exec addresses as part of the JSON file, but the RAM component can provide explicit overrides (if no load address is specified either way, the default load address is the starting RAM address)
This commit is contained in:
parent
4cfaa5ef6e
commit
980c2ac5ab
64 changed files with 1479 additions and 1154 deletions
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11 ROMs
|
||||
title: PDP-11 ROM Images
|
||||
permalink: /devices/pdp11/rom/
|
||||
---
|
||||
|
||||
PDP-11 ROMs
|
||||
-----------
|
||||
PDP-11 ROM Images
|
||||
-----------------
|
||||
|
||||
* [Test ROM](test/) (based on [BOOT.MAC](http://skn.noip.me/pdp11/boot.mac) written by [Paul Nankervis](mailto:paulnank@hotmail.com))
|
||||
Any ROM images added to the project will be stored here.
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11 Test ROM
|
||||
permalink: /devices/pdp11/rom/test/
|
||||
---
|
||||
|
||||
PDP-11 Test ROM
|
||||
---------------
|
||||
|
||||
This isn't a ROM so much as a read-only image that can be loaded in RAM by the ROM component.
|
||||
|
||||
[BOOT.MAC](boot.mac) was cross-assembled with [MACRO11](https://github.com/shattered/macro11) to produce [BOOT.LST](boot.lst),
|
||||
which was then processed by [FileDump](/modules/filedump/) to produce [BOOT.JSON](boot.json).
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
{"words":[
|
||||
0x0005 /*000005*/,0x0A1F /*005037*/,0xFFFE /*177776*/,0x15C6 /*012706*/,0xC000 /*140000*/,0x0A1F /*005037*/,0xFF74 /*177564*/,0x15C0 /*012700*/,
|
||||
0xC251 /*141121*/,0x09F7 /*004767*/,0x0052 /*000122*/,0x15DF /*012737*/,0xC054 /*140124*/,0x0040 /*000100*/,0x15DF /*012737*/,0x00E0 /*000340*/,
|
||||
0x0042 /*000102*/,0x55DF /*052737*/,0x0040 /*000100*/,0xFF66 /*177546*/,0x15C0 /*012700*/,0xC27B /*141173*/,0x09F7 /*004767*/,0x0038 /*000070*/,
|
||||
0xE5C6 /*162706*/,0x00AE /*000256*/,0x1180 /*010600*/,0x09F7 /*004767*/,0x006A /*000152*/,0x0A00 /*005000*/,0x0001 /*000001*/,0x0A80 /*005200*/,
|
||||
0x0BF7 /*005767*/,0x000C /*000014*/,0x03FB /*001773*/,0x15E6 /*012746*/,0x5800 /*054000*/,0x1DE6 /*016746*/,0x0002 /*000002*/,0x0002 /*000002*/,
|
||||
0x0000 /*000000*/,0x0000 /*000000*/,0x0AB7 /*005267*/,0xFFFA /*177772*/,0x0002 /*000002*/,0x8BDF /*105737*/,0xFF74 /*177564*/,0x80FD /*100375*/,
|
||||
0x901F /*110037*/,0xFF76 /*177566*/,0x0087 /*000207*/,0x0000 /*000000*/,0xB5DF /*132737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x02FC /*001374*/,
|
||||
0x1037 /*010067*/,0xFFF2 /*177762*/,0x15DF /*012737*/,0xC088 /*140210*/,0x0034 /*000064*/,0x15DF /*012737*/,0x0080 /*000200*/,0x0036 /*000066*/,
|
||||
0xD5DF /*152737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x0087 /*000207*/,0x8BFF /*105777*/,0xFFDA /*177732*/,0x0306 /*001406*/,0x9FDF /*117737*/,
|
||||
0xFFD4 /*177724*/,0xFF76 /*177566*/,0x0AB7 /*005267*/,0xFFCE /*177716*/,0x0002 /*000002*/,0x8A1F /*105037*/,0xFF74 /*177564*/,0x0002 /*000002*/,
|
||||
0x0000 /*000000*/,0x0000 /*000000*/,0x1037 /*010067*/,0xFFF8 /*177770*/,0x0A37 /*005067*/,0xFFF6 /*177766*/,0x15DF /*012737*/,0xC0C0 /*140300*/,
|
||||
0x0030 /*000060*/,0x15DF /*012737*/,0x0080 /*000200*/,0x0032 /*000062*/,0xD5DF /*152737*/,0x0040 /*000100*/,0xFF70 /*177560*/,0x0087 /*000207*/,
|
||||
0x1026 /*010046*/,0x97C0 /*113700*/,0xFF72 /*177562*/,0xA017 /*120027*/,0x000D /*000015*/,0x032D /*001455*/,0xA017 /*120027*/,0x007F /*000177*/,
|
||||
0x0303 /*001403*/,0xA017 /*120027*/,0x0008 /*000010*/,0x020A /*001012*/,0x0BF7 /*005767*/,0xFFC6 /*177706*/,0x0306 /*001406*/,0x0AF7 /*005367*/,
|
||||
0xFFC0 /*177700*/,0x15C0 /*012700*/,0xC21F /*141037*/,0x09F7 /*004767*/,0xFF7E /*177576*/,0x012B /*000453*/,0xA017 /*120027*/,0x0020 /*000040*/,
|
||||
0x0528 /*002450*/,0xA017 /*120027*/,0x007F /*000177*/,0x0425 /*002045*/,0x09F7 /*004767*/,0xFF5E /*177536*/,0xA017 /*120027*/,0x007A /*000172*/,
|
||||
0x0605 /*003005*/,0xA017 /*120027*/,0x0061 /*000141*/,0x0502 /*002402*/,0xC5C0 /*142700*/,0x0020 /*000040*/,0x2DD7 /*026727*/,0xFF92 /*177622*/,
|
||||
0x00AC /*000254*/,0x0417 /*002027*/,0x9026 /*110046*/,0x1DC0 /*016700*/,0xFF86 /*177606*/,0x6DC0 /*066700*/,0xFF84 /*177604*/,0x9588 /*112610*/,
|
||||
0x0AB7 /*005267*/,0xFF7E /*177576*/,0x010E /*000416*/,0x1DC0 /*016700*/,0xFF76 /*177566*/,0x6DC0 /*066700*/,0xFF74 /*177564*/,0x8A08 /*105010*/,
|
||||
0x15DF /*012737*/,0xC146 /*140506*/,0x00A0 /*000240*/,0x15DF /*012737*/,0x0040 /*000100*/,0x00A2 /*000242*/,0x15DF /*012737*/,0x0400 /*002000*/,
|
||||
0xFFFA /*177772*/,0x1580 /*012600*/,0x0002 /*000002*/,0x0A1F /*005037*/,0xFFFA /*177772*/,0x1026 /*010046*/,0x1066 /*010146*/,0x10A6 /*010246*/,
|
||||
0x10E6 /*010346*/,0x1126 /*010446*/,0x15C0 /*012700*/,0xC21C /*141034*/,0x09F7 /*004767*/,0xFF0C /*177414*/,0xB5DF /*132737*/,0x0040 /*000100*/,
|
||||
0xFF74 /*177564*/,0x02FC /*001374*/,0x0A04 /*005004*/,0x15C3 /*012703*/,0xC223 /*141043*/,0x94C0 /*112300*/,0x0319 /*001431*/,0x1DC2 /*016702*/,
|
||||
0xFF2E /*177456*/,0x9481 /*112201*/,0x0319 /*001431*/,0xA057 /*120127*/,0x0020 /*000040*/,0x03FB /*001773*/,0xA001 /*120001*/,0x0208 /*001010*/,
|
||||
0x94C0 /*112300*/,0x030A /*001412*/,0x9481 /*112201*/,0x0308 /*001410*/,0xA057 /*120127*/,0x0020 /*000040*/,0x02F7 /*001367*/,0x0104 /*000404*/,
|
||||
0x94C0 /*112300*/,0x02FE /*001376*/,0x0A84 /*005204*/,0x01E9 /*000751*/,0x0CC4 /*006304*/,0x09FC /*004774*/,0xC1C0 /*140700*/,0x0104 /*000404*/,
|
||||
0x15C0 /*012700*/,0xC23F /*141077*/,0x09F7 /*004767*/,0xFEC0 /*177300*/,0x0A37 /*005067*/,0xFEF6 /*177366*/,0x15C0 /*012700*/,0xC27B /*141173*/,
|
||||
0x09F7 /*004767*/,0xFEB4 /*177264*/,0x1584 /*012604*/,0x1583 /*012603*/,0x1582 /*012602*/,0x1581 /*012601*/,0x1580 /*012600*/,0x0002 /*000002*/,
|
||||
0xC43A /*142072*/,0xC2B6 /*141266*/,0xC2C2 /*141302*/,0xC306 /*141406*/,0xC2AC /*141254*/,0x4F43 /*047503*/,0x4D4D /*046515*/,0x4E41 /*047101*/,
|
||||
0x5344 /*051504*/,0x4120 /*040440*/,0x4552 /*042522*/,0x4220 /*041040*/,0x4F4F /*047517*/,0x2C54 /*026124*/,0x4820 /*044040*/,0x4C41 /*046101*/,
|
||||
0x2C54 /*026124*/,0x4C20 /*046040*/,0x4749 /*043511*/,0x5448 /*052110*/,0x2C53 /*026123*/,0x5420 /*052040*/,0x5345 /*051505*/,0x2054 /*020124*/,
|
||||
0x4E41 /*047101*/,0x2044 /*020104*/,0x4548 /*042510*/,0x504C /*050114*/,0x0A0D /*005015*/,0x4F42 /*047502*/,0x544F /*052117*/,0x4420 /*042040*/,
|
||||
0x5645 /*053105*/,0x4349 /*041511*/,0x5345 /*051505*/,0x4120 /*040440*/,0x4552 /*042522*/,0x5220 /*051040*/,0x3F4B /*037513*/,0x5220 /*051040*/,
|
||||
0x3F4C /*037514*/,0x4F20 /*047440*/,0x2052 /*020122*/,0x5052 /*050122*/,0x0D3F /*006477*/,0x000A /*000012*/,0x0A0D /*005015*/,0x0800 /*004000*/,
|
||||
0x0820 /*004040*/,0x4200 /*041000*/,0x4F4F /*047517*/,0x0054 /*000124*/,0x4148 /*040510*/,0x544C /*052114*/,0x5400 /*052000*/,0x5345 /*051505*/,
|
||||
0x0054 /*000124*/,0x494C /*044514*/,0x4847 /*044107*/,0x5354 /*051524*/,0x4800 /*044000*/,0x4C45 /*046105*/,0x0050 /*000120*/,0x5500 /*052400*/,
|
||||
0x4B4E /*045516*/,0x4F4E /*047516*/,0x4E57 /*047127*/,0x4320 /*041440*/,0x4D4F /*046517*/,0x414D /*040515*/,0x444E /*042116*/,0x0D0A /*006412*/,
|
||||
0x5000 /*050000*/,0x5541 /*052501*/,0x204C /*020114*/,0x414E /*040516*/,0x4B4E /*045516*/,0x5245 /*051105*/,0x4956 /*044526*/,0x2053 /*020123*/,
|
||||
0x202D /*020055*/,0x4150 /*040520*/,0x4C55 /*046125*/,0x414E /*040516*/,0x4B4E /*045516*/,0x4840 /*044100*/,0x544F /*052117*/,0x414D /*040515*/,
|
||||
0x4C49 /*046111*/,0x432E /*041456*/,0x4D4F /*046517*/,0x0D0A /*006412*/,0x0D0A /*006412*/,0x4200 /*041000*/,0x4F4F /*047517*/,0x3E54 /*037124*/,
|
||||
0x0020 /*000040*/,0x4E55 /*047125*/,0x4E4B /*047113*/,0x574F /*053517*/,0x204E /*020116*/,0x4F42 /*047502*/,0x544F /*052117*/,0x4420 /*042040*/,
|
||||
0x5645 /*053105*/,0x4349 /*041511*/,0x0A45 /*005105*/,0x000D /*000015*/,0x2020 /*020040*/,0x2020 /*020040*/,0x2020 /*020040*/,0x4C43 /*046103*/,
|
||||
0x434F /*041517*/,0x204B /*020113*/,0x4954 /*044524*/,0x4B43 /*045503*/,0x0A53 /*005123*/,0x000D /*000015*/,0x15C0 /*012700*/,0xC1CA /*140712*/,
|
||||
0x09F7 /*004767*/,0xFDB4 /*176664*/,0x0087 /*000207*/,0x0000 /*000000*/,0x15C0 /*012700*/,0xC21C /*141034*/,0x09F7 /*004767*/,0xFDA8 /*176650*/,
|
||||
0x0087 /*000207*/,0x0A37 /*005067*/,0xFD8C /*176614*/,0x15C5 /*012705*/,0x1A00 /*015000*/,0x115F /*010537*/,0xFF78 /*177570*/,0x1144 /*010504*/,
|
||||
0x0C84 /*006204*/,0x0A00 /*005000*/,0x1141 /*010501*/,0x7204 /*071004*/,0x1002 /*010002*/,0x7084 /*070204*/,0x60C1 /*060301*/,0x2045 /*020105*/,
|
||||
0x0301 /*001401*/,0x0000 /*000000*/,0x7F0A /*077412*/,0x7F4F /*077517*/,0x15C0 /*012700*/,0xC29D /*141235*/,0x1DC3 /*016703*/,0xFD62 /*176542*/,
|
||||
0x0A02 /*005002*/,0x7297 /*071227*/,0x0008 /*000010*/,0x65C3 /*062703*/,0x0030 /*000060*/,0x90E0 /*110340*/,0x1083 /*010203*/,0x02F8 /*001370*/,
|
||||
0x09F7 /*004767*/,0xFD64 /*176544*/,0x0087 /*000207*/,0x15C3 /*012703*/,0x7F06 /*077406*/,0x0A02 /*005002*/,0x0A01 /*005001*/,0x15C0 /*012700*/,
|
||||
0x0008 /*000010*/,0x10F1 /*010361*/,0xF4C0 /*172300*/,0x10B1 /*010261*/,0xF4E0 /*172340*/,0x10F1 /*010361*/,0xF4D0 /*172320*/,0x10B1 /*010261*/,
|
||||
0xF4F0 /*172360*/,0x10F1 /*010361*/,0xF480 /*172200*/,0x10B1 /*010261*/,0xF4A0 /*172240*/,0x10F1 /*010361*/,0xF490 /*172220*/,0x10B1 /*010261*/,
|
||||
0xF4B0 /*172260*/,0x10F1 /*010361*/,0xFF80 /*177600*/,0x10B1 /*010261*/,0xFFA0 /*177640*/,0x10F1 /*010361*/,0xFF90 /*177620*/,0x10F1 /*010361*/,
|
||||
0xFFB0 /*177660*/,0x65C2 /*062702*/,0x0080 /*000200*/,0x65C1 /*062701*/,0x0002 /*000002*/,0x7E1D /*077035*/,0x55DF /*052737*/,0xFC00 /*176000*/,
|
||||
0xF4FE /*172376*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xF4BE /*172276*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xFFBE /*177676*/,0x15DF /*012737*/,
|
||||
0x003F /*000077*/,0xF54E /*172516*/,0x15DF /*012737*/,0x0001 /*000001*/,0xFF7A /*177572*/,0x15DF /*012737*/,0x03C0 /*001700*/,0xF4A4 /*172244*/,
|
||||
0x15DF /*012737*/,0x03C0 /*001700*/,0xF4B4 /*172264*/,0x15DF /*012737*/,0x1000 /*010000*/,0xFFFE /*177776*/,0x15C3 /*012703*/,0x4080 /*040200*/,
|
||||
0x15C2 /*012702*/,0xC396 /*141626*/,0x14A6 /*012246*/,0x0D93 /*006623*/,0x2097 /*020227*/,0xC43A /*142072*/,0x87FB /*103773*/,0x15F7 /*012767*/,
|
||||
0x4080 /*040200*/,0xFCBC /*176274*/,0x0087 /*000207*/,0x15C0 /*012700*/,0x001F /*000037*/,0x15C1 /*012701*/,0xF800 /*174000*/,0x35DF /*032737*/,
|
||||
0x0001 /*000001*/,0xFF78 /*177570*/,0x030C /*001414*/,0x15C0 /*012700*/,0x0F0F /*007417*/,0x1001 /*010001*/,0x0A41 /*005101*/,0x35DF /*032737*/,
|
||||
0x0002 /*000002*/,0xFF78 /*177570*/,0x0304 /*001404*/,0x15C0 /*012700*/,0x3C73 /*036163*/,0x15C1 /*012701*/,0x3E00 /*037000*/,0x1042 /*010102*/,
|
||||
0xE5C2 /*162702*/,0x0002 /*000002*/,0x45C2 /*042702*/,0x0001 /*000001*/,0x1083 /*010203*/,0x45C3 /*042703*/,0xFFC1 /*177701*/,0x15F3 /*012763*/,
|
||||
0x0001 /*000001*/,0x4000 /*040000*/,0x65C3 /*062703*/,0x0002 /*000002*/,0x15F3 /*012763*/,0x004B /*000113*/,0x4000 /*040000*/,0x1084 /*010204*/,
|
||||
0x7517 /*072427*/,0xFFFA /*177772*/,0x45C4 /*042704*/,0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,0x1084 /*010204*/,
|
||||
0x7517 /*072427*/,0xFFF4 /*177764*/,0x45C4 /*042704*/,0xFFF1 /*177761*/,0x1174 /*010564*/,0xF4A0 /*172240*/,0x1043 /*010103*/,0x74D7 /*072327*/,
|
||||
0xFFF4 /*177764*/,0x45C3 /*042703*/,0xFFF1 /*177761*/,0x20C4 /*020304*/,0x030A /*001412*/,0x1044 /*010104*/,0x7517 /*072427*/,0xFFFA /*177772*/,
|
||||
0x45C4 /*042704*/,0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,0x1173 /*010563*/,0xF4A0 /*172240*/,0x15C4 /*012704*/,
|
||||
0x0003 /*000003*/,0x67C4 /*063704*/,0xFF78 /*177570*/,0x15C3 /*012703*/,0x0002 /*000002*/,0x61C3 /*060703*/,0x004A /*000112*/,0x7F02 /*077402*/,
|
||||
0x1002 /*010002*/,0x0C02 /*006002*/,0x0C41 /*006101*/,0x0C00 /*006000*/,0x01C2 /*000702*/,0x0A03 /*005003*/,0x9481 /*112201*/,0x0365 /*001545*/,
|
||||
0xA057 /*120127*/,0x0020 /*000040*/,0x03FB /*001773*/,0xA057 /*120127*/,0x0052 /*000122*/,0x0305 /*001405*/,0x15C0 /*012700*/,0xC282 /*141202*/,
|
||||
0x09F7 /*004767*/,0xFC14 /*176024*/,0x0087 /*000207*/,0x9481 /*112201*/,0x9480 /*112200*/,0x030E /*001416*/,0xA017 /*120027*/,0x0020 /*000040*/,
|
||||
0x030B /*001413*/,0xA017 /*120027*/,0x0037 /*000067*/,0x0619 /*003031*/,0xE5C0 /*162700*/,0x0030 /*000060*/,0x0516 /*002426*/,0x0CC3 /*006303*/,
|
||||
0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x5003 /*050003*/,0x01F0 /*000760*/,0x0A02 /*005002*/,0x15D2 /*012722*/,0x005F /*000137*/,0x15D2 /*012722*/,
|
||||
0xC000 /*140000*/,0x15D2 /*012722*/,0xC000 /*140000*/,0x0A12 /*005022*/,0xA057 /*120127*/,0x004B /*000113*/,0x033E /*001476*/,0xA057 /*120127*/,
|
||||
0x004C /*000114*/,0x0308 /*001410*/,0xA057 /*120127*/,0x0050 /*000120*/,0x034F /*001517*/,0x15C0 /*012700*/,0xC23F /*141077*/,0x09F7 /*004767*/,
|
||||
0xFBC6 /*175706*/,0x0087 /*000207*/,0x0005 /*000005*/,0x00C3 /*000303*/,0x15C1 /*012701*/,0xF900 /*174400*/,0x15F1 /*012761*/,0x000B /*000013*/,
|
||||
0x0004 /*000004*/,0x55C3 /*052703*/,0x0004 /*000004*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A03 /*105003*/,0x55C3 /*052703*/,
|
||||
0x0008 /*000010*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x1C42 /*016102*/,0x0006 /*000006*/,0x45C2 /*042702*/,0x003F /*000077*/,
|
||||
0x0A82 /*005202*/,0x10B1 /*010261*/,0x0004 /*000004*/,0x8A03 /*105003*/,0x55C3 /*052703*/,0x0006 /*000006*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,
|
||||
0x80FE /*100376*/,0x0A31 /*005061*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x15F1 /*012761*/,0xFE00 /*177000*/,0x0006 /*000006*/,
|
||||
0x8A03 /*105003*/,0x55C3 /*052703*/,0x000C /*000014*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x45C9 /*042711*/,0x00FF /*000377*/,
|
||||
0x0A02 /*005002*/,0x0A03 /*005003*/,0x0A04 /*005004*/,0x0A05 /*005005*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x00C3 /*000303*/,0x0CC3 /*006303*/,
|
||||
0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x15C1 /*012701*/,0xFF0A /*177412*/,0x10C9 /*010311*/,0x0A21 /*005041*/,
|
||||
0x15E1 /*012741*/,0xFE00 /*177000*/,0x15E1 /*012741*/,0x0005 /*000005*/,0x0A02 /*005002*/,0x0A03 /*005003*/,0x0A04 /*005004*/,0x0A05 /*005005*/,
|
||||
0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A09 /*105011*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x15C1 /*012701*/,0xFDC0 /*176700*/,0x15F1 /*012761*/,
|
||||
0x0020 /*000040*/,0x0008 /*000010*/,0x10F1 /*010361*/,0x0008 /*000010*/,0x15C9 /*012711*/,0x0011 /*000021*/,0x15F1 /*012761*/,0x1000 /*010000*/,
|
||||
0x001A /*000032*/,0x15F1 /*012761*/,0xFE00 /*177000*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x0A31 /*005061*/,0x0006 /*000006*/,
|
||||
0x0A31 /*005061*/,0x001C /*000034*/,0x15C9 /*012711*/,0x0039 /*000071*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A09 /*105011*/,0x10C0 /*010300*/,
|
||||
0x0A07 /*005007*/]
|
||||
}
|
||||
|
|
@ -1,538 +0,0 @@
|
|||
1 ; BOOT LOADER CODE
|
||||
2 ;
|
||||
3 ; REBASE HIGHER LINK/BOT:140000
|
||||
4 ; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
|
||||
5
|
||||
6 177776 PSW = 177776
|
||||
7 177564 DL11XCSR = 177564
|
||||
8 000064 DL11VEC = 64
|
||||
9
|
||||
10 177546 KW11LKS = 177546
|
||||
11 000100 KW11VEC = 100
|
||||
12
|
||||
13 .ASECT
|
||||
14 140000 .=140000
|
||||
15 140000 000005 START: RESET ; 140000
|
||||
16 140002 005037 177776 CLR @#PSW
|
||||
17 140006 012706 140000 MOV #START,SP
|
||||
18 140012 005037 177564 CLR @#DL11XCSR ; CLEAR THE XCSR
|
||||
19 140016 012700 141121 MOV #BANNER,R0
|
||||
20 140022 004767 140150' JSR PC,PRINT
|
||||
21 140026 012737 140124 000100 MOV #CLKAST,@#KW11VEC
|
||||
22 140034 012737 000340 000102 MOV #340,@#KW11VEC+2
|
||||
23 140042 052737 000100 177546 BIS #100,@#KW11LKS ; SET CLOCK TICKING
|
||||
24
|
||||
25 140050 012700 141173 MOV #PROMPT,R0
|
||||
26 140054 004767 140150' JSR PC,PRINT
|
||||
27 140060 162706 000256 SUB #256,SP
|
||||
28 140064 010600 MOV SP,R0
|
||||
29 140066 004767 140244' JSR PC,INPUT
|
||||
30 140072 005000 CLR R0
|
||||
31 140074 000001 1$: WAIT
|
||||
32 140076 005200 INC R0
|
||||
33 140100 005767 140120' TST LGHTON
|
||||
34 140104 001773 BEQ 1$
|
||||
35 140106 012746 054000 MOV #054000,-(SP) ; SUPER PRIORITY 0 ALT REG
|
||||
36 140112 016746 140120' MOV LGHTON,-(SP) ; CALL SUPER LOOP START
|
||||
37 140116 000002 RTI
|
||||
38
|
||||
39 140120 000000 LGHTON: .WORD 0
|
||||
40 140122 000000 CLKTIC: .WORD 0
|
||||
41
|
||||
42 CLKAST: ; 140124
|
||||
43 140124 005267 140122' INC CLKTIC
|
||||
44 140130 000002 RTI
|
||||
45
|
||||
46 ONECHR:
|
||||
47 140132 105737 177564 TSTB @#DL11XCSR ; 140132
|
||||
48 140136 100375 BPL ONECHR
|
||||
49 140140 110037 177566 MOVB R0,@#177566
|
||||
50 140144 000207 RTS PC
|
||||
51
|
||||
52 140146 000000 PRTPTR: .WORD 0 ; 140146
|
||||
53
|
||||
54 PRINT: ; 140150
|
||||
55 140150 132737 000100 177564 BITB #100,@#DL11XCSR
|
||||
56 140156 001374 BNE PRINT
|
||||
57 140160 010067 140146' MOV R0,PRTPTR
|
||||
58 140164 012737 140210 000064 MOV #PRTAST,@#DL11VEC
|
||||
59 140172 012737 000200 000066 MOV #200,@#DL11VEC+2
|
||||
60 140200 152737 000100 177564 BISB #100,@#DL11XCSR
|
||||
61 140206 000207 RTS PC
|
||||
62
|
||||
63 PRTAST: ; 140210
|
||||
64 140210 105777 140146' TSTB @PRTPTR
|
||||
65 140214 001406 BEQ 2$
|
||||
66 140216 117737 140146' 177566 MOVB @PRTPTR,@#177566
|
||||
67 140224 005267 140146' INC PRTPTR
|
||||
68 140230 000002 RTI
|
||||
69 140232 105037 177564 2$: CLRB @#177564
|
||||
70 140236 000002 RTI
|
||||
71
|
||||
72 140240 000000 BUFFER: .WORD 0 ; INPUT BUFFER POINTER
|
||||
73 140242 000000 LENGTH: .WORD 0 ; INPUT BUFFER LENGTH
|
||||
74
|
||||
75 INPUT:
|
||||
76 140244 010067 140240' MOV R0,BUFFER ; 140244
|
||||
77 140250 005067 140242' CLR LENGTH
|
||||
78 140254 012737 140300 000060 MOV #INPAST,@#60
|
||||
79 140262 012737 000200 000062 MOV #200,@#62
|
||||
80 140270 152737 000100 177560 BISB #100,@#177560
|
||||
81 140276 000207 RTS PC
|
||||
82
|
||||
83 INPAST: ; 140300
|
||||
84 140300 010046 MOV R0,-(SP)
|
||||
85 140302 113700 177562 MOVB @#177562,R0
|
||||
86 140306 120027 000015 CMPB R0,#15
|
||||
87 140312 001455 BEQ 7$ ; CARRIAGE RETURN
|
||||
88 140314 120027 000177 CMPB R0,#127.
|
||||
89 140320 001403 BEQ 2$ ; <DEL>
|
||||
90 140322 120027 000010 CMPB R0,#10
|
||||
91 140326 001012 BNE 4$ ; BACK SPACE
|
||||
92 140330 005767 140242' 2$: TST LENGTH ; DATA IN BUFFER?
|
||||
93 140334 001406 BEQ 3$
|
||||
94 140336 005367 140242' DEC LENGTH ; LENGTH
|
||||
95 140342 012700 141037 MOV #DEL,R0
|
||||
96 140346 004767 140150' JSR PC,PRINT
|
||||
97 140352 000453 3$: BR 9$
|
||||
98 140354 120027 000040 4$: CMPB R0,#40
|
||||
99 140360 002450 BLT 9$ ; BELOW SPACE
|
||||
100 140362 120027 000177 CMPB R0,#177
|
||||
101 140366 002045 BGE 9$ ; SKIP STUFF TOO BIG
|
||||
102 140370 004767 140132' JSR PC,ONECHR ; ECHO CHAR
|
||||
103 140374 120027 000172 CMPB R0,#172
|
||||
104 140400 003005 BGT 5$ ; ABOVE Z
|
||||
105 140402 120027 000141 CMPB R0,#141
|
||||
106 140406 002402 BLT 5$ ; BELOW A
|
||||
107 140410 142700 000040 BICB #40,R0 ; CONVERT TO UPPER CASE
|
||||
108 140414 026727 140242' 000254 5$: CMP LENGTH,#254
|
||||
109 140422 002027 BGE 9$
|
||||
110 140424 110046 MOVB R0,-(SP)
|
||||
111 140426 016700 140240' MOV BUFFER,R0
|
||||
112 140432 066700 140242' ADD LENGTH,R0
|
||||
113 140436 112610 MOVB (SP)+,(R0)
|
||||
114 140440 005267 140242' INC LENGTH
|
||||
115 140444 000416 BR 9$
|
||||
116
|
||||
117 140446 016700 140240' 7$: MOV BUFFER,R0
|
||||
118 140452 066700 140242' ADD LENGTH,R0
|
||||
119 140456 105010 CLRB (R0)
|
||||
120 140460 012737 140506 000240 MOV #CMD,@#240 ; CALL CMD AT PRIORITY 2
|
||||
121 140466 012737 000100 000242 MOV #100,@#242
|
||||
122 140474 012737 002000 177772 MOV #2000,@#177772
|
||||
123 140502 012600 9$: MOV (SP)+,R0
|
||||
124 140504 000002 RTI
|
||||
125
|
||||
126 CMD: ; 140506
|
||||
127 140506 005037 177772 CLR @#177772 ; NO MORE PIR CALLS
|
||||
128 140512 010046 MOV R0,-(SP)
|
||||
129 140514 010146 MOV R1,-(SP)
|
||||
130 140516 010246 MOV R2,-(SP)
|
||||
131 140520 010346 MOV R3,-(SP)
|
||||
132 140522 010446 MOV R4,-(SP)
|
||||
133 140524 012700 141034 MOV #EOL,R0
|
||||
134 140530 004767 140150' JSR PC,PRINT
|
||||
135 140534 132737 000100 177564 1$: BITB #100,@#177564
|
||||
136 140542 001374 BNE 1$
|
||||
137 140544 005004 CLR R4
|
||||
138 140546 012703 141043 MOV #CMDLST,R3 ; CMD LIST
|
||||
139 140552 112300 3$: MOVB (R3)+,R0
|
||||
140 140554 001431 BEQ 13$
|
||||
141 140556 016702 140240' MOV BUFFER,R2 ; USER CMD
|
||||
142 140562 112201 4$: MOVB (R2)+,R1
|
||||
143 140564 001431 BEQ 15$ ; NULL COMMAND?
|
||||
144 140566 120127 000040 CMPB R1,#40
|
||||
145 140572 001773 BEQ 4$ ; SKIP SPACE
|
||||
146 140574 120001 5$: CMPB R0,R1
|
||||
147 140576 001010 BNE 7$
|
||||
148 140600 112300 MOVB (R3)+,R0
|
||||
149 140602 001412 BEQ 9$
|
||||
150 140604 112201 MOVB (R2)+,R1
|
||||
151 140606 001410 BEQ 9$
|
||||
152 140610 120127 000040 CMPB R1,#40
|
||||
153 140614 001367 BNE 5$
|
||||
154 140616 000404 BR 9$
|
||||
155 140620 112300 7$: MOVB (R3)+,R0
|
||||
156 140622 001376 BNE 7$
|
||||
157 140624 005204 INC R4
|
||||
158 140626 000751 BR 3$
|
||||
159 140630 006304 9$: ASL R4
|
||||
160 140632 004774 140700 JSR PC,@CMDTBL(R4) ; EXECUTE
|
||||
161 140636 000404 BR 15$
|
||||
162
|
||||
163 140640 012700 141077 13$: MOV #UNKMSG,R0
|
||||
164 140644 004767 140150' JSR PC,PRINT
|
||||
165
|
||||
166 140650 005067 140242' 15$: CLR LENGTH
|
||||
167 140654 012700 141173 MOV #PROMPT,R0
|
||||
168 140660 004767 140150' JSR PC,PRINT
|
||||
169 140664 012604 MOV (SP)+,R4
|
||||
170 140666 012603 MOV (SP)+,R3
|
||||
171 140670 012602 MOV (SP)+,R2
|
||||
172 140672 012601 MOV (SP)+,R1
|
||||
173 140674 012600 MOV (SP)+,R0
|
||||
174 140676 000002 RTI
|
||||
175
|
||||
176
|
||||
177 140700 142072 141266 141302 CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP
|
||||
140706 141406 141254
|
||||
178 140712 103 117 115 HLPMSG: .ASCIZ 'COMMANDS ARE BOOT, HALT, LIGHTS, TEST AND HELP'<15><12>'BOOT DEVICES ARE RK? RL? OR RP?'<15><12>
|
||||
140715 115 101 116
|
||||
140720 104 123 040
|
||||
140723 101 122 105
|
||||
140726 040 102 117
|
||||
140731 117 124 054
|
||||
140734 040 110 101
|
||||
140737 114 124 054
|
||||
140742 040 114 111
|
||||
140745 107 110 124
|
||||
140750 123 054 040
|
||||
140753 124 105 123
|
||||
140756 124 040 101
|
||||
140761 116 104 040
|
||||
140764 110 105 114
|
||||
140767 120 015 012
|
||||
140772 102 117 117
|
||||
140775 124 040 104
|
||||
141000 105 126 111
|
||||
141003 103 105 123
|
||||
141006 040 101 122
|
||||
141011 105 040 122
|
||||
141014 113 077 040
|
||||
141017 122 114 077
|
||||
141022 040 117 122
|
||||
141025 040 122 120
|
||||
141030 077 015 012
|
||||
141033 000
|
||||
179 141034 015 012 000 EOL: .BYTE 15,12,0
|
||||
180 141037 010 040 010 DEL: .BYTE 10,40,10,0
|
||||
141042 000
|
||||
181 141043 102 117 117 CMDLST: .ASCIZ 'BOOT'
|
||||
141046 124 000
|
||||
182 141050 110 101 114 .ASCIZ 'HALT'
|
||||
141053 124 000
|
||||
183 141055 124 105 123 .ASCIZ 'TEST'
|
||||
141060 124 000
|
||||
184 141062 114 111 107 .ASCIZ 'LIGHTS'
|
||||
141065 110 124 123
|
||||
141070 000
|
||||
185 141071 110 105 114 .ASCIZ 'HELP'
|
||||
141074 120 000
|
||||
186 141076 000 .BYTE 0
|
||||
187 141077 125 116 113 UNKMSG: .ASCIZ 'UNKNOWN COMMAND'<12><15>
|
||||
141102 116 117 127
|
||||
141105 116 040 103
|
||||
141110 117 115 115
|
||||
141113 101 116 104
|
||||
141116 012 015 000
|
||||
188 141121 120 101 125 BANNER: .ASCIZ 'PAUL NANKERVIS - PAULNANK@HOTMAIL.COM'<12><15><12><15>
|
||||
141124 114 040 116
|
||||
141127 101 116 113
|
||||
141132 105 122 126
|
||||
141135 111 123 040
|
||||
141140 055 040 120
|
||||
141143 101 125 114
|
||||
141146 116 101 116
|
||||
141151 113 100 110
|
||||
141154 117 124 115
|
||||
141157 101 111 114
|
||||
141162 056 103 117
|
||||
141165 115 012 015
|
||||
141170 012 015 000
|
||||
189 141173 102 117 117 PROMPT: .ASCIZ 'BOOT> '
|
||||
141176 124 076 040
|
||||
141201 000
|
||||
190 141202 125 116 113 BADBOO: .ASCIZ 'UNKNOWN BOOT DEVICE'<12><15>
|
||||
141205 116 117 127
|
||||
141210 116 040 102
|
||||
141213 117 117 124
|
||||
141216 040 104 105
|
||||
141221 126 111 103
|
||||
141224 105 012 015
|
||||
141227 000
|
||||
191 141230 040 040 040 PERMSG: .ASCIZ ' CLOCK TICKS'<12><15>
|
||||
141233 040 040 040
|
||||
141236 103 114 117
|
||||
141241 103 113 040
|
||||
141244 124 111 103
|
||||
141247 113 123 012
|
||||
141252 015 000
|
||||
192
|
||||
193 .EVEN
|
||||
194
|
||||
195 HELP: ; 141244
|
||||
196 141254 012700 140712 MOV #HLPMSG,R0
|
||||
197 141260 004767 140150' JSR PC,PRINT
|
||||
198 141264 000207 RTS PC
|
||||
199
|
||||
200 HALT: ; 141260
|
||||
201 141266 000000 HALT
|
||||
202 141270 012700 141034 MOV #EOL,R0
|
||||
203 141274 004767 140150' JSR PC,PRINT
|
||||
204 141300 000207 RTS PC
|
||||
205
|
||||
206 TEST: ; 141272
|
||||
207 141302 005067 140122' CLR CLKTIC
|
||||
208
|
||||
209 141306 012705 015000 MOV #15000,R5
|
||||
210 141312 010537 177570 10$: MOV R5,@#177570 ; DISPLAY
|
||||
211 141316 010504 MOV R5,R4
|
||||
212 141320 006204 ASR R4
|
||||
213 141322 005000 15$: CLR R0
|
||||
214 141324 010501 MOV R5,R1
|
||||
215 141326 071004 DIV R4,R0
|
||||
216 141330 010002 MOV R0,R2
|
||||
217 141332 070204 MUL R4,R2
|
||||
218 141334 060301 ADD R3,R1
|
||||
219 141336 020105 CMP R1,R5
|
||||
220 141340 001401 BEQ 20$
|
||||
221 141342 000000 HALT
|
||||
222 141344 077412 20$: SOB R4,15$
|
||||
223 141346 077517 SOB R5,10$
|
||||
224
|
||||
225 141350 012700 141235 MOV #PERMSG+5,R0
|
||||
226 141354 016703 140122' MOV CLKTIC,R3
|
||||
227
|
||||
228 141360 005002 25$: CLR R2 ; 141350
|
||||
229 141362 071227 000010 DIV #10,R2
|
||||
230 141366 062703 000060 ADD #'0,R3
|
||||
231 141372 110340 MOVB R3,-(R0)
|
||||
232 141374 010203 MOV R2,R3
|
||||
233 141376 001370 BNE 25$
|
||||
234
|
||||
235 141400 004767 140150' JSR PC,PRINT
|
||||
236 141404 000207 RTS PC
|
||||
237
|
||||
238
|
||||
239 177572 MMR0=177572
|
||||
240 177574 MMR1=177574
|
||||
241 177576 MMR2=177576
|
||||
242 172516 MMR3=172516
|
||||
243
|
||||
244 LIGHTS: ; 141376
|
||||
245 141406 012703 077406 MOV #77406,R3 ; DEFAULT PDR
|
||||
246 141412 005002 CLR R2
|
||||
247 141414 005001 CLR R1
|
||||
248 141416 012700 000010 MOV #8.,R0
|
||||
249 141422 010361 172300 1$: MOV R3,172300(R1) ; KERNEL I PDR
|
||||
250 141426 010261 172340 MOV R2,172340(R1) ; KERNEL I PAR
|
||||
251 141432 010361 172320 MOV R3,172320(R1) ; KERNEL D PDR
|
||||
252 141436 010261 172360 MOV R2,172360(R1) ; KERNEL D PAR
|
||||
253 141442 010361 172200 MOV R3,172200(R1) ; SUPER I PDR
|
||||
254 141446 010261 172240 MOV R2,172240(R1) ; SUPER I PAR
|
||||
255 141452 010361 172220 MOV R3,172220(R1) ; SUPER D PDR
|
||||
256 141456 010261 172260 MOV R2,172260(R1) ; SUPER D PAR
|
||||
257 141462 010361 177600 MOV R3,177600(R1) ; USER I PDR
|
||||
258 141466 010261 177640 MOV R2,177640(R1) ; USER I PAR
|
||||
259 141472 010361 177620 MOV R3,177620(R1) ; USER D PDR
|
||||
260 141476 010361 177660 MOV R3,177660(R1) ; USER D PAR
|
||||
261 141502 062702 000200 ADD #200,R2
|
||||
262 141506 062701 000002 ADD #2,R1
|
||||
263 141512 077035 SOB R0,1$
|
||||
264 141514 052737 176000 172376 BIS #176000,@#172376 ; KERNEL D POINTS TO I/O SPACE
|
||||
265 141522 052737 176000 172276 BIS #176000,@#172276 ; SUPER D POINTS TO I/O SPACE
|
||||
266 141530 052737 176000 177676 BIS #176000,@#177676 ; USER D POINTS TO I/O SPACE
|
||||
267 141536 012737 000077 172516 MOV #77,@#MMR3 ; 77 FOR 22 BIT
|
||||
268 141544 012737 000001 177572 MOV #1,@#MMR0
|
||||
269
|
||||
270 141552 012737 001700 172244 MOV #1700,@#172244 ; BASE SUPER I (PAR 2) #40000 AT #170000
|
||||
271 141560 012737 001700 172264 MOV #1700,@#172264 ; BASE SUPER D (PAR 2) #40000 AT #170000
|
||||
272 141566 012737 010000 177776 MOV #010000,@#177776 ; SET PM TO SUPER
|
||||
273
|
||||
274 141574 012703 040200 MOV #40200,R3 ; SUPER CODE ADDRESS
|
||||
275 141600 012702 141626 MOV #SUPERS,R2 ; ADDRESS SUPER CODE
|
||||
276 141604 012246 10$: MOV (R2)+,-(SP)
|
||||
277 141606 006623 MTPI (R3)+
|
||||
278 141610 020227 142072 CMP R2,#SUPERE
|
||||
279 141614 103773 BLO 10$
|
||||
280
|
||||
281 141616 012767 040200 140120' MOV #40200,LGHTON ; CHANGE IDLE TASK
|
||||
282 141624 000207 RTS PC
|
||||
283
|
||||
284 ;
|
||||
285 ; TO BE COPIED TO SUPER #40200 AT PHYSICAL #170000
|
||||
286 ; #40000 TO #40200 FOR WAIT & JMP INSTRUCTIONS
|
||||
287 ;
|
||||
288 SUPERS: ; 141616
|
||||
289 141626 012700 000037 MOV #37,R0 ; LOAD PATTERN
|
||||
290 141632 012701 174000 MOV #174000,R1
|
||||
291 141636 032737 000001 177570 BIT #1,@#177570
|
||||
292 141644 001414 BEQ 10$
|
||||
293 141646 012700 007417 MOV #7417,R0
|
||||
294 141652 010001 MOV R0,R1
|
||||
295 141654 005101 COM R1
|
||||
296 141656 032737 000002 177570 BIT #2,@#177570
|
||||
297 141664 001404 BEQ 10$
|
||||
298 141666 012700 036163 MOV #36163,R0
|
||||
299 141672 012701 037000 MOV #37000,R1
|
||||
300 141676 010102 10$: MOV R1,R2
|
||||
301 141700 162702 000002 SUB #2,R2
|
||||
302 141704 042702 000001 BIC #1,R2 ; WAIT ADDRESS
|
||||
303 141710 010203 MOV R2,R3
|
||||
304 141712 042703 177701 BIC #177701,R3 ; ADDRESS OFFSET
|
||||
305 141716 012763 000001 040000 MOV #0000001,40000(R3) ; WRITE WAIT
|
||||
306 141724 062703 000002 ADD #2,R3
|
||||
307 141730 012763 000113 040000 MOV #0000113,40000(R3) ; WRITE JMP (R3)
|
||||
308
|
||||
309 141736 010204 MOV R2,R4
|
||||
310 141740 072427 177772 ASH #-6,R4
|
||||
311 141744 042704 177600 BIC #177600,R4
|
||||
312 141750 012705 001700 MOV #1700,R5
|
||||
313 141754 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR WAIT
|
||||
314 141756 010204 MOV R2,R4
|
||||
315 141760 072427 177764 ASH #-12.,R4
|
||||
316 141764 042704 177761 BIC #177761,R4 ; PAR SELECT OFFSET
|
||||
317 141770 010564 172240 MOV R5,172240(R4) ; SUPER I SPACE
|
||||
318
|
||||
319 141774 010103 MOV R1,R3
|
||||
320 141776 072327 177764 ASH #-12.,R3
|
||||
321 142002 042703 177761 BIC #177761,R3 ; PAR SELECT OFFSET
|
||||
322 142006 020304 CMP R3,R4 ; SAME PAR
|
||||
323 142010 001412 BEQ 30$
|
||||
324 142012 010104 MOV R1,R4
|
||||
325 142014 072427 177772 ASH #-6,R4
|
||||
326 142020 042704 177600 BIC #177600,R4
|
||||
327 142024 012705 001700 MOV #1700,R5
|
||||
328 142030 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR JMP
|
||||
329 142032 010563 172240 MOV R5,172240(R3) ; SUPER I SPACE
|
||||
330 30$:
|
||||
331 142036 012704 000003 MOV #3,R4
|
||||
332 142042 063704 177570 ADD @#177570,R4
|
||||
333 142046 012703 000002 MOV #2,R3
|
||||
334 142052 060703 ADD PC,R3
|
||||
335 142054 000112 40$: JMP (R2)
|
||||
336 142056 077402 SOB R4,40$
|
||||
337 142060 010002 MOV R0,R2
|
||||
338 142062 006002 ROR R2 ; ROTATE PATTERN
|
||||
339 142064 006101 ROL R1
|
||||
340 142066 006000 ROR R0
|
||||
341 142070 000702 BR 10$
|
||||
342 SUPERE:
|
||||
343
|
||||
344 BOOT: ; 142062
|
||||
345 142072 005003 CLR R3 ; UNIT
|
||||
346 142074 112201 1$: MOVB (R2)+,R1
|
||||
347 142076 001545 BEQ BOOTRK ; DEFAULT DEVICE IS RK0
|
||||
348 142100 120127 000040 CMPB R1,#40
|
||||
349 142104 001773 BEQ 1$
|
||||
350 142106 120127 000122 CMPB R1,#'R
|
||||
351 142112 001405 BEQ 5$
|
||||
352
|
||||
353 142114 012700 141202 MOV #BADBOO,R0
|
||||
354 142120 004767 140150' JSR PC,PRINT
|
||||
355 142124 000207 RTS PC
|
||||
356
|
||||
357 142126 112201 5$: MOVB (R2)+,R1 ; HOPEFULLY K, L OR P
|
||||
358 142130 112200 7$: MOVB (R2)+,R0 ; DIGIT
|
||||
359 142132 001416 BEQ 9$
|
||||
360 142134 120027 000040 CMPB R0,#40
|
||||
361 142140 001413 BEQ 9$
|
||||
362 142142 120027 000067 CMPB R0,#'7
|
||||
363 142146 003031 BGT 11$
|
||||
364 142150 162700 000060 SUB #'0,R0
|
||||
365 142154 002426 BLT 11$
|
||||
366 142156 006303 ASL R3
|
||||
367 142160 006303 ASL R3
|
||||
368 142162 006303 ASL R3
|
||||
369 142164 050003 BIS R0,R3 ; PUT DIGIT INTO UNIT
|
||||
370 142166 000760 BR 7$
|
||||
371 142170 005002 9$: CLR R2
|
||||
372 142172 012722 000137 MOV #137,(R2)+
|
||||
373 142176 012722 140000 MOV #START,(R2)+
|
||||
374 142202 012722 140000 MOV #START,(R2)+
|
||||
375 142206 005022 CLR (R2)+
|
||||
376 142210 120127 000113 CMPB R1,#'K
|
||||
377 142214 001476 BEQ BOOTRK
|
||||
378 142216 120127 000114 CMPB R1,#'L
|
||||
379 142222 001410 BEQ BOOTRL
|
||||
380 142224 120127 000120 CMPB R1,#'P
|
||||
381 142230 001517 BEQ BOOTRP
|
||||
382
|
||||
383 142232 012700 141077 11$: MOV #UNKMSG,R0
|
||||
384 142236 004767 140150' JSR PC,PRINT
|
||||
385 142242 000207 RTS PC
|
||||
386
|
||||
387 174400 RLCS=174400
|
||||
388 BOOTRL: ; 142234
|
||||
389 142244 000005 RESET
|
||||
390 142246 000303 SWAB R3 ; UNIT NUMBER
|
||||
391 142250 012701 174400 MOV #RLCS,R1 ; CSR
|
||||
392 142254 012761 000013 000004 MOV #13,4(R1) ; CLR ERR
|
||||
393 142262 052703 000004 BIS #4,R3 ; UNIT+GSTAT
|
||||
394 142266 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
395 142270 105711 TSTB (R1) ; WAIT
|
||||
396 142272 100376 BPL .-2
|
||||
397 142274 105003 CLRB R3
|
||||
398 142276 052703 000010 BIS #10,R3 ; UNIT+RDHDR
|
||||
399 142302 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
400 142304 105711 TSTB (R1) ; WAIT
|
||||
401 142306 100376 BPL .-2
|
||||
402 142310 016102 000006 MOV 6(R1),R2 ; GET HDR
|
||||
403 142314 042702 000077 BIC #77,R2 ; CLR SECTOR
|
||||
404 142320 005202 INC R2 ; MAGIC BIT
|
||||
405 142322 010261 000004 MOV R2,4(R1) ; SEEK TO 0
|
||||
406 142326 105003 CLRB R3
|
||||
407 142330 052703 000006 BIS #6,R3 ; UNIT+SEEK
|
||||
408 142334 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
409 142336 105711 TSTB (R1) ; WAIT
|
||||
410 142340 100376 BPL .-2
|
||||
411 142342 005061 000002 CLR 2(R1) ; CLR BA
|
||||
412 142346 005061 000004 CLR 4(R1) ; CLR DA
|
||||
413 142352 012761 177000 000006 MOV #-512.,6(R1) ; SET WC
|
||||
414 142360 105003 CLRB R3
|
||||
415 142362 052703 000014 BIS #14,R3 ; UNIT+READ
|
||||
416 142366 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
417 142370 105711 TSTB (R1) ; WAIT
|
||||
418 142372 100376 BPL .-2
|
||||
419 142374 042711 000377 BIC #377,(R1)
|
||||
420 142400 005002 CLR R2
|
||||
421 142402 005003 CLR R3
|
||||
422 142404 005004 CLR R4
|
||||
423 142406 005005 CLR R5
|
||||
424 142410 005007 CLR PC
|
||||
425
|
||||
426 177412 RKDA=177412
|
||||
427 000005 READGO=5
|
||||
428 BOOTRK:
|
||||
429 142412 000005 RESET ; 142402
|
||||
430 142414 000303 SWAB R3 ; UNIT NUMBER
|
||||
431 142416 006303 ASL R3
|
||||
432 142420 006303 ASL R3
|
||||
433 142422 006303 ASL R3
|
||||
434 142424 006303 ASL R3
|
||||
435 142426 006303 ASL R3
|
||||
436 142430 012701 177412 MOV #RKDA,R1 ; CSR
|
||||
437 142434 010311 MOV R3,(R1) ; LOAD DA
|
||||
438 142436 005041 CLR -(R1) ; CLEAR BA
|
||||
439 142440 012741 177000 MOV #-256.*2,-(R1) ; LOAD WC
|
||||
440 142444 012741 000005 MOV #READGO,-(R1) ; READ & GO
|
||||
441 142450 005002 CLR R2
|
||||
442 142452 005003 CLR R3
|
||||
443 142454 005004 CLR R4
|
||||
444 142456 005005 CLR R5
|
||||
445 142460 105711 TSTB (R1)
|
||||
446 142462 100376 BPL .-2
|
||||
447 142464 105011 CLRB (R1)
|
||||
448 142466 005007 CLR PC
|
||||
449
|
||||
450 176700 RPCSR=0176700
|
||||
451 BOOTRP: ; 142460
|
||||
452 142470 000005 RESET
|
||||
453 142472 012701 176700 MOV #RPCSR, R1
|
||||
454 142476 012761 000040 000010 MOV #0000040, 10(R1) ; RESET
|
||||
455 142504 010361 000010 MOV R3, 10(R1) ; SET UNIT
|
||||
456 142510 012711 000021 MOV #0000021, (R1) ; PACK ACK
|
||||
457 142514 012761 010000 000032 MOV #0010000, 32(R1) ; 16B MODE
|
||||
458 142522 012761 177000 000002 MOV #-512., 2(R1) ; SET WC
|
||||
459 142530 005061 000004 CLR 4(R1) ; CLR BA
|
||||
460 142534 005061 000006 CLR 6(R1) ; CLR DA
|
||||
461 142540 005061 000034 CLR 34(R1) ; CLR CYL
|
||||
462 142544 012711 000071 MOV #0000071, (R1) ; READ
|
||||
463 142550 105711 TSTB (R1) ; WAIT
|
||||
464 142552 100376 BPL .-2
|
||||
465 142554 105011 CLRB (R1)
|
||||
466 142556 010300 MOV R3,R0
|
||||
467 142560 005007 CLR PC
|
||||
468
|
||||
469 .END START
|
||||
469
|
||||
|
|
@ -1,469 +0,0 @@
|
|||
; BOOT LOADER CODE
|
||||
;
|
||||
; REBASE HIGHER LINK/BOT:140000
|
||||
; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
|
||||
|
||||
PSW = 177776
|
||||
DL11XCSR = 177564
|
||||
DL11VEC = 64
|
||||
|
||||
KW11LKS = 177546
|
||||
KW11VEC = 100
|
||||
|
||||
.ASECT
|
||||
.=140000
|
||||
START: RESET ; 140000
|
||||
CLR @#PSW
|
||||
MOV #START,SP
|
||||
CLR @#DL11XCSR ; CLEAR THE XCSR
|
||||
MOV #BANNER,R0
|
||||
JSR PC,PRINT
|
||||
MOV #CLKAST,@#KW11VEC
|
||||
MOV #340,@#KW11VEC+2
|
||||
BIS #100,@#KW11LKS ; SET CLOCK TICKING
|
||||
|
||||
MOV #PROMPT,R0
|
||||
JSR PC,PRINT
|
||||
SUB #256,SP
|
||||
MOV SP,R0
|
||||
JSR PC,INPUT
|
||||
CLR R0
|
||||
1$: WAIT
|
||||
INC R0
|
||||
TST LGHTON
|
||||
BEQ 1$
|
||||
MOV #054000,-(SP) ; SUPER PRIORITY 0 ALT REG
|
||||
MOV LGHTON,-(SP) ; CALL SUPER LOOP START
|
||||
RTI
|
||||
|
||||
LGHTON: .WORD 0
|
||||
CLKTIC: .WORD 0
|
||||
|
||||
CLKAST: ; 140124
|
||||
INC CLKTIC
|
||||
RTI
|
||||
|
||||
ONECHR:
|
||||
TSTB @#DL11XCSR ; 140132
|
||||
BPL ONECHR
|
||||
MOVB R0,@#177566
|
||||
RTS PC
|
||||
|
||||
PRTPTR: .WORD 0 ; 140146
|
||||
|
||||
PRINT: ; 140150
|
||||
BITB #100,@#DL11XCSR
|
||||
BNE PRINT
|
||||
MOV R0,PRTPTR
|
||||
MOV #PRTAST,@#DL11VEC
|
||||
MOV #200,@#DL11VEC+2
|
||||
BISB #100,@#DL11XCSR
|
||||
RTS PC
|
||||
|
||||
PRTAST: ; 140210
|
||||
TSTB @PRTPTR
|
||||
BEQ 2$
|
||||
MOVB @PRTPTR,@#177566
|
||||
INC PRTPTR
|
||||
RTI
|
||||
2$: CLRB @#177564
|
||||
RTI
|
||||
|
||||
BUFFER: .WORD 0 ; INPUT BUFFER POINTER
|
||||
LENGTH: .WORD 0 ; INPUT BUFFER LENGTH
|
||||
|
||||
INPUT:
|
||||
MOV R0,BUFFER ; 140244
|
||||
CLR LENGTH
|
||||
MOV #INPAST,@#60
|
||||
MOV #200,@#62
|
||||
BISB #100,@#177560
|
||||
RTS PC
|
||||
|
||||
INPAST: ; 140300
|
||||
MOV R0,-(SP)
|
||||
MOVB @#177562,R0
|
||||
CMPB R0,#15
|
||||
BEQ 7$ ; CARRIAGE RETURN
|
||||
CMPB R0,#127.
|
||||
BEQ 2$ ; <DEL>
|
||||
CMPB R0,#10
|
||||
BNE 4$ ; BACK SPACE
|
||||
2$: TST LENGTH ; DATA IN BUFFER?
|
||||
BEQ 3$
|
||||
DEC LENGTH ; LENGTH
|
||||
MOV #DEL,R0
|
||||
JSR PC,PRINT
|
||||
3$: BR 9$
|
||||
4$: CMPB R0,#40
|
||||
BLT 9$ ; BELOW SPACE
|
||||
CMPB R0,#177
|
||||
BGE 9$ ; SKIP STUFF TOO BIG
|
||||
JSR PC,ONECHR ; ECHO CHAR
|
||||
CMPB R0,#172
|
||||
BGT 5$ ; ABOVE Z
|
||||
CMPB R0,#141
|
||||
BLT 5$ ; BELOW A
|
||||
BICB #40,R0 ; CONVERT TO UPPER CASE
|
||||
5$: CMP LENGTH,#254
|
||||
BGE 9$
|
||||
MOVB R0,-(SP)
|
||||
MOV BUFFER,R0
|
||||
ADD LENGTH,R0
|
||||
MOVB (SP)+,(R0)
|
||||
INC LENGTH
|
||||
BR 9$
|
||||
|
||||
7$: MOV BUFFER,R0
|
||||
ADD LENGTH,R0
|
||||
CLRB (R0)
|
||||
MOV #CMD,@#240 ; CALL CMD AT PRIORITY 2
|
||||
MOV #100,@#242
|
||||
MOV #2000,@#177772
|
||||
9$: MOV (SP)+,R0
|
||||
RTI
|
||||
|
||||
CMD: ; 140506
|
||||
CLR @#177772 ; NO MORE PIR CALLS
|
||||
MOV R0,-(SP)
|
||||
MOV R1,-(SP)
|
||||
MOV R2,-(SP)
|
||||
MOV R3,-(SP)
|
||||
MOV R4,-(SP)
|
||||
MOV #EOL,R0
|
||||
JSR PC,PRINT
|
||||
1$: BITB #100,@#177564
|
||||
BNE 1$
|
||||
CLR R4
|
||||
MOV #CMDLST,R3 ; CMD LIST
|
||||
3$: MOVB (R3)+,R0
|
||||
BEQ 13$
|
||||
MOV BUFFER,R2 ; USER CMD
|
||||
4$: MOVB (R2)+,R1
|
||||
BEQ 15$ ; NULL COMMAND?
|
||||
CMPB R1,#40
|
||||
BEQ 4$ ; SKIP SPACE
|
||||
5$: CMPB R0,R1
|
||||
BNE 7$
|
||||
MOVB (R3)+,R0
|
||||
BEQ 9$
|
||||
MOVB (R2)+,R1
|
||||
BEQ 9$
|
||||
CMPB R1,#40
|
||||
BNE 5$
|
||||
BR 9$
|
||||
7$: MOVB (R3)+,R0
|
||||
BNE 7$
|
||||
INC R4
|
||||
BR 3$
|
||||
9$: ASL R4
|
||||
JSR PC,@CMDTBL(R4) ; EXECUTE
|
||||
BR 15$
|
||||
|
||||
13$: MOV #UNKMSG,R0
|
||||
JSR PC,PRINT
|
||||
|
||||
15$: CLR LENGTH
|
||||
MOV #PROMPT,R0
|
||||
JSR PC,PRINT
|
||||
MOV (SP)+,R4
|
||||
MOV (SP)+,R3
|
||||
MOV (SP)+,R2
|
||||
MOV (SP)+,R1
|
||||
MOV (SP)+,R0
|
||||
RTI
|
||||
|
||||
|
||||
CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP
|
||||
HLPMSG: .ASCIZ 'COMMANDS ARE BOOT, HALT, LIGHTS, TEST AND HELP'<15><12>'BOOT DEVICES ARE RK? RL? OR RP?'<15><12>
|
||||
EOL: .BYTE 15,12,0
|
||||
DEL: .BYTE 10,40,10,0
|
||||
CMDLST: .ASCIZ 'BOOT'
|
||||
.ASCIZ 'HALT'
|
||||
.ASCIZ 'TEST'
|
||||
.ASCIZ 'LIGHTS'
|
||||
.ASCIZ 'HELP'
|
||||
.BYTE 0
|
||||
UNKMSG: .ASCIZ 'UNKNOWN COMMAND'<12><15>
|
||||
BANNER: .ASCIZ 'PAUL NANKERVIS - PAULNANK@HOTMAIL.COM'<12><15><12><15>
|
||||
PROMPT: .ASCIZ 'BOOT> '
|
||||
BADBOO: .ASCIZ 'UNKNOWN BOOT DEVICE'<12><15>
|
||||
PERMSG: .ASCIZ ' CLOCK TICKS'<12><15>
|
||||
|
||||
.EVEN
|
||||
|
||||
HELP: ; 141244
|
||||
MOV #HLPMSG,R0
|
||||
JSR PC,PRINT
|
||||
RTS PC
|
||||
|
||||
HALT: ; 141260
|
||||
HALT
|
||||
MOV #EOL,R0
|
||||
JSR PC,PRINT
|
||||
RTS PC
|
||||
|
||||
TEST: ; 141272
|
||||
CLR CLKTIC
|
||||
|
||||
MOV #15000,R5
|
||||
10$: MOV R5,@#177570 ; DISPLAY
|
||||
MOV R5,R4
|
||||
ASR R4
|
||||
15$: CLR R0
|
||||
MOV R5,R1
|
||||
DIV R4,R0
|
||||
MOV R0,R2
|
||||
MUL R4,R2
|
||||
ADD R3,R1
|
||||
CMP R1,R5
|
||||
BEQ 20$
|
||||
HALT
|
||||
20$: SOB R4,15$
|
||||
SOB R5,10$
|
||||
|
||||
MOV #PERMSG+5,R0
|
||||
MOV CLKTIC,R3
|
||||
|
||||
25$: CLR R2 ; 141350
|
||||
DIV #10,R2
|
||||
ADD #'0,R3
|
||||
MOVB R3,-(R0)
|
||||
MOV R2,R3
|
||||
BNE 25$
|
||||
|
||||
JSR PC,PRINT
|
||||
RTS PC
|
||||
|
||||
|
||||
MMR0=177572
|
||||
MMR1=177574
|
||||
MMR2=177576
|
||||
MMR3=172516
|
||||
|
||||
LIGHTS: ; 141376
|
||||
MOV #77406,R3 ; DEFAULT PDR
|
||||
CLR R2
|
||||
CLR R1
|
||||
MOV #8.,R0
|
||||
1$: MOV R3,172300(R1) ; KERNEL I PDR
|
||||
MOV R2,172340(R1) ; KERNEL I PAR
|
||||
MOV R3,172320(R1) ; KERNEL D PDR
|
||||
MOV R2,172360(R1) ; KERNEL D PAR
|
||||
MOV R3,172200(R1) ; SUPER I PDR
|
||||
MOV R2,172240(R1) ; SUPER I PAR
|
||||
MOV R3,172220(R1) ; SUPER D PDR
|
||||
MOV R2,172260(R1) ; SUPER D PAR
|
||||
MOV R3,177600(R1) ; USER I PDR
|
||||
MOV R2,177640(R1) ; USER I PAR
|
||||
MOV R3,177620(R1) ; USER D PDR
|
||||
MOV R3,177660(R1) ; USER D PAR
|
||||
ADD #200,R2
|
||||
ADD #2,R1
|
||||
SOB R0,1$
|
||||
BIS #176000,@#172376 ; KERNEL D POINTS TO I/O SPACE
|
||||
BIS #176000,@#172276 ; SUPER D POINTS TO I/O SPACE
|
||||
BIS #176000,@#177676 ; USER D POINTS TO I/O SPACE
|
||||
MOV #77,@#MMR3 ; 77 FOR 22 BIT
|
||||
MOV #1,@#MMR0
|
||||
|
||||
MOV #1700,@#172244 ; BASE SUPER I (PAR 2) #40000 AT #170000
|
||||
MOV #1700,@#172264 ; BASE SUPER D (PAR 2) #40000 AT #170000
|
||||
MOV #010000,@#177776 ; SET PM TO SUPER
|
||||
|
||||
MOV #40200,R3 ; SUPER CODE ADDRESS
|
||||
MOV #SUPERS,R2 ; ADDRESS SUPER CODE
|
||||
10$: MOV (R2)+,-(SP)
|
||||
MTPI (R3)+
|
||||
CMP R2,#SUPERE
|
||||
BLO 10$
|
||||
|
||||
MOV #40200,LGHTON ; CHANGE IDLE TASK
|
||||
RTS PC
|
||||
|
||||
;
|
||||
; TO BE COPIED TO SUPER #40200 AT PHYSICAL #170000
|
||||
; #40000 TO #40200 FOR WAIT & JMP INSTRUCTIONS
|
||||
;
|
||||
SUPERS: ; 141616
|
||||
MOV #37,R0 ; LOAD PATTERN
|
||||
MOV #174000,R1
|
||||
BIT #1,@#177570
|
||||
BEQ 10$
|
||||
MOV #7417,R0
|
||||
MOV R0,R1
|
||||
COM R1
|
||||
BIT #2,@#177570
|
||||
BEQ 10$
|
||||
MOV #36163,R0
|
||||
MOV #37000,R1
|
||||
10$: MOV R1,R2
|
||||
SUB #2,R2
|
||||
BIC #1,R2 ; WAIT ADDRESS
|
||||
MOV R2,R3
|
||||
BIC #177701,R3 ; ADDRESS OFFSET
|
||||
MOV #0000001,40000(R3) ; WRITE WAIT
|
||||
ADD #2,R3
|
||||
MOV #0000113,40000(R3) ; WRITE JMP (R3)
|
||||
|
||||
MOV R2,R4
|
||||
ASH #-6,R4
|
||||
BIC #177600,R4
|
||||
MOV #1700,R5
|
||||
SUB R4,R5 ; PAR ADDRESS BASE FOR WAIT
|
||||
MOV R2,R4
|
||||
ASH #-12.,R4
|
||||
BIC #177761,R4 ; PAR SELECT OFFSET
|
||||
MOV R5,172240(R4) ; SUPER I SPACE
|
||||
|
||||
MOV R1,R3
|
||||
ASH #-12.,R3
|
||||
BIC #177761,R3 ; PAR SELECT OFFSET
|
||||
CMP R3,R4 ; SAME PAR
|
||||
BEQ 30$
|
||||
MOV R1,R4
|
||||
ASH #-6,R4
|
||||
BIC #177600,R4
|
||||
MOV #1700,R5
|
||||
SUB R4,R5 ; PAR ADDRESS BASE FOR JMP
|
||||
MOV R5,172240(R3) ; SUPER I SPACE
|
||||
30$:
|
||||
MOV #3,R4
|
||||
ADD @#177570,R4
|
||||
MOV #2,R3
|
||||
ADD PC,R3
|
||||
40$: JMP (R2)
|
||||
SOB R4,40$
|
||||
MOV R0,R2
|
||||
ROR R2 ; ROTATE PATTERN
|
||||
ROL R1
|
||||
ROR R0
|
||||
BR 10$
|
||||
SUPERE:
|
||||
|
||||
BOOT: ; 142062
|
||||
CLR R3 ; UNIT
|
||||
1$: MOVB (R2)+,R1
|
||||
BEQ BOOTRK ; DEFAULT DEVICE IS RK0
|
||||
CMPB R1,#40
|
||||
BEQ 1$
|
||||
CMPB R1,#'R
|
||||
BEQ 5$
|
||||
|
||||
MOV #BADBOO,R0
|
||||
JSR PC,PRINT
|
||||
RTS PC
|
||||
|
||||
5$: MOVB (R2)+,R1 ; HOPEFULLY K, L OR P
|
||||
7$: MOVB (R2)+,R0 ; DIGIT
|
||||
BEQ 9$
|
||||
CMPB R0,#40
|
||||
BEQ 9$
|
||||
CMPB R0,#'7
|
||||
BGT 11$
|
||||
SUB #'0,R0
|
||||
BLT 11$
|
||||
ASL R3
|
||||
ASL R3
|
||||
ASL R3
|
||||
BIS R0,R3 ; PUT DIGIT INTO UNIT
|
||||
BR 7$
|
||||
9$: CLR R2
|
||||
MOV #137,(R2)+
|
||||
MOV #START,(R2)+
|
||||
MOV #START,(R2)+
|
||||
CLR (R2)+
|
||||
CMPB R1,#'K
|
||||
BEQ BOOTRK
|
||||
CMPB R1,#'L
|
||||
BEQ BOOTRL
|
||||
CMPB R1,#'P
|
||||
BEQ BOOTRP
|
||||
|
||||
11$: MOV #UNKMSG,R0
|
||||
JSR PC,PRINT
|
||||
RTS PC
|
||||
|
||||
RLCS=174400
|
||||
BOOTRL: ; 142234
|
||||
RESET
|
||||
SWAB R3 ; UNIT NUMBER
|
||||
MOV #RLCS,R1 ; CSR
|
||||
MOV #13,4(R1) ; CLR ERR
|
||||
BIS #4,R3 ; UNIT+GSTAT
|
||||
MOV R3,(R1) ; ISSUE CMD
|
||||
TSTB (R1) ; WAIT
|
||||
BPL .-2
|
||||
CLRB R3
|
||||
BIS #10,R3 ; UNIT+RDHDR
|
||||
MOV R3,(R1) ; ISSUE CMD
|
||||
TSTB (R1) ; WAIT
|
||||
BPL .-2
|
||||
MOV 6(R1),R2 ; GET HDR
|
||||
BIC #77,R2 ; CLR SECTOR
|
||||
INC R2 ; MAGIC BIT
|
||||
MOV R2,4(R1) ; SEEK TO 0
|
||||
CLRB R3
|
||||
BIS #6,R3 ; UNIT+SEEK
|
||||
MOV R3,(R1) ; ISSUE CMD
|
||||
TSTB (R1) ; WAIT
|
||||
BPL .-2
|
||||
CLR 2(R1) ; CLR BA
|
||||
CLR 4(R1) ; CLR DA
|
||||
MOV #-512.,6(R1) ; SET WC
|
||||
CLRB R3
|
||||
BIS #14,R3 ; UNIT+READ
|
||||
MOV R3,(R1) ; ISSUE CMD
|
||||
TSTB (R1) ; WAIT
|
||||
BPL .-2
|
||||
BIC #377,(R1)
|
||||
CLR R2
|
||||
CLR R3
|
||||
CLR R4
|
||||
CLR R5
|
||||
CLR PC
|
||||
|
||||
RKDA=177412
|
||||
READGO=5
|
||||
BOOTRK:
|
||||
RESET ; 142402
|
||||
SWAB R3 ; UNIT NUMBER
|
||||
ASL R3
|
||||
ASL R3
|
||||
ASL R3
|
||||
ASL R3
|
||||
ASL R3
|
||||
MOV #RKDA,R1 ; CSR
|
||||
MOV R3,(R1) ; LOAD DA
|
||||
CLR -(R1) ; CLEAR BA
|
||||
MOV #-256.*2,-(R1) ; LOAD WC
|
||||
MOV #READGO,-(R1) ; READ & GO
|
||||
CLR R2
|
||||
CLR R3
|
||||
CLR R4
|
||||
CLR R5
|
||||
TSTB (R1)
|
||||
BPL .-2
|
||||
CLRB (R1)
|
||||
CLR PC
|
||||
|
||||
RPCSR=0176700
|
||||
BOOTRP: ; 142460
|
||||
RESET
|
||||
MOV #RPCSR, R1
|
||||
MOV #0000040, 10(R1) ; RESET
|
||||
MOV R3, 10(R1) ; SET UNIT
|
||||
MOV #0000021, (R1) ; PACK ACK
|
||||
MOV #0010000, 32(R1) ; 16B MODE
|
||||
MOV #-512., 2(R1) ; SET WC
|
||||
CLR 4(R1) ; CLR BA
|
||||
CLR 6(R1) ; CLR DA
|
||||
CLR 34(R1) ; CLR CYL
|
||||
MOV #0000071, (R1) ; READ
|
||||
TSTB (R1) ; WAIT
|
||||
BPL .-2
|
||||
CLRB (R1)
|
||||
MOV R3,R0
|
||||
CLR PC
|
||||
|
||||
.END START
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
#
|
||||
# Don't have macro11? Make yourself a copy from https://github.com/shattered/macro11
|
||||
#
|
||||
|
||||
all: boot.json
|
||||
|
||||
boot.lst: boot.mac
|
||||
macro11 boot.mac -l boot.lst
|
||||
|
||||
boot.json: boot.lst
|
||||
node ../../../../modules/filedump/bin/filedump --file=boot.lst --format=octal --output=boot.json --overwrite
|
||||
Loading…
Reference in a new issue