NDWiki:Community Portal: Difference between revisions

From NDWiki
Jump to navigation Jump to search
(Copied my text from the talk page, and added a header (MON 15))
(Datormuseum floppy images converted)
(13 intermediate revisions by 4 users not shown)
Line 10: Line 10:


<!--------- Edit below this line ---------->
<!--------- Edit below this line ---------->
== 5-year anniversary! We celebrate with a 100 Mbit/s connection to the wiki! ==
I missed the anniversary with a month, gah! But now the server got a 100 Mbit/s fiber connection! Enjoy! /[[User:Mike|Mike]] ([[User talk:Mike|talk]]) 19:48, 18 November 2013 (UTC)
== NDWiki moved to a new server ==


== Names on Monitor Call  ==
Due to unforeseen circumstances, NDWiki went offline sometime in 2015 (April?). Efforts were made by parties involved to get it back online again, but failed. A year later (April 2016), discussions on how to remedy the situation was started. As I had available time, I offered to set up a server to run to wiki on, and manage it. I only have a "normal" broadband connection at home, which means a dynamic IP address. This is not ideal for running a server, so I asked my local [[Wikipedia:makerspace|makerspace]], [http://bitraf.no/ Bitraf], if I could host the server there - they were willing and agreed. All this took a while, but in the middle of May 2016 I set up the server, installed the necessary software, restored the backup and started fixing stuff that didn't work (some templates, images not showing). Most of the problems were due to my lack of experience with configuring Mediawiki and the software it needs. Anyway, on May 24th, 2016  NDWiki was ready for use again. Enjoy!  [[User:Tingo|Torfinn]] ([[User talk:Tingo|talk]]) 13:45, 29 May 2016 (UTC)
 
== 600 articles! ==
 
This wiki now has 600 articles (or pages if you like)! [[User:Tingo|Torfinn]] ([[User talk:Tingo|talk]]) 19:52, 23 August 2017 (UTC)


I plan to make a list of monitor calls, but some of the names are already taken, so what should we call the monitor call articles? Here is the list I compiled:
:I had in mind something about the monitor calls quite some time ago, but the naming stopped me for the same reason - I anticipated a future collision between e.g. ABORT the command and ABORT the monitor call. A prefix or something maybe? I'm on thin ice here as far as my MediaWiki-fu is concerned, but I notice some of the Sintran commands Tingo is adding have a qualifier.
:Back when I was thinking about monitor calls I wanted a table of short name, a table of long names (INBT -> InByte -> 1B and so on), and some link between them. And don't forget the 500-only calls.. those with numbers >377B --[[User:TArntsen|TArntsen]] 12:32, 25 August 2012 (UTC)
::An idea.. maybe let the actual Wiki page always use the "long" name, add long names to the table, and let both long and short names point to the long name Wiki page? That would imply slightly more writing work when writing the table, but not much. There shouldn't be any problem having pages with names like 'GetStartByte', presumably? I looked through the table of monitor calls and I don't think those long names will collide with any SINTRAN command name or anything else. --[[User:TArntsen|TArntsen]] 12:37, 25 August 2012 (UTC)
:::How about adding qualifiers "(command)", "(monitor call)" and so on where needed, and let the "straight" page list the various alternatives? For example: "ABORT - may refer to the ABORT command, ABORT monitor call, ...". A bit more work, and we need to agree on a standard way to do it, but still. --[[User:Tingo|Torfinn]] 15:39, 25 August 2012 (UTC)
::::Thanks for the feedback! In what document(s) do we have the complete list with descriptions of the monitor calls? Should each monitor call have their own page or is one table or two enough? With a table it's still possible to make a [[Help:Wiki_Editing_Syntax_Guide#Redirects|#REDIRECT]] for each call, i.e "INBT" and "MON 1" will redirect to the page with the table of monitor calls and the [[ABORT]] page will have a first line "For the ABORT monitor call (MON 105) see [[Monitor calls]]." (or some better name of that page). I can make the redirect pages in a batch, if needed. /[[User:Mike|Mike]] 22:33, 27 August 2012 (UTC)
:::::The {{ND-doc|60.128.01}} has a chapter on monitor calls, I don't know if it is complete, but (in my copy at least - printed June 1980) it looks like only the ND-100 monitor calls. --[[User:Tingo|Torfinn]] 20:42, 17 December 2012 (CET)
:::::[[User:TArntsen|TArntsen]]: ND added a new document which (almost) only described monitor calls, it's {{ND-doc|860228.2}} from 1988 (first version came in 1986). The first variant of this document was called 60.228 (download link to that one is below). The original Sintran Reference 60.128 which Tingo refers to was eventually changed to 860128 and monitor calls split out to (at first 60.228, then later) 860228, SINTRAN III Monitor Calls. This document includes almost all monitor calls, including ND-500 calls, and with examples. There are a few undocumented missing calls though, a couple of them are just barely mentioned in release notes but that's about it. I've been digging through a lot of stuff over the last years to figure out the undocumented ones (including reading SINTRAN listings). Some I have figured out, but a couple remain elusive. List of some of the officially undocumented calls are (in octal): 15 (this may not exist), 25 (SETW), 42 (Old OPEN), 45 (DBRK/DefineBreakPoint on ND-100, GTYPR/GetTypring on ND-500), 46 (GBRK/GetBreakPointInfo), 47 (SBRK/SetBreakPointInfo), 51 (DMAC/DMACBreakPoint), 52 (MTERM|TERMO, TERMINAL-MODE), 511 (combination of 503/504), 512 (XMSG for ND-500), 513 (Unknown, possibly also XMSG for ND-500). So: I have a copy of 860228.2, but it's a thick A5 book, not a binder, I can't scan it without cutting the binding which I don't want to do at this point. BUT I also have an A4 binder version of the older 60.228.1 version which I have scanned, I can provide a link but a better one for reading on-screen is probably Jonny Oddene's more light-weight scan: [http://www.sintran.com/sintran/library/libsw/ND-60228-1-EN.pdf Software Library:ND-60228-1-EN.pdf]. It is from 1986 and presumably very similar to version 1 of the 860228 document which is also from 1986. It includes the ND-500 monitor calls. (Actually when I said "almost only monitor calls" it's not entirely true - these documents include great appendixes which describe internal SINTRAN structures like filesystem layout etc). --[[User:TArntsen|TArntsen]] 22:00, 19 December 2012 (CET)
{| class="wikitable"
|-
! Name(sort) !! Number !! Remark !! Name !! Number(sort) !! Remark
|-
|[[ABORT]] || 105 || rf || [[LEAVE]] || 0 || brf
|-
|[[ABSET]] || 102 || rf || [[INBT]] || 1 || brf
|-
|[[ABSTR]] || 131 || rf || [[OUTBT]] || 2 || brf
|-
|[[ACM]] || 145 || brf || [[ECHOM]] || 3 || brf
|-
|[[AlRDW]] || 37 || rf || [[BRKM]] || 4 || brf
|-
|[[ALTOF]] || 34 || brf || [[RDISK]] || 5 || b
|-
|[[ALTON]] || 33 || brf || [[WDISK]] || 6 || b
|-
|[[APSPF]] || 240 || br || [[RPAGE]] || 7 || br
|-
|[[ASSIG]] || 154 || rf || [[WPAGE]] || 10 || br
|-
|[[B41NW]] || 63 || br || [[TIME]] || 11 || brf
|-
|[[B8INB]] || 23 || br || [[SETCM]] || 12 || b
|-
|[[B80UT]] || 24 || br || [[ClBUF]] || 13 || brf
|-
|[[BCLOS]] || 252 || br || [[COBUF]] || 14 || brf
|-
|[[BRKM]] || 4 || brf || [[MGTW]] || 16 || brf
|-
|[[CAMAC]] || 147 || rf || [[MSTTY]] || 17 || brf
|-
|[[ClBUF]] || 13 || brf || [[WCI]] || 20 || b
|-
|[[CLADJ]] || 112 || rf || [[M8INB]] || 21 || br
|-
|[[CLOCK]] || 113 || brf || [[M80UT]] || 22 || br
|-
|[[CLOSE]] || 43 || br || [[B8INB]] || 23 || br
|-
|[[COBUF]] || 14 || brf || [[B80UT]] || 24 || br
|-
|[[COMND]] || 70 || bf || [[SETW]] || 25 || b
|-
|[[CONCT]] || 106 || rf || [[LASTC]] || 26 || rf
|-
|[[COPAG]] || 251 || br || [[RTDSC]] || 27 || rf
|-
|[[CPUST]] || 262 ||  || [[GETRT]] || 30 || brf
|-
|[[CRALF]] || 221 || br || [[EXlOX]] || 31 || brf
|-
|[[CRALN]] || 253 || br || [[MSG]] || 32 || bf
|-
|[[DABST]] || 127 || rf || [[ALTON]] || 33 || brf
|-
|[[DBRK]] || 45 || b || [[ALTOF]] || 34 || brf
|-
|[[DEABF]] || 256 || br || [[IOUT]] || 35 || bf
|-
|[[DELPG]] || 272 || br || [[NOWT]] || 36 || brf
|-
|[[DESCF]] || 71 || brf || [[AlRDW]] || 37 || rf
|-
|[[DlNTV]] || 130 || rf || [[SPCLO]] || 40 || brf
|-
|[[DIW]] || 165 || rf || [[ROBJE]] || 41 || brf
|-
|[[DLOFU]] || 277 || b || [[OPEN]] || 42 || br
|-
|[[DMAC]] || 51 || b || [[CLOSE]] || 43 || br
|-
|[[DOLW]] || 166 || rf || [[RUSER]] || 44 || brf
|-
|[[DOPEN]] || 220 || br || [[DBRK]] || 45 || b
|-
|[[DROBJ]] || 215 || br || [[GBRK]] || 46 || b
|-
|[[DSCNT]] || 107 || rf || [[SBRK]] || 47 || b
|-
|[[DSET]] || 126 || rf || [[OPEN]] || 50 || br
|-
|[[DUSEL]] || 301 || b || [[DMAC]] || 51 || b
|-
|[[DWOBJ]] || 216 || br || [[TERMo]] || 52 || brf
|-
|[[ECHOM]] || 3 || brf || [[RSEGM]] || 53 || r
|-
|[[EDTRM]] || 206 || br || [[MDLFI]] || 54 || brf
|-
|[[EESCF]] || 72 || brf || [[RSPQE]] || 55 || br
|-
|[[ELOFF]] || 303 || b || [[PASET]] || 56 || bf
|-
|[[ELOFU]] || 276 || b || [[PAGET]] || 57 || bf
|-
|[[ELON]] || 302 || b || [[N500M]] || 60 || r
|-
|[[ENTSG]] || 157 || rf || [[FIXC5]] || 61 || r
|-
|[[ERMON]] || 142 || rf || [[RMAX]] || 62 || brf
|-
|[[ERMSG]] || 64 || brf || [[B41NW]] || 63 || br
|-
|[[EUSEL]] || 300 || b || [[ERMSG]] || 64 || brf
|-
|[[EXlOX]] || 31 || brf || [[QERMS]] || 65 || brf
|-
|[[EXPFl]] || 231 || br || [[ISIZE]] || 66 || brf
|-
|[[FDFDl]] || 250 || br || [[OSIZE]] || 67 || brf
|-
|[[FDlNA]] || 243 || br || [[COMND]] || 70 || bf
|-
|[[FIX]] || 115 || rf || [[DESCF]] || 71 || brf
|-
|[[FIXC]] || 160 || rf || [[EESCF]] || 72 || brf
|-
|[[FIXC5]] || 61 || r || [[SMAX]] || 73 || brf
|-
|[[FOBJN]] || 274 || br || [[SETBT]] || 74 || brf
|-
|[[FOPFN]] || 257 || br || [[REABT]] || 75 || brf
|-
|[[GBRK]] || 46 || b || [[SETBS]] || 76 || brf
|-
|[[GBSIZ]] || 222 || b || [[SETBL]] || 77 || brf
|-
|[[GDEVT]] || 263 ||  || [[RT]] || 100 || rf
|-
|[[GDIEN]] || 244 || br || [[SET]] || 101 || rf
|-
|[[GERDV]] || 254 ||  || [[ABSET]] || 102 || rf
|-
|[[GETRT]] || 30 || brf || [[INTV]] || 103 || rf
|-
|[[GL]] || 150 || rf || [[HOLD]] || 104 || brf
|-
|[[GNAEN]] || 245 || br || [[ABORT]] || 105 || rf
|-
|[[GRAPHIC]] || 155 || brf || [[CONCT]] || 106 || rf
|-
|[[GRTDA]] || 151 || rf || [[DSCNT]] || 107 || rf
|-
|[[GRTNA]] || 152 || r || [[PRIOR]] || 110 || rf
|-
|[[GTMOD]] || 306 || br || [[UPDAT]] || 111 || rf
|-
|[[GUIOI]] || 217 || br || [[CLADJ]] || 112 || rf
|-
|[[GUSNA]] || 214 || br || [[CLOCK]] || 113 || brf
|-
|[[HOLD]] || 104 || brf || [[TUSED]] || 114 || bf
|-
|[[IBRSIZ]] || 313 || br || [[FIX]] || 115 || rf
|-
|[[INBT]] || 1 || brf || [[UNFIX]] || 116 || rf
|-
|[[INSTR]] || 161 || brf || [[RFILE]] || 117 || brf
|-
|[[INTV]] || 103 || rf || [[WFILE]] || 120 || brf
|-
|[[IOSET]] || 141 || brf || [[WAITF]] || 121 || rf
|-
|[[IOUT]] || 35 || bf || [[RESRV]] || 122 || brf
|-
|[[IOXN]] || 153 || rf || [[RELES]] || 123 || brf
|-
|[[IPRIV]] || 146 || r || [[PRSRV]] || 124 || rf
|-
|[[ISIZE]] || 66 || brf || [[PRLS]] || 125 || rf
|-
|[[LASTC]] || 26 || rf || [[DSET]] || 126 || rf
|-
|[[LEAVE]] || 0 || brf || [[DABST]] || 127 || rf
|-
|[[M8INB]] || 21 || br || [[DlNTV]] || 130 || rf
|-
|[[M80UT]] || 22 || br || [[ABSTR]] || 131 || rf
|-
|[[MAGTP]] || 144 || brf || [[MCALL]] || 132 || r
|-
|[[MAPSIB]] || 304 || br || [[MEXIT]] || 133 || rf
|-
|[[MCALL]] || 132 || r || [[RTEXT]] || 134 || brf
|-
|[[MDLFI]] || 54 || brf || [[RTWT]] || 135 || rf
|-
|[[MEXIT]] || 133 || rf || [[RTON]] || 136 || rf
|-
|[[MGDAE]] || 230 || br || [[RTOFF]] || 137 || rf
|-
|[[MGFIL]] || 273 || br || [[WHDEV]] || 140 || rf
|-
|[[MGTW]] || 16 || brf || [[IOSET]] || 141 || brf
|-
|[[MHDLC]] || 201 || br || [[ERMON]] || 142 || rf
|-
|[[MOlNF]] || 312 || br || [[RSIO]] || 143 || bf
|-
|[[MRNFI]] || 232 || br || [[MAGTP]] || 144 || brf
|-
|[[MSDAE]] || 277 || br || [[ACM]] || 145 || brf
|-
|[[MSG]] || 32 || bf || [[IPRIV]] || 146 || r
|-
|[[MSIBB]] || 305 || br || [[CAMAC]] || 147 || rf
|-
|[[MSTTY]] || 17 || brf || [[GL]] || 150 || rf
|-
|[[MUIDI]] || 213 || br || [[GRTDA]] || 151 || rf
|-
|[[N500M]] || 60 || r || [[GRTNA]] || 152 || r
|-
|[[NOWT]] || 36 || brf || [[IOXN]] || 153 || rf
|-
|[[OPEN]] || 42 || br || [[ASSIG]] || 154 || rf
|-
|[[OPEN]] || 50 || br || [[GRAPHIC]] || 155 || brf
|-
|[[OSIZE]] || 67 || brf || [[TRACB]] || 156 || br
|-
|[[OUTBT]] || 2 || brf || [[ENTSG]] || 157 || rf
|-
|[[OUTST]] || 162 || brf || [[FIXC]] || 160 || rf
|-
|[[PAGET]] || 57 || bf || [[INSTR]] || 161 || brf
|-
|[[PASET]] || 56 || bf || [[OUTST]] || 162 || brf
|-
|[[PIOCM]] || 255 ||  || [[WRQI]] || 163 || brf
|-
|[[PRIOR]] || 110 || rf || [[WSEG]] || 164 || rf
|-
|[[PRLS]] || 125 || rf || [[DIW]] || 165 || rf
|-
|[[PRSRV]] || 124 || rf || [[DOLW]] || 166 || rf
|-
|[[QERMS]] || 65 || brf || [[REENT]] || 167 || rf
|-
|[[RDISK]] || 5 || b || [[US0]] || 170 || r
|-
|[[RDPAG]] || 270 || br || [[US1]] || 171 || r
|-
|[[REABT]] || 75 || brf || [[US2]] || 172 || r
|-
|[[REDIR]] || 246 || br || [[US3]] || 173 || r
|-
|[[REENT]] || 167 || rf || [[US4]] || 174 || r
|-
|[[RELES]] || 123 || brf || [[US5]] || 175 || r
|-
|[[RERRP]] || 207 || br || [[US6]] || 176 || r
|-
|[[RESRV]] || 122 || brf || [[US7]] || 177 || r
|-
|[[RFILE]] || 117 || brf || [[XMSG]] || 200 || br
|-
|[[RLDIR]] || 247 || br || [[MHDLC]] || 201 || br
|-
|[[RMAX]] || 62 || brf || [[EDTRM]] || 206 || br
|-
|[[ROBJE]] || 41 || brf || [[RERRP]] || 207 || br
|-
|[[RPAGE]] || 7 || br || [[SREEN]] || 212 || br
|-
|[[RSEGM]] || 53 || r || [[MUIDI]] || 213 || br
|-
|[[RSIO]] || 143 || bf || [[GUSNA]] || 214 || br
|-
|[[RSPQE]] || 55 || br || [[DROBJ]] || 215 || br
|-
|[[RT]] || 100 || rf || [[DWOBJ]] || 216 || br
|-
|[[RTDSC]] || 27 || rf || [[GUIOI]] || 217 || br
|-
|[[RTEXT]] || 134 || brf || [[DOPEN]] || 220 || br
|-
|[[RTOFF]] || 137 || rf || [[CRALF]] || 221 || br
|-
|[[RTON]] || 136 || rf || [[GBSIZ]] || 222 || b
|-
|[[RTWT]] || 135 || rf || [[MGDAE]] || 230 || br
|-
|[[RUSCN]] || 242 || b || [[EXPFl]] || 231 || br
|-
|[[RUSER]] || 44 || brf || [[MRNFI]] || 232 || br
|-
|[[SBRK]] || 47 || b || [[SPEFI]] || 234 || br
|-
|[[SCROP]] || 235 || br || [[SCROP]] || 235 || br
|-
|[[SET]] || 101 || rf || [[SPERD]] || 236 || br
|-
|[[SETBL]] || 77 || brf || [[SFACC]] || 237 || br
|-
|[[SETBS]] || 76 || brf || [[APSPF]] || 240 || br
|-
|[[SETBT]] || 74 || brf || [[SUSCN]] || 241 || b
|-
|[[SETCM]] || 12 || b || [[RUSCN]] || 242 || b
|-
|[[SETW]] || 25 || b || [[FDlNA]] || 243 || br
|-
|[[SFACC]] || 237 || br || [[GDIEN]] || 244 || br
|-
|[[SMAX]] || 73 || brf || [[GNAEN]] || 245 || br
|-
|[[SPCLO]] || 40 || brf || [[REDIR]] || 246 || br
|-
|[[SPEFI]] || 234 || br || [[RLDIR]] || 247 || br
|-
|[[SPERD]] || 236 || br || [[FDFDl]] || 250 || br
|-
|[[SREEN]] || 212 || br || [[COPAG]] || 251 || br
|-
|[[SRUSI]] || 314 || br || [[BCLOS]] || 252 || br
|-
|[[STEFI]] || 275 || r || [[CRALN]] || 253 || br
|-
|[[SUSCN]] || 241 || b || [[GERDV]] || 254 || 
|-
|[[SYCNT]] || 261 ||  || [[PIOCM]] || 255 || 
|-
|[[T8INB]] || 310 || br || [[DEABF]] || 256 || br
|-
|[[TERMo]] || 52 || brf || [[FOPFN]] || 257 || br
|-
|[[TIME]] || 11 || brf || [[USCNT]] || 260 || 
|-
|[[TMOUT]] || 267 ||  || [[SYCNT]] || 261 || 
|-
|[[TNDWAI]] || 307 || br || [[CPUST]] || 262 || 
|-
|[[TRACB]] || 156 || br || [[GDEVT]] || 263 || 
|-
|[[TUSED]] || 114 || bf || [[500RF]] || 264 || 
|-
|[[UNFIX]] || 116 || rf || [[500WF]] || 265 || 
|-
|[[UPDAT]] || 111 || rf || [[500MT]] || 266 || 
|-
|[[US0]] || 170 || r || [[TMOUT]] || 267 || 
|-
|[[US1]] || 171 || r || [[RDPAG]] || 270 || br
|-
|[[US2]] || 172 || r || [[WDPAG]] || 271 || br
|-
|[[US3]] || 173 || r || [[DELPG]] || 272 || br
|-
|[[US4]] || 174 || r || [[MGFIL]] || 273 || br
|-
|[[US5]] || 175 || r || [[FOBJN]] || 274 || br
|-
|[[US6]] || 176 || r || [[STEFI]] || 275 || r
|-
|[[US7]] || 177 || r || [[ELOFU]] || 276 || b
|-
|[[USCNT]] || 260 ||  || [[DLOFU]] || 277 || b
|-
|[[WAITF]] || 121 || rf || [[MSDAE]] || 277 || br
|-
|[[WCI]] || 20 || b || [[EUSEL]] || 300 || b
|-
|[[WDIEN]] || 311 || r || [[DUSEL]] || 301 || b
|-
|[[WDISK]] || 6 || b || [[ELON]] || 302 || b
|-
|[[WDPAG]] || 271 || br || [[ELOFF]] || 303 || b
|-
|[[WFILE]] || 120 || brf || [[MAPSIB]] || 304 || br
|-
|[[WHDEV]] || 140 || rf || [[MSIBB]] || 305 || br
|-
|[[WPAGE]] || 10 || br || [[GTMOD]] || 306 || br
|-
|[[WRQI]] || 163 || brf || [[TNDWAI]] || 307 || br
|-
|[[WSEG]] || 164 || rf || [[T8INB]] || 310 || br
|-
|[[XMSG]] || 200 || br || [[WDIEN]] || 311 || r
|-
|[[500MT]] || 266 ||  || [[MOlNF]] || 312 || br
|-
|[[500RF]] || 264 ||  || [[IBRSIZ]] || 313 || br
|-
|[[500WF]] || 265 ||  || [[SRUSI]] || 314 || br
|-
|}
:::::::I added one disambiguation page, check out the [[ENTSG]] page and see how you like it. --[[User:Tingo|Torfinn]] ([[User talk:Tingo|talk]]) 22:21, 21 December 2013 (UTC)
== MON 15 ==
== MON 15 ==
I just joined NDWiki and would like to contribute. I have not found any doc on MON 15 which is used by NPL, MAC and QED.
I just joined NDWiki and would like to contribute. I have not found any doc on MON 15 which is used by NPL, MAC and QED.
Line 440: Line 49:
     A string is the characters between the reader and writer pointers.
     A string is the characters between the reader and writer pointers.
     reader <= writer and both pointers must be within beg/end
     reader <= writer and both pointers must be within beg/end
  SETUP seems to take T and A and write a descriptor to (X), with reader=writer=beg  
  SETUP seems to take T and A and write a descriptor to (X), with reader=writer=beg


== 5-year anniversary! We celebrate with a 100 Mbit/s connection to the wiki! ==
== Instruction test program ==


I missed the anniversary with a month, gah! But now the server got a 100 Mbit/s fiber connection! Enjoy! /[[User:Mike|Mike]] ([[User talk:Mike|talk]]) 19:48, 18 November 2013 (UTC)
Does anyone have a :BPUN file of the instruction test program?
I would like to have it to test my emulator. The idea is to replace the IOX instructions for terminal input/output with MON 1 and MON 2.
I have tried to find a floppy image with the instruction test program (and use ndfs) to extract it, but without success so far.
:Try this one: https://www.dropbox.com/s/6x2vw7cquaa3b7o/10523D01-XX-01D.image.gz It includes INSTRUCTION-B:BPUN. But note that this test program needs a nearly fully functioning emulation of 16 interrupt levels, ION/IOF instructions, etc. [[User:TArntsen|TArntsen]] ([[User talk:TArntsen|talk]]) 10:04, 19 May 2019 (UTC)
:: As said above, to test with that program, you have to emulate on cpu level, with interrupts, iox calls, cpu runlevels etc. Tingo has put nd100em on github I saw, so you can download that and try with. Btw, am back coding again on that and hopefully will have it booting from a virtual tapereader soonish. Skipping floppy for now until I have running real hw to compare with. [[User:Roger|Roger]] ([[User talk:Roger|talk]]) 10:37, 20 May 2019 (UTC)
:::I got my emulator booting from a (virtual) tapereader recently, however that's not much different from loading a BPUN - but if you're having issues just ask. Of course the tricky part is booting something that needs the full monthy of interrupts, rings, privileged instructions etc.. my emulator is still mostly good for just user level. As for test programs - have you figured out how the instruction-c is to be used? The :TEST and :NEXT file formats? [[User:TArntsen|TArntsen]] ([[User talk:TArntsen|talk]]) 10:50, 20 May 2019 (UTC)
:::: Exactly, it should be very similar to just loading a BPUN, but it will allow that BPUN to pull in more stuff later if it wants if its register compatible. Anyway, the testdisk I use have all test programs as BPUNs, so I can use them by just loading them instead. If you have the TEST and NEXT file endings it's newer. I haven't tried those yet. [[User:Roger|Roger]] ([[User talk:Roger|talk]]) 15:19, 20 May 2019 (UTC)
:::::My emulator is now running the TPE-MONITOR program (with two patches). TPE-MONITOR can load :TEST programs, but most of them requires I/O-handling, paging etc. I have patched the INSTRUCTION-C03:TEST program and can now run all tests without getting the "NOT EXECUTABLE UNDER SINTRAN" message. All tests of non-priveleged instructions like BIT, SHIFT, BYTE etc. work fine. I did, however, need to implement interrupt level changing since the test program runs on levels 1 to 9. The MOVEW instruction works as well with some "tricks" in the emulation code. This test seems to be using the paging system, which my emulator can not handle. Running the tests I found an error in the BCD instructions, an error in floating (the two last bits in the mantissa) and a fault in SUB (carry). Currently I believe there is an error in the stack instructions which I will look further into. It was worth the effort to do this work, but I think there are still errors in the emulation, the test program did not look very extensive.... [[User:CVS|CVS]] ([[User talk:CVS|talk]]) 07:29, 23 December 2019 (UTC).
== PASCAL compiler ==
I am trying to make PASCAL running in my emulator and have extracted
files from ND-10076J.image.gz using ndfs.
The :BRF files seems to corrupted, NRL and BRF-EDITOR reports illegal
BRF control bytes in all of them. BRF-EDITOR lists a number of entries
but some of them looks a little bit strange to me.
The problem may be caused by an error in my emulator, a bad floppy image, an error  in reading the floppy or an error in ndfs.
I have retrieved a number of different files from other images using ndfs. Most of them are OK, but I have problems with some of them.
My first guess is that the problems relate to bad floppy images or the reading of the floppies.
Does anybody have a possibility to e.g. check the PASCAL files, e.g. running BRF-EDITOR - LIST-ENTRIES in an emulator or even on a ND-xxx computer?
[[User:CVS|CVS]] ([[User talk:CVS|talk]]) 11:50, 25 february 2021 (UTC).
:The [[ND-10076J]] image appears to be corrupted, possibly due to being a copy made by an early version of FluxEngine, or other reasons. One definite clue is that the file PASCAL-ERR-J:SYMB, which is a text file, definitely is corrupted. The same file (same size) is also in [[ND-10187J]], where it looks fine. And yes my Linux command line tool which I wrote to examine .brf files also doesn't like the content. [[User:TArntsen|TArntsen]] ([[User talk:TArntsen|talk]]) 11:17, 25 February 2021 (UTC)


== NDWiki moved to a new server ==
:Thank you! I have another question: How can I extract files from the images I find at www.datormuseum.se They seem to be in a format not usable by ndfs.
 
[[User:CVS|CVS]] ([[User talk:CVS|talk]]) 13:30, 25 february 2021 (UTC).
Due to unforeseen circumstances, NDWiki went offline sometime in 2015 (April?). Efforts were made by parties involved to get it back online again, but failed. A year later (April 2016), discussions on how to remedy the situation was started. As I had available time, I offered to set up a server to run to wiki on, and manage it. I only have a "normal" broadband connection at home, which means a dynamic IP address. This is not ideal for running a server, so I asked my local [[Wikipedia:makerspace|makerspace]], [http://bitraf.no/ Bitraf], if I could host the server there - they were willing and agreed. All this took a while, but in the middle of May 2016 I set up the server, installed the necessary software, restored the backup and started fixing stuff that didn't work (some templates, images not showing). Most of the problems were due to my lack of experience with configuring Mediawiki and the software it needs. Anyway, on May 24th, 2016  NDWiki was ready for use again. Enjoy!  [[User:Tingo|Torfinn]] ([[User talk:Tingo|talk]]) 13:45, 29 May 2016 (UTC)
::They are in IMD format, so you need to convert from IMD to RAW, which will work with ndfs. On Linux/Unix you may use https://github.com/ptor/imd2raw which can be used as follows:
 
cat DISK9.IMD | imd2raw > disk9.img
== 600 articles! ==
ndfs -t disk9.img
 
Directory name            : N-10-102-I
This wiki now has 600 articles (or pages if you like)! [[User:Tingo|Torfinn]] ([[User talk:Tingo|talk]]) 19:52, 23 August 2017 (UTC)
Filesystem image size    : 154 pages
Object file index pointer : 149 SI: 0x1 (indexed)
User file index pointer  : 151 SI: 0x1 (indexed)
Bit file pointer          : 153 SI: 0x0 (contiguous)
No. of unreserved pages  : 1
Files:
  0  0: A      20 pages    31916 bytes 1985-12-22 15:20:22 (SYSTEM)MACM-1718K:BPUN
  0  1: A      127 pages    190735 bytes 1985-12-22 15:20:29 (SYSTEM)SINTRAN-I:DATA
Directory size            : 149 pages
Bit file size            : 1 page
NB: Some of the images are in non-floppy formats, they may e.g. be in tape format. They can also be extracted from by another tool than ndfs, but there aren't that many of them. But if you need them it can probably be done.
[[User:TArntsen|TArntsen]] ([[User talk:TArntsen|talk]]) 13:54, 25 February 2021 (UTC)
:::I converted all the floppy images at datormuseum to image format and made a tar file with the image files, the labels, and the PDF file which describes the content. It's 18MB compressed, but I don't have a place to put it. [[User:TArntsen|TArntsen]] ([[User talk:TArntsen|talk]]) 14:12, 25 February 2021 (UTC)

Revision as of 14:12, 25 February 2021

5-year anniversary! We celebrate with a 100 Mbit/s connection to the wiki!

I missed the anniversary with a month, gah! But now the server got a 100 Mbit/s fiber connection! Enjoy! /Mike (talk) 19:48, 18 November 2013 (UTC)

NDWiki moved to a new server

Due to unforeseen circumstances, NDWiki went offline sometime in 2015 (April?). Efforts were made by parties involved to get it back online again, but failed. A year later (April 2016), discussions on how to remedy the situation was started. As I had available time, I offered to set up a server to run to wiki on, and manage it. I only have a "normal" broadband connection at home, which means a dynamic IP address. This is not ideal for running a server, so I asked my local makerspace, Bitraf, if I could host the server there - they were willing and agreed. All this took a while, but in the middle of May 2016 I set up the server, installed the necessary software, restored the backup and started fixing stuff that didn't work (some templates, images not showing). Most of the problems were due to my lack of experience with configuring Mediawiki and the software it needs. Anyway, on May 24th, 2016 NDWiki was ready for use again. Enjoy! Torfinn (talk) 13:45, 29 May 2016 (UTC)

600 articles!

This wiki now has 600 articles (or pages if you like)! Torfinn (talk) 19:52, 23 August 2017 (UTC)

MON 15

I just joined NDWiki and would like to contribute. I have not found any doc on MON 15 which is used by NPL, MAC and QED. Years back I tried to find out what this monitor call wa doing. In my emulator I have this notes:

Old undocumented monitor call, used by NPL/MAC/QED in connection with old open file
  These programs invoke this monitor call using instruction code 161015 octal
  X points to data area to set up
  T is a pointer and is used as a parameter to set up the data structure
  D indicates the buffer length in bytes

Establish data structure to be used by MON 20 Then used by MON 42 to open file (old open)

Carl-Victor Sundling

Ref. the undocumented MON 15. I was trying to figure out the moncall myself some years ago. The last information I found was from (from my notes) 'the TSS manual', which must have been Norsk Data Document ND–60.039.01 REFERENCE MANUAL FOR THE NORD TIMESHARING SYSTEM
So it looks like it was a moncall in NORD-TSS (TimeSharing System) and may have been backwards supported in SINTRAN due to those old tools. If it is the same call. I suspect it is, although I'm not sure if the full functionality of the old one is there - if it only needs to work with NPL/MAC/QED then maybe it doesn't. See below for what I basically copied from the TSS manual. Thanks for bringing it up, it reminds me that we need to work on the documentation for monitor calls.
--TArntsen (talk) 07:50, 13 May 2019 (UTC)
SETUP - Generate a string descriptor
 X = address of string descriptor (5 word object)
 T = location of string
 AD = maximum size of string in bytes
 Descriptor:
   4 character pointers:
     beginning pointer
     end pointer
     reader pointer
     writer pointer
    A string is the characters between the reader and writer pointers.
    reader <= writer and both pointers must be within beg/end
SETUP seems to take T and A and write a descriptor to (X), with reader=writer=beg

Instruction test program

Does anyone have a :BPUN file of the instruction test program? I would like to have it to test my emulator. The idea is to replace the IOX instructions for terminal input/output with MON 1 and MON 2. I have tried to find a floppy image with the instruction test program (and use ndfs) to extract it, but without success so far.

Try this one: https://www.dropbox.com/s/6x2vw7cquaa3b7o/10523D01-XX-01D.image.gz It includes INSTRUCTION-B:BPUN. But note that this test program needs a nearly fully functioning emulation of 16 interrupt levels, ION/IOF instructions, etc. TArntsen (talk) 10:04, 19 May 2019 (UTC)
As said above, to test with that program, you have to emulate on cpu level, with interrupts, iox calls, cpu runlevels etc. Tingo has put nd100em on github I saw, so you can download that and try with. Btw, am back coding again on that and hopefully will have it booting from a virtual tapereader soonish. Skipping floppy for now until I have running real hw to compare with. Roger (talk) 10:37, 20 May 2019 (UTC)
I got my emulator booting from a (virtual) tapereader recently, however that's not much different from loading a BPUN - but if you're having issues just ask. Of course the tricky part is booting something that needs the full monthy of interrupts, rings, privileged instructions etc.. my emulator is still mostly good for just user level. As for test programs - have you figured out how the instruction-c is to be used? The :TEST and :NEXT file formats? TArntsen (talk) 10:50, 20 May 2019 (UTC)
Exactly, it should be very similar to just loading a BPUN, but it will allow that BPUN to pull in more stuff later if it wants if its register compatible. Anyway, the testdisk I use have all test programs as BPUNs, so I can use them by just loading them instead. If you have the TEST and NEXT file endings it's newer. I haven't tried those yet. Roger (talk) 15:19, 20 May 2019 (UTC)
My emulator is now running the TPE-MONITOR program (with two patches). TPE-MONITOR can load :TEST programs, but most of them requires I/O-handling, paging etc. I have patched the INSTRUCTION-C03:TEST program and can now run all tests without getting the "NOT EXECUTABLE UNDER SINTRAN" message. All tests of non-priveleged instructions like BIT, SHIFT, BYTE etc. work fine. I did, however, need to implement interrupt level changing since the test program runs on levels 1 to 9. The MOVEW instruction works as well with some "tricks" in the emulation code. This test seems to be using the paging system, which my emulator can not handle. Running the tests I found an error in the BCD instructions, an error in floating (the two last bits in the mantissa) and a fault in SUB (carry). Currently I believe there is an error in the stack instructions which I will look further into. It was worth the effort to do this work, but I think there are still errors in the emulation, the test program did not look very extensive.... CVS (talk) 07:29, 23 December 2019 (UTC).

PASCAL compiler

I am trying to make PASCAL running in my emulator and have extracted files from ND-10076J.image.gz using ndfs. The :BRF files seems to corrupted, NRL and BRF-EDITOR reports illegal BRF control bytes in all of them. BRF-EDITOR lists a number of entries but some of them looks a little bit strange to me. The problem may be caused by an error in my emulator, a bad floppy image, an error in reading the floppy or an error in ndfs. I have retrieved a number of different files from other images using ndfs. Most of them are OK, but I have problems with some of them. My first guess is that the problems relate to bad floppy images or the reading of the floppies. Does anybody have a possibility to e.g. check the PASCAL files, e.g. running BRF-EDITOR - LIST-ENTRIES in an emulator or even on a ND-xxx computer? CVS (talk) 11:50, 25 february 2021 (UTC).

The ND-10076J image appears to be corrupted, possibly due to being a copy made by an early version of FluxEngine, or other reasons. One definite clue is that the file PASCAL-ERR-J:SYMB, which is a text file, definitely is corrupted. The same file (same size) is also in ND-10187J, where it looks fine. And yes my Linux command line tool which I wrote to examine .brf files also doesn't like the content. TArntsen (talk) 11:17, 25 February 2021 (UTC)
Thank you! I have another question: How can I extract files from the images I find at www.datormuseum.se They seem to be in a format not usable by ndfs.

CVS (talk) 13:30, 25 february 2021 (UTC).

They are in IMD format, so you need to convert from IMD to RAW, which will work with ndfs. On Linux/Unix you may use https://github.com/ptor/imd2raw which can be used as follows:
cat DISK9.IMD | imd2raw > disk9.img
ndfs -t disk9.img
Directory name            : N-10-102-I
Filesystem image size     : 154 pages
Object file index pointer : 149 SI: 0x1 (indexed)
User file index pointer   : 151 SI: 0x1 (indexed)
Bit file pointer          : 153 SI: 0x0 (contiguous)
No. of unreserved pages   : 1
Files:
 0   0: A       20 pages     31916 bytes 1985-12-22 15:20:22 (SYSTEM)MACM-1718K:BPUN
 0   1: A      127 pages    190735 bytes 1985-12-22 15:20:29 (SYSTEM)SINTRAN-I:DATA
Directory size            : 149 pages
Bit file size             : 1 page

NB: Some of the images are in non-floppy formats, they may e.g. be in tape format. They can also be extracted from by another tool than ndfs, but there aren't that many of them. But if you need them it can probably be done. TArntsen (talk) 13:54, 25 February 2021 (UTC)

I converted all the floppy images at datormuseum to image format and made a tar file with the image files, the labels, and the PDF file which describes the content. It's 18MB compressed, but I don't have a place to put it. TArntsen (talk) 14:12, 25 February 2021 (UTC)