80-Bus News


July–August 1984, Volume 3, Issue 4

Page 12 of 43


If you compile them, and run either, you will see them chaining each other alternately for ages. Unless you were not on drive A:, of course. CP/M insists on this, unfortunately, so I would like to know how to make drives A: and P: (my MAP-80 ramdisk) change their names by fiddling with the BIOS. If it can be done by some sort of poke from a Pascal program, that would be extra neat. Anybody know how?

Another little problem now arises. Programs that are so huge that they have to be broken up and chain each other are going to have lots of variables in them, which will be lost when CP/M takes over at the end of each program. Easy! Make sure the program saves the ones the other programs will need as a disk file. Compas lets you do it an easier way, you have to be using global variables, which are all the same for each program, and declared in the same order, and they will still be there when the next program is loaded, it says in the manual. I don’t think it sounds like a very safe way to go about things, as putting a new variable in one program will mean altering all of the other programs in a system, and if you forget, and try to run them, all heil will be let loose, as programs start assuming one variable to be another. So I will use files. In fact, given the speed of ramdisks, and the fact that the file you pass the data in can be on any drive, this is the easy way to do it. As it happens, there is a lot to be said, as your programs grow ever bigger, for designing them to use files anyway, rather than arrays. It gives you more room, although it does need the sort of fast access Winchesters and ramdisks

give you.

And now the same thing in Assembler!

Just to show it can be done, here is one half of the same thing in assembler. To make the other half, you want almost the same file again, with the exceptions that the message in line 40 should refer to Program chain 2, and the file name in line 44 should be altered to CHAINONE. The space before the file name is vital. I should still like to hear from anyone who knows why

this is...

= e “ wt 2 ont 3 4 3 £ wa 3B wt 3 . * SS a e be eo ei D3 28 s e a- 4 ot > kl “4 pars . 6 ras) wt go med ooo a ad She eal ‘o + ie cir f=} c oo a ex) oO ow ot fee ord sr oCco a a se ... ® z * B a a 8 = Q a ot g a F off a o o Bee? a a 2] a nd cg RQ 4d et at O <7) ooe At et ri io) < a a § & odd 8 E Qo o © fe aa = a By BB o oO a i ooo 8 oa Hee ce rn ey eo goem BR or Be a ba bet wy a gS +3 oO. 3g QO oO Seas G oO ‘ oO bo by < fy ooo Qo he Homma e AmHiN mE UZ = on m Oo fe EY of ad O md Oo yvposg ata wo nm Oo oad wan wn oN TD ont NEO w u = o tooo SWAaoocdsd mr oO We oO o ie mo oO Ie Oo OH et go> > Pa og mo fr Boatu aa porn | Am AUVANOANARAm BOAR TOANRON cr Of cr OO Or ooo ft net pe MH wd oH w wl wr i as 2m wo mm BREBBESaatdaaakeandaga paagniageiageitad GEE BREE BEERS BAM MGA AO Aaa AAO AAO PAA AA BAO EAS LAO AAA AaAARAA ABABA a § u w vy o u a a wy a S as o 3 bet Ze 8 ad & mB 7h a e od ‘ v Q R Pe SGaand c 8 e E 3g &@ 2g g 5 wo fa BO AJ oem oA -" on an an on Ra = 2 Bi HAO EMN GR OKROHAMNENON DHROHAMTNORODHDAAYN ANON OHAOHANT OOM OAS AAMT ot Ht et et HANNAN NN NANAIMO AHN s ste raetersr NANNY wt O “A OOD oo eo at OO Ooo oo Qo oo ooo oo oo ooo oOo oo Oo ANA MOTO MONWODOW HENO NOW oon oOo StS COANR BHeetsA S288 B28 goa BA o 2 od oe – md ed ot Ono Nt On OA OGHO NAO B26 Oe O ou ABA 288s Sasses w 2 eonn oOo 4A AMNOMMHAO MOD om wo ra) oooococeo ete eed pind pie ed ee eo md ee et pon Eom re eet ed tet emt mn set dp ret ded et SFOCG6GGS 200 G2CO00O F9O0000 SOOO 980900 O00 CO 09D GBOOoG oCcOCe

This is an OCR’d version of the scanned page and likely contains recognition errors.

Page 12 of 43