Home » Archimedes archive » Zipped Apps » BCPL » BCPL/alib/headers/Brazil
BCPL/alib/headers/Brazil
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Zipped Apps » BCPL |
Filename: | BCPL/alib/headers/Brazil |
Read OK: | ✔ |
File size: | 06B6 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
; SVC calls WriteC * 0 WriteS * 1 Write0 * 2 NewLine * 3 ReadC * 4 CLI * 5 Byte * 6 Word * 7 File * 8 Args * 9 BGet * &a BPut * &b Multiple * &c Open * &d ReadLine * &e Control * &f GetEnv * &10 Exit * &11 SetEnv * &12 IntOn * &13 IntOff * &14 CallBack * &15 EnterSVC * &16 BreakPt * &17 BreakCtrl * &18 UnusedSWI * &19 KUpdateMEMC * &1A SetCallBack * &1B WriteI * &100 MACRO OSbyte $no,$arg1,$arg2 [ "$arg2"<>"" MOV r2, #$arg2 ] [ "$arg1"<>"" MOV r1, #$arg1 ] MOV r0, #$no SWI Byte MEND MACRO OSword $no,$buffer,$code [ "$code"<>"" ADR r1, $buffer | ADD r1, sb, #$buffer._offset ] MOV r0, #$no SWI Word MEND MACRO writes $Arg1 ADR r0, %F00 SWI Write0 B %F01 00 = "$Arg1" = 0 ALIGN 01 MEND MACRO writeln $Arg1 ADR r0, %F00 SWI Write0 B %F01 00 = "$Arg1" = 10, 13, 0 ALIGN 01 MEND MACRO wrch $Arg1 SWI &100+"$Arg1" MEND ; ; OSBYTE numbers ChangeOutput * 3 ControlCursorEditing * 4 SetAutoRepeatDelay * 11 SetAutoRepeatRate * 12 DisableEvent * 13 EnableEvent * 14 ResetSoftKeys * 18 KeyboardScan * 121 GetBufferStatus * 128 InsertIntoBuffer * 138 RemoveFromBuffer * 145 ReadPageFC * 146 WritePageFC * 147 ReadWriteTabCharacter * 219 ReadWriteEscapeStatus * 229 ; ; OSWORD numbers ; ReadClock * 1 WriteClock * 2 ReadTimer * 3 WriteTimer * 4 ; ; Event numbers ; BufferEmptyEvent * 0 BufferFullEvent * 1 KeyboardEvent * 2 ADCEvent * 3 VsyncEvent * 4 TimerEvent * 5 EscapeEvent * 6 EconetEvent * 254 ; Arguments for CHANGEOUTPUT OSbyte call RS423Only * 1+2+4+&10 PrinterOnly * 2+8+&10 VDUOnly * 4+&10 ; Buffer numbers ; KBBuffer * 0 SerialInBuffer * 1 SerialOutBuffer * 2 PrinterBuffer * 3 Sound1Buffer * 4 ; First sound buffer END
00000000 0a 3b 20 53 56 43 20 63 61 6c 6c 73 0a 57 72 69 |.; SVC calls.Wri| 00000010 74 65 43 09 09 2a 09 30 0a 57 72 69 74 65 53 09 |teC..*.0.WriteS.| 00000020 09 2a 09 31 0a 57 72 69 74 65 30 09 09 2a 09 32 |.*.1.Write0..*.2| 00000030 0a 4e 65 77 4c 69 6e 65 20 09 2a 09 33 0a 52 65 |.NewLine .*.3.Re| 00000040 61 64 43 09 09 2a 09 34 0a 43 4c 49 09 09 2a 09 |adC..*.4.CLI..*.| 00000050 35 0a 42 79 74 65 09 09 2a 09 36 0a 57 6f 72 64 |5.Byte..*.6.Word| 00000060 09 09 2a 09 37 0a 46 69 6c 65 09 09 2a 09 38 0a |..*.7.File..*.8.| 00000070 41 72 67 73 09 09 2a 09 39 0a 42 47 65 74 09 09 |Args..*.9.BGet..| 00000080 2a 09 26 61 0a 42 50 75 74 09 09 2a 09 26 62 0a |*.&a.BPut..*.&b.| 00000090 4d 75 6c 74 69 70 6c 65 09 2a 09 26 63 0a 4f 70 |Multiple.*.&c.Op| 000000a0 65 6e 09 09 2a 09 26 64 0a 52 65 61 64 4c 69 6e |en..*.&d.ReadLin| 000000b0 65 09 2a 09 26 65 0a 43 6f 6e 74 72 6f 6c 20 09 |e.*.&e.Control .| 000000c0 2a 09 26 66 0a 47 65 74 45 6e 76 09 09 2a 09 26 |*.&f.GetEnv..*.&| 000000d0 31 30 0a 45 78 69 74 09 09 2a 09 26 31 31 0a 53 |10.Exit..*.&11.S| 000000e0 65 74 45 6e 76 09 09 2a 09 26 31 32 0a 49 6e 74 |etEnv..*.&12.Int| 000000f0 4f 6e 09 09 2a 09 26 31 33 0a 49 6e 74 4f 66 66 |On..*.&13.IntOff| 00000100 09 09 2a 09 26 31 34 0a 43 61 6c 6c 42 61 63 6b |..*.&14.CallBack| 00000110 09 2a 09 26 31 35 0a 45 6e 74 65 72 53 56 43 09 |.*.&15.EnterSVC.| 00000120 2a 09 26 31 36 0a 42 72 65 61 6b 50 74 20 09 2a |*.&16.BreakPt .*| 00000130 09 26 31 37 0a 42 72 65 61 6b 43 74 72 6c 09 2a |.&17.BreakCtrl.*| 00000140 09 26 31 38 0a 55 6e 75 73 65 64 53 57 49 09 2a |.&18.UnusedSWI.*| 00000150 09 26 31 39 0a 4b 55 70 64 61 74 65 4d 45 4d 43 |.&19.KUpdateMEMC| 00000160 09 2a 09 26 31 41 0a 53 65 74 43 61 6c 6c 42 61 |.*.&1A.SetCallBa| 00000170 63 6b 09 2a 09 26 31 42 0a 0a 57 72 69 74 65 49 |ck.*.&1B..WriteI| 00000180 09 09 2a 09 26 31 30 30 0a 0a 09 4d 41 43 52 4f |..*.&100...MACRO| 00000190 0a 09 4f 53 62 79 74 65 20 24 6e 6f 2c 24 61 72 |..OSbyte $no,$ar| 000001a0 67 31 2c 24 61 72 67 32 0a 20 5b 20 22 24 61 72 |g1,$arg2. [ "$ar| 000001b0 67 32 22 3c 3e 22 22 0a 09 4d 4f 56 09 72 32 2c |g2"<>""..MOV.r2,| 000001c0 20 23 24 61 72 67 32 0a 20 5d 0a 20 5b 20 22 24 | #$arg2. ]. [ "$| 000001d0 61 72 67 31 22 3c 3e 22 22 0a 09 4d 4f 56 09 72 |arg1"<>""..MOV.r| 000001e0 31 2c 20 23 24 61 72 67 31 0a 20 5d 0a 09 4d 4f |1, #$arg1. ]..MO| 000001f0 56 09 72 30 2c 20 23 24 6e 6f 0a 09 53 57 49 09 |V.r0, #$no..SWI.| 00000200 42 79 74 65 0a 09 4d 45 4e 44 0a 0a 09 4d 41 43 |Byte..MEND...MAC| 00000210 52 4f 0a 09 4f 53 77 6f 72 64 20 24 6e 6f 2c 24 |RO..OSword $no,$| 00000220 62 75 66 66 65 72 2c 24 63 6f 64 65 0a 20 5b 20 |buffer,$code. [ | 00000230 22 24 63 6f 64 65 22 3c 3e 22 22 0a 09 41 44 52 |"$code"<>""..ADR| 00000240 09 72 31 2c 20 24 62 75 66 66 65 72 0a 20 7c 0a |.r1, $buffer. |.| 00000250 09 41 44 44 09 72 31 2c 20 73 62 2c 20 23 24 62 |.ADD.r1, sb, #$b| 00000260 75 66 66 65 72 2e 5f 6f 66 66 73 65 74 0a 20 5d |uffer._offset. ]| 00000270 0a 09 4d 4f 56 09 72 30 2c 20 23 24 6e 6f 0a 09 |..MOV.r0, #$no..| 00000280 53 57 49 09 57 6f 72 64 0a 09 4d 45 4e 44 0a 0a |SWI.Word..MEND..| 00000290 09 4d 41 43 52 4f 0a 09 77 72 69 74 65 73 09 24 |.MACRO..writes.$| 000002a0 41 72 67 31 0a 09 41 44 52 09 72 30 2c 20 25 46 |Arg1..ADR.r0, %F| 000002b0 30 30 0a 09 53 57 49 09 57 72 69 74 65 30 0a 09 |00..SWI.Write0..| 000002c0 42 09 25 46 30 31 0a 30 30 0a 09 3d 09 22 24 41 |B.%F01.00..=."$A| 000002d0 72 67 31 22 0a 09 3d 09 30 0a 09 41 4c 49 47 4e |rg1"..=.0..ALIGN| 000002e0 0a 30 31 0a 09 4d 45 4e 44 0a 0a 09 4d 41 43 52 |.01..MEND...MACR| 000002f0 4f 0a 09 77 72 69 74 65 6c 6e 20 24 41 72 67 31 |O..writeln $Arg1| 00000300 0a 09 41 44 52 09 72 30 2c 20 25 46 30 30 0a 09 |..ADR.r0, %F00..| 00000310 53 57 49 09 57 72 69 74 65 30 0a 09 42 09 25 46 |SWI.Write0..B.%F| 00000320 30 31 0a 30 30 0a 09 3d 09 22 24 41 72 67 31 22 |01.00..=."$Arg1"| 00000330 0a 09 3d 09 31 30 2c 20 31 33 2c 20 30 0a 09 41 |..=.10, 13, 0..A| 00000340 4c 49 47 4e 0a 30 31 0a 09 4d 45 4e 44 0a 0a 09 |LIGN.01..MEND...| 00000350 4d 41 43 52 4f 0a 09 77 72 63 68 09 24 41 72 67 |MACRO..wrch.$Arg| 00000360 31 0a 09 53 57 49 09 26 31 30 30 2b 22 24 41 72 |1..SWI.&100+"$Ar| 00000370 67 31 22 0a 09 4d 45 4e 44 0a 0a 3b 0a 3b 20 4f |g1"..MEND..;.; O| 00000380 53 42 59 54 45 20 6e 75 6d 62 65 72 73 0a 43 68 |SBYTE numbers.Ch| 00000390 61 6e 67 65 4f 75 74 70 75 74 09 09 2a 09 33 0a |angeOutput..*.3.| 000003a0 43 6f 6e 74 72 6f 6c 43 75 72 73 6f 72 45 64 69 |ControlCursorEdi| 000003b0 74 69 6e 67 09 2a 09 34 0a 53 65 74 41 75 74 6f |ting.*.4.SetAuto| 000003c0 52 65 70 65 61 74 44 65 6c 61 79 09 2a 09 31 31 |RepeatDelay.*.11| 000003d0 0a 53 65 74 41 75 74 6f 52 65 70 65 61 74 52 61 |.SetAutoRepeatRa| 000003e0 74 65 09 2a 09 31 32 0a 44 69 73 61 62 6c 65 45 |te.*.12.DisableE| 000003f0 76 65 6e 74 09 09 2a 09 31 33 0a 45 6e 61 62 6c |vent..*.13.Enabl| 00000400 65 45 76 65 6e 74 09 09 2a 09 31 34 0a 52 65 73 |eEvent..*.14.Res| 00000410 65 74 53 6f 66 74 4b 65 79 73 09 09 2a 09 31 38 |etSoftKeys..*.18| 00000420 0a 4b 65 79 62 6f 61 72 64 53 63 61 6e 09 09 2a |.KeyboardScan..*| 00000430 09 31 32 31 0a 47 65 74 42 75 66 66 65 72 53 74 |.121.GetBufferSt| 00000440 61 74 75 73 20 09 2a 09 31 32 38 0a 49 6e 73 65 |atus .*.128.Inse| 00000450 72 74 49 6e 74 6f 42 75 66 66 65 72 09 2a 09 31 |rtIntoBuffer.*.1| 00000460 33 38 0a 52 65 6d 6f 76 65 46 72 6f 6d 42 75 66 |38.RemoveFromBuf| 00000470 66 65 72 09 2a 09 31 34 35 0a 52 65 61 64 50 61 |fer.*.145.ReadPa| 00000480 67 65 46 43 09 09 2a 09 31 34 36 0a 57 72 69 74 |geFC..*.146.Writ| 00000490 65 50 61 67 65 46 43 09 09 2a 09 31 34 37 0a 52 |ePageFC..*.147.R| 000004a0 65 61 64 57 72 69 74 65 54 61 62 43 68 61 72 61 |eadWriteTabChara| 000004b0 63 74 65 72 09 2a 09 32 31 39 0a 52 65 61 64 57 |cter.*.219.ReadW| 000004c0 72 69 74 65 45 73 63 61 70 65 53 74 61 74 75 73 |riteEscapeStatus| 000004d0 09 2a 09 32 32 39 0a 3b 0a 3b 20 4f 53 57 4f 52 |.*.229.;.; OSWOR| 000004e0 44 20 6e 75 6d 62 65 72 73 0a 3b 0a 52 65 61 64 |D numbers.;.Read| 000004f0 43 6c 6f 63 6b 09 2a 09 31 0a 57 72 69 74 65 43 |Clock.*.1.WriteC| 00000500 6c 6f 63 6b 09 2a 09 32 0a 52 65 61 64 54 69 6d |lock.*.2.ReadTim| 00000510 65 72 09 2a 09 33 0a 57 72 69 74 65 54 69 6d 65 |er.*.3.WriteTime| 00000520 72 09 2a 09 34 0a 3b 0a 3b 20 45 76 65 6e 74 20 |r.*.4.;.; Event | 00000530 6e 75 6d 62 65 72 73 0a 3b 0a 42 75 66 66 65 72 |numbers.;.Buffer| 00000540 45 6d 70 74 79 45 76 65 6e 74 09 2a 09 30 0a 42 |EmptyEvent.*.0.B| 00000550 75 66 66 65 72 46 75 6c 6c 45 76 65 6e 74 20 09 |ufferFullEvent .| 00000560 2a 09 31 0a 4b 65 79 62 6f 61 72 64 45 76 65 6e |*.1.KeyboardEven| 00000570 74 09 09 2a 09 32 0a 41 44 43 45 76 65 6e 74 09 |t..*.2.ADCEvent.| 00000580 09 2a 09 33 0a 56 73 79 6e 63 45 76 65 6e 74 09 |.*.3.VsyncEvent.| 00000590 09 2a 09 34 0a 54 69 6d 65 72 45 76 65 6e 74 09 |.*.4.TimerEvent.| 000005a0 09 2a 09 35 0a 45 73 63 61 70 65 45 76 65 6e 74 |.*.5.EscapeEvent| 000005b0 09 09 2a 09 36 0a 45 63 6f 6e 65 74 45 76 65 6e |..*.6.EconetEven| 000005c0 74 09 09 2a 09 32 35 34 0a 0a 3b 20 41 72 67 75 |t..*.254..; Argu| 000005d0 6d 65 6e 74 73 20 66 6f 72 20 43 48 41 4e 47 45 |ments for CHANGE| 000005e0 4f 55 54 50 55 54 20 4f 53 62 79 74 65 20 63 61 |OUTPUT OSbyte ca| 000005f0 6c 6c 0a 52 53 34 32 33 4f 6e 6c 79 09 2a 09 31 |ll.RS423Only.*.1| 00000600 2b 32 2b 34 2b 26 31 30 0a 50 72 69 6e 74 65 72 |+2+4+&10.Printer| 00000610 4f 6e 6c 79 09 2a 09 32 2b 38 2b 26 31 30 0a 56 |Only.*.2+8+&10.V| 00000620 44 55 4f 6e 6c 79 20 09 2a 09 34 2b 26 31 30 0a |DUOnly .*.4+&10.| 00000630 0a 3b 20 42 75 66 66 65 72 20 6e 75 6d 62 65 72 |.; Buffer number| 00000640 73 0a 3b 0a 4b 42 42 75 66 66 65 72 09 2a 09 30 |s.;.KBBuffer.*.0| 00000650 0a 53 65 72 69 61 6c 49 6e 42 75 66 66 65 72 09 |.SerialInBuffer.| 00000660 2a 09 31 0a 53 65 72 69 61 6c 4f 75 74 42 75 66 |*.1.SerialOutBuf| 00000670 66 65 72 20 2a 09 32 0a 50 72 69 6e 74 65 72 42 |fer *.2.PrinterB| 00000680 75 66 66 65 72 09 2a 09 33 0a 53 6f 75 6e 64 31 |uffer.*.3.Sound1| 00000690 42 75 66 66 65 72 09 2a 09 34 20 3b 20 46 69 72 |Buffer.*.4 ; Fir| 000006a0 73 74 20 73 6f 75 6e 64 20 62 75 66 66 65 72 0a |st sound buffer.| 000006b0 0a 09 45 4e 44 0a |..END.| 000006b6