80-Bus News

  

January–March 1982 · Volume 1 · Issue 1

Page 6 of 55

To the editor of this excellent mag: can you accept contributions on Gemini 5.25″ disks with ED files, and return the disks afterwards? (Yes thanks, but Pen disks would be nicer! – Ed.)

Finally, with so many talking about Nascom 1s running at 4 MHz (“they work a lot more often than you would think”), has anyone tried running a Nascom 2 at 6 MHz, perhaps with ‘B’ chips?!!!

P. Holy, Worthing

Try This Instead

I have only just seen a copy of INMC 80 No.5. and I read with interest the article by P. Forrester, but why make the routine decoder so complicated? Why not just use the address of the target routine as the USR argument? Then if the decoder is at 0C80:–

0C80   CD 8B E9 ;   Get argument in DE
0C83   EB       ;   put into HL
0C84   E9       ;   jump to this address

The decimal value must be used – the only problem would be if the routine was above 8000H when the appropriate negative value would have to be used. If your routine is at 0C90H (or 3216 decimal) then it can be called by A=USR(3216), if at 8000H by A=USR(-32768). Both Mr Forrester’s and the above mean variables must be passed by POKE or DOKE – or does it? It is quite easy to follow the call with arguments and then pick these up in your machine code. Passing fixed numbers is easy but Basic variables slightly more complex. If anyone is interested send an SAE to the address below and I’ll send details.

Bill Lounds, Cotcliffe Villa, Sunnyside Rd, Ketley Bank, Telford, ___ ___.

BLS Pascal = Nascom Pascal

I read with great interest the review of our Blue Label Software Pascal in INMC80-5, and I must say that I find it to be accurate in every detail. However, in the past eight months some changes have occurred to the package, both in terms of modifications and additions, as well as to distribution and pricing. Therefore this letter is to keep readers up to date.

As from December ’81 distribution was taken over by Lucas Logic, which means that the package should now be available through most (if not all) Nascom dealers. At the same time the name was changed to Nascom Pascal, and the prices dropped a bit to 45.00 for the tape version, and 70.00 for the EPROM version.

Nascom Pascal is almost identical to the version of BLS Pascal described in the review. The differences are the following additions: Port I/O is supported through a predefined procedure called OUT, which sends a byte to a port, and a predefined function called INP, which reads a byte from a port. CODE procedures and functions give the ability to define machine code subroutines within a program through a list of constants (in hex or decimal as appropriate) representing Z80 instructions, and hex integers can be input in READ and READLN statements.

In the review Mr O’Farrell expresses his wish that the package, in a future version, should include sets, user defined types and records. I do, of course, agree that the inclusion of these features would result in an even better subset of Pascal, but it would also increase the memory overhead by say 4-8K bytes, and I am not sure whether the equivalent loss of workspace would be worth it or not. The main attraction of Nascom Pascal is that due to its compactness, it can reside in memory in full, still leaving considerable room

Page 6 of 55