text:
Oberon/V2/Net

MODULE Net; (*NW 3.7.88 / 25.8.91*) IMPORT SCC, Files, Viewers, Texts, TextFrames, MenuViewers, Oberon; CONST PakSize = 512; T0 = 300; T1 = 1000; (*timeouts*) ACK = 10H; NAK = 25H; NPR = 26H; (*acknowledgements*) NRQ = 34H; NRS = 35H; (*name request, response*) SND = 41H; REC = 42H; MSG = 44H; VAR W: Texts.Writer; Server: Oberon.Task; head0, head1: SCC.Header; partner, dmy: ARRAY 8 OF CHAR; protected: BOOLEAN; (*write-protection*) PROCEDURE SetPartner(VAR name: ARRAY OF CHAR); BEGIN head0.dadr := head1.sadr; COPY(name, partner) END SetPartner; PROCEDURE Send(t: SHORTINT; L: INTEGER; VAR data: ARRAY OF CHAR); BEGIN head0.typ := t; head0.len := L; SCC.SendPacket(head0, data) END Send; PROCEDURE ReceiveHead(timeout: LONGINT); VAR time: LONGINT; BEGIN time := Oberon.Time + timeout; LOOP SCC.ReceiveHead(head1); IF head1.valid THEN IF head1.sadr = head0.dadr THEN EXIT ELSE SCC.Skip(head1.len) END ELSIF Oberon.Time >= time THEN head1.typ := -1; EXIT END END END ReceiveHead; PROCEDURE FindPartner(VAR name: ARRAY OF CHAR; VAR res: INTEGER); VAR time: LONGINT; k: INTEGER; BEGIN SCC.Skip(SCC.Available); res := 0; IF name # partner THEN k := 0; WHILE name[k] > 0X DO INC(k) END ; head0.dadr := -1; Send(NRQ, k+1, name); time := Oberon.Time + T1; LOOP SCC.ReceiveHead(head1); IF head1.valid THEN IF head1.typ = NRS THEN SetPartner(name); EXIT ELSE SCC.Skip(head1.len) END ELSIF Oberon.Time >= time THEN res := 1; partner[0] := 0X; EXIT END END END END FindPartner; PROCEDURE AppendS(VAR s, d: ARRAY OF CHAR; VAR k: INTEGER); VAR i: INTEGER; ch: CHAR; BEGIN i := 0; REPEAT ch := s[i]; d[k] := ch; INC(i); INC(k) UNTIL ch = 0X END AppendS; PROCEDURE AppendW(s: LONGINT; VAR d: ARRAY OF CHAR; 		n: INTEGER; VAR k: INTEGER); VAR i: INTEGER; BEGIN i := 0; REPEAT d[k] := CHR(s); s := s DIV 100H; INC(i); INC(k) UNTIL i = n 	END AppendW; PROCEDURE PickS(VAR s: ARRAY OF CHAR); VAR i: INTEGER; ch: CHAR; BEGIN i := 0; REPEAT SCC.Receive(ch); s[i] := ch; INC(i) UNTIL ch = 0X END PickS; PROCEDURE PickQ(VAR w: LONGINT); VAR c0, c1, c2: CHAR; s: SHORTINT; BEGIN SCC.Receive(c0); SCC.Receive(c1); SCC.Receive(c2); SCC.Receive(s); w := s; w := ((w * 100H + LONG(c2)) * 100H + LONG(c1)) * 100H + LONG(c0) END PickQ; PROCEDURE SendData(F: Files.File); VAR k: INTEGER; seqno: SHORTINT; x: CHAR; len: LONGINT; R: Files.Rider; buf: ARRAY PakSize OF CHAR; BEGIN Files.Set(R, F, 0); len := 0; seqno := 0; LOOP k := 0; LOOP Files.Read(R, x); IF R.eof THEN EXIT END ; buf[k] := x; INC(k); IF k = PakSize THEN EXIT END END ; REPEAT Send(seqno, k, buf); ReceiveHead(T1) UNTIL head1.typ # seqno + ACK; seqno := (seqno + 1) MOD 8; len := len + k; 			IF head1.typ # seqno + ACK THEN Texts.WriteString(W, " failed"); EXIT END ; IF k < PakSize THEN EXIT END END ; Texts.WriteInt(W, len, 7) END SendData; PROCEDURE ReceiveData(F: Files.File; VAR done: BOOLEAN); VAR k, retry: INTEGER; seqno: SHORTINT; x: CHAR; len: LONGINT; R: Files.Rider; BEGIN Files.Set(R, F, 0); seqno := 0; len := 0; retry := 2; LOOP IF head1.typ = seqno THEN seqno := (seqno + 1) MOD 8; len := len + head1.len; retry := 2; Send(seqno + ACK, 0, dmy); k := 0; WHILE k < head1.len DO 					SCC.Receive(x); Files.Write(R, x); INC(k) END ; IF k < PakSize THEN done := TRUE; EXIT END ELSE DEC(retry); IF retry = 0 THEN Texts.WriteString(W, " failed"); done := FALSE; EXIT END ; Send(seqno + ACK, 0, dmy) END ; ReceiveHead(T0) END ; Texts.WriteInt(W, len, 7) END ReceiveData; PROCEDURE reply(msg: INTEGER); BEGIN CASE msg OF 			0: | 1: Texts.WriteString(W, " no link") | 2: Texts.WriteString(W, " no permission") | 3: Texts.WriteString(W, " not done") | 4: Texts.WriteString(W, " not found") | 5: Texts.WriteString(W, " no response") END ; Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END reply; PROCEDURE* Serve; VAR i: INTEGER; done: BOOLEAN; ch: CHAR; F: Files.File; pw: LONGINT; Id: ARRAY 10 OF CHAR; FileName: ARRAY 32 OF CHAR; BEGIN SCC.ReceiveHead(head1); IF head1.valid THEN IF head1.typ = SND THEN PickS(Id); PickQ(pw); PickS(FileName); Texts.WriteString(W, Id); Texts.Write(W, " "); Texts.WriteString(W, FileName); F := Files.Old(FileName); IF F # NIL THEN Texts.WriteString(W, " sending"); SetPartner(Id); Texts.Append(Oberon.Log, W.buf); SendData(F) ELSE Send(NAK, 0, dmy); Texts.Write(W, "~") END ; reply(0) ELSIF head1.typ = REC THEN PickS(Id); PickQ(pw); PickS(FileName); IF ~protected THEN Texts.WriteString(W, Id); Texts.Write(W, " "); Texts.WriteString(W, FileName); F := Files.New(FileName); IF F # NIL THEN Texts.WriteString(W, " receiving"); SetPartner(Id); Texts.Append(Oberon.Log, W.buf); Send(ACK, 0, dmy); ReceiveHead(T0); ReceiveData(F, done); IF done THEN Files.Register(F) END ELSE Send(NAK, 0, dmy); Texts.Write(W, "~") END ; reply(0) ELSE Send(NPR, 0, dmy) END ELSIF head1.typ = MSG THEN i := 0; WHILE i < head1.len DO SCC.Receive(ch); Texts.Write(W, ch); INC(i) END ; Send(ACK, 0, dmy); reply(0) ELSIF head1.typ = NRQ THEN i := 0; LOOP SCC.Receive(ch); Id[i] := ch; INC(i); IF ch = 0X THEN EXIT END ; IF i = 7 THEN Id[7] := 0X; EXIT END END ; WHILE i < head1.len DO SCC.Receive(ch); INC(i) END ; IF Id = Oberon.User THEN SetPartner(Id); Send(NRS, 0, dmy) END ELSE SCC.Skip(head1.len) END END END Serve; PROCEDURE GetPar1(VAR S: Texts.Scanner); BEGIN Texts.OpenScanner(S, Oberon.Par.text, Oberon.Par.pos); Texts.Scan(S) END GetPar1; PROCEDURE GetPar(VAR S: Texts.Scanner; VAR end: LONGINT); VAR T: Texts.Text; beg, tm: LONGINT; BEGIN Texts.Scan(S); IF (S.class = Texts.Char) & (S.c = "^") THEN Oberon.GetSelection(T, beg, end, tm); IF tm >= 0 THEN Texts.OpenScanner(S, T, beg); Texts.Scan(S) END ELSE end := Oberon.Par.text.len END END GetPar; PROCEDURE SendFiles*; VAR k: INTEGER; end: LONGINT; S: Texts.Scanner; F: Files.File; name: ARRAY 32 OF CHAR; buf: ARRAY 64 OF CHAR; BEGIN GetPar1(S); IF S.class = Texts.Name THEN FindPartner(S.s, k); IF k = 0 THEN GetPar(S, end); LOOP IF S.class # Texts.Name THEN EXIT END ; Texts.WriteString(W, S.s); k := 0; AppendS(S.s, name, k); IF S.nextCh = ":" THEN (*prefix*) Texts.Scan(S); Texts.Scan(S); IF S.class = Texts.Name THEN name[k-1] := "."; AppendS(S.s, name, k); Texts.Write(W, ":"); Texts.WriteString(W, S.s) 						END END ; F := Files.Old(S.s); IF F # NIL THEN k := 0; AppendS(Oberon.User, buf, k); AppendW(Oberon.Password, buf, 4, k); AppendS(name, buf, k); Send(REC, k, buf); ReceiveHead(T0); IF head1.typ = ACK THEN Texts.WriteString(W, " sending"); Texts.Append(Oberon.Log, W.buf); SendData(F); reply(0) ELSIF head1.typ = NPR THEN reply(2); EXIT ELSIF head1.typ = NAK THEN reply(3); EXIT ELSE reply(5); EXIT END ELSE reply(4) END ; IF Texts.Pos(S) >= end THEN EXIT END ; Texts.Scan(S) END ELSE reply(1) END END END SendFiles; PROCEDURE ReceiveFiles*; VAR k: INTEGER; done: BOOLEAN; end: LONGINT; S: Texts.Scanner; F: Files.File; name: ARRAY 32 OF CHAR; buf: ARRAY 64 OF CHAR; BEGIN GetPar1(S); IF S.class = Texts.Name THEN FindPartner(S.s, k); IF k = 0 THEN GetPar(S, end); LOOP IF S.class # Texts.Name THEN EXIT END ; Texts.WriteString(W, S.s); k := 0; AppendS(S.s, name, k); IF S.nextCh = ":" THEN (*prefix*) Texts.Scan(S); Texts.Scan(S); IF S.class = Texts.Name THEN name[k-1] := "."; AppendS(S.s, name, k); Texts.Write(W, ":"); Texts.WriteString(W, S.s) 						END END ; k := 0; AppendS(Oberon.User, buf, k); AppendW(Oberon.Password, buf, 4, k); AppendS(name, buf, k); Send(SND, k, buf); Texts.WriteString(W, " receiving"); Texts.Append(Oberon.Log, W.buf); ReceiveHead(T1); IF head1.typ = 0 THEN F := Files.New(S.s); IF F # NIL THEN ReceiveData(F, done); IF done THEN Files.Register(F); reply(0) ELSE EXIT END ELSE reply(3); Send(NAK, 0, dmy) END ELSIF head1.typ = NAK THEN reply(4) ELSIF head1.typ = NPR THEN reply(2); EXIT ELSE reply(5); EXIT END ; IF Texts.Pos(S) >= end THEN EXIT END ; Texts.Scan(S) END ELSE reply(1) END END END ReceiveFiles; PROCEDURE SendMsg*; VAR i: INTEGER; ch: CHAR; S: Texts.Scanner; msg: ARRAY 64 OF CHAR; BEGIN GetPar1(S); IF S.class = Texts.Name THEN FindPartner(S.s, i); IF i = 0 THEN Texts.Read(S, ch); WHILE (ch >= " ") & (i < 64) DO 					msg[i] := ch; INC(i); Texts.Read(S, ch) END ; Send(MSG, i, msg); ReceiveHead(T0); IF head1.typ # ACK THEN reply(3) END ELSE reply(1) END END END SendMsg; PROCEDURE StartServer*; BEGIN protected := TRUE; SCC.Start(TRUE); Oberon.Remove(Server); Oberon.Install(Server); Texts.WriteString(W, " Server started"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END StartServer; PROCEDURE Unprotect*; BEGIN protected := FALSE END Unprotect; PROCEDURE WProtect*; BEGIN protected := TRUE END WProtect; PROCEDURE Reset*; BEGIN SCC.Start(TRUE) END Reset; PROCEDURE StopServer*; BEGIN Oberon.Remove(Server); Texts.WriteString(W, " Server stopped"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END StopServer; BEGIN Texts.OpenWriter(W); NEW(Server); Server.handle := Serve END Net.

title: Oberon/V2/Net


text:
History of wireless telegraphy and broadcasting in Australia/Topical/Biographies/Frederick William Medhurst/Notes

1904 09
Pop and Hallam demonstrate wireless telegraphy at the Conversazione in Hobart "CLOCK AND CHIMES FUND. SCIENTIFIC CONVERSAZIONE. The committee of the Scientific Conversazione are to be congratulated on their strenuous efforts to supplement the Clock and Chimes Fund. The conversazione, which was opened by His Excellency the Lieut.-Governor last evening, showed that since the matter was taken in hand a few weeks ago, no time had been lost in getting together scientific instruments of all kinds, and especially such as embody the most recent inventions in the field of electrical science. Not only did the committee do this, but it secured the services of a number of gentlemen to deliver lecturettes on subjects of scientific interest, while it engaged the services of others to give practical demonstrations of the uses to which the various instruments may be put. When we are continually hearing of the use of wireless telegraphy at the seat of war, nothing can be of more interest than a practical demonstration of the methods by which these messages are transmitted. As a scheme for raising money, the Scientific Conversazione had the advantage of combining the quality of inherent interest and novelty. By dint of hard work the committee had almost everything in readiness, and the hall was well filled, when His Excellency the Lieutenant-Governor, Sir John Dodds, K.C.M.G., accompanied by his Private Secretary and A.D.C., Mr. F. A. Dodds, arrived at 7.30. At the request of the Mayor, who is chairman of the committee, His Excellency opened the conversazione. He said that the object of the entertainment was to raise additional money for the Clock and Chimes Fund. Two purposes would be served by the entertainment. First, it would give them some idea of the practical use to which the marvellous developments of science, in these later years, had been put. The instruments they saw around them were the outcome of what science had been doing in years past, and brought them face to face with the problems of the future. They saw what had already been done, what the mind of man had been doing in the field of scientific research; and they wondered what in future years would be the outcome of these discoveries. Man, by the working of his mind, had overcome much that not long ago seemed impossible. The display before them then must have an educational value; it showed them what had been done, and what could be done, in scientific research. There was another purpose, namely, to augment the Clock and Chimes Fund. The subscriptions received so far amounted to £300, and there was besides that a sum of £300 from the Victoria Fund and the Centenary Fund, which made £1,200 in all. That sum would be almost sufficient, but as the committee judged that the citizens wanted a first class clock, it was decided to raise an additional £300 in order to provide not only a first-class clock, but chimes. In that way the entertainment had more than an educational value, for besides gaining knowledge, they would have the pleasure of knowing that they were helping to put a clock and the dulcet music of chimes into the Post Office tower, and thus add to the attractions of the city. (Applause.) The majority of those present then repaired to the Mayor's Courtroom, where Mr. H. C. Kingsmill, M.A. delivered an interesting lecture on 'The Moon,' while others preferred to examine the wireless telegraphy apparatus, which was operated by Messrs. W. P. Hallam, F. Medhurst, and C. Hamilton. On the eastern side of the main hall was arranged a fine collection of modern electric lamps, torches, and surgical apparatus, kindly lent by Mr. Wm. Bates, of 183 Elizabeth-street. On the western side of the hall, ranged on a long table, were a number of microscopes, in charge of the following gentlemen:— Rev. H. H. Anderson, Messrs. G. D'Emden, H. Yeates, R. Morris, John Mitchell, E. B. Moore, K. Dear, C. W. Tribe. Dr. Gerard Smith performed a series of interesting experiments with a Rontgen Rays apparatus, and also delivered a lecture on marine microscopic and insect life. In the committee-room, on the ground floor, a fine collection of photographs were exhibited by Messrs. C. Gruncell, Percy Ash, W. F. Paterson, J. W. Beattie, and Nat. Oldham. A bioscope entertainment in the Mayor's Courtroom brought the first evening of the conversazione to a successful close. During the evening Mr. T. Julian Haywood rendered a number of organ selections, and at intervals the audience were treated to some pieces by a Waldemar piano player, kindly lent by J. Walch and Sons. Tonight additional attractions will be afforded, and there should be a large attendance of citizens."

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
History of video games/AR

Prototype Technology of the 1980's and 1990's
During the Cold War there was a massive amount of Research and Development ongoing by both government and commercial agencies, which had a side effect of trickling down to consumers later, namely in Augmented Reality, and general advances in computing. During this time, a number of marketing attempts to promote the technology would be made. Though this technology would not see consumer use in the 1980's and 1990's, it would form the basis for common gaming technologies decades later.

HUD development greatly influenced AR development

Augmented Reality is fielded
The mid 2010's saw large corporations begin to push into the field with their own entries in Augmented Reality. Google Glass and Microsoft Hololens help popularize the idea augmented reality devices in the public, though neither device sees widespread consumer use.

title: History of video games/AR


text:
History of video games/VR

Early developments
While not the primary point of the story, a simulated reality is featured prominently in the Allegory of the Cave by the ancient Greek philosopher Plato  around 360 B.C.E. While not VR as it is known today, the story not only shows the existence of simulated realities as a concept long before the invention of multimedia technology, it also shows an uncanny understanding of some of the same ethical questions people would ask about addiction to virtual worlds thousands of years later. A similar concept also exists in Zhuangzi's ancient Daoist text the Butterfly Dream a third century B.C.E. story written in ancient China, though the method of simulation and lesson of the story are rather different.

Simple stereoscopic displays have attempted to to offer immersive experiences since 1838 with the invention of the Stereoscope in Britain. Rival Scottish physicist Sir David Brewster specialized in optics, having previously invented such things as the Kaleidoscope, and crafted a more refined and portable stereoscope.

During the 1950's and 1960's a number of attempts were made to create more immersive experiences.

Prototype Technology of the 1980's and 1990's
During the Cold War there was a massive amount of Research and Development ongoing by both government and commercial agencies, which had a side effect of trickling down to consumers later, namely in Virtual Reality, and general advances in computing. During this time, a number of marketing attempts to promote the technology would be made. Though this technology would not see common consumer use in the 1980's and 1990's, it would form the basis for common gaming technologies decades later.

By 1992 there was a VR Golf center in New York City and a VR Mech Arcade in Chicago.

Rebirth of Virtual Reality
The early 2010's saw a renewed interest in VR with crowdfunding platforms providing capital to spur development. The mid 2010's saw large corporations begin to push into the field with their own entries in VR, AR, and MR.

VR technology became a popular theme in science fiction around this time, and VR games were frequently used as a plot device in non-gaming media as a way of taking characters to another world with a more scientifically plausible technology. Popular fictional stories of the 2010's such as Ernest Cline's 2011 novel Ready Player One and Steven Spielberg's 2018 film of the same name and Sword Art Online prominently feature VR in their stories. Such fictional works in turn influenced VR content creators during this time, who strove to bring fiction to virtual reality.

Around 2016 and 2017 media outlets began frequently expressing concern about the safety of VR.

By 2021 around 1/5 of Facebook employees were doing work related to their VR platforms.

Low End VR
Interest in VR sparked interest in lowering the barrier of entry to VR experiences.

title: History of video games/VR


text:
History of video games/Fantasy Computers

Introduction to Fantasy Computers
Portability of software has long been an issue for programmers, and video game programmers are no exception. Over time, various technologies would live these concerns, but some of the technologies developed to aid portability would lead to a new class of gaming platform: the Fantasy Computer. Conceived entirely in software, rather than in hardware, these programs offered a standardized software environment with fixed capabilities, much like the typical low end home computers and consoles of the 1980's.

Proto Fantasy Computers: Chip-8 & SCUMM VM
Fantasy consoles have their roots in CHIP-8 in the 1970s. Similar environments designed specifically for interactive fiction would be seen with SCUMM and other software layers.

PICO-8
PICO-8 became perhaps the best known fantasy console in the 2010s. PICO-8 is noted for the forethought given to system limitations as a way of inspiring developmental creativity. The system notably has its own "cartridge" format, which are actually images containing the game code through stenography.

Among the most notable games for the PICO-8 is the original version of the award-winning 2D platformer Celeste, which was developed by Maddy Thorson and Noel Berry for a game jam. This was followed by Celeste 2 for the PICO-8 on January 26th, 2021.

TIC-80
TIC-80 is a Free and Open Source fantasy console that has similar restrictions to PICO-8. Its one of the most popular fantasy consoles due to its compatibility with a wide range of platforms and accessibility per gratis. Just like PICO-8, TIC-80 supports extraction of programs as cartridges in png and other formats.

LIKO-12
By September 18th, 2016 version 1.0.0 of the open source LIKO-12 was released.

TEC Redshift Player
An interesting example of a fantasy console is the TEC Redshift Player. Released as freeware by Zachtronics on September 25th, 2018, this companion console to the programming game Exapunks resembled a Game Boy with an additional button and red blue anaglyph stereoscopic support. Uniquely the console included a fictitious history, with parallels to real life Game Boy and Virtual Boy lines of consoles. The system used the same fictional programming language as the rest of Exapunks.

Supdrive
An NFT and blockchain oriented fantasy console announced on August 18th, 2021. The console is spearheaded by Dom Hofmann, creator of the Vine video sharing platform.


text:
History of video games/Calculator

Introduction
Almost as long as there have been widely available programmable calculators, there have been games developed to run on them. What makes Calculator Gaming interesting from a historical standpoint is highly related to the hardware it runs on, and the institutional opposition to its very existence. Not only is calculator hardware not designed for games, compared to gaming hardware from the same time they are often nearly antithetical to running games. Manufacturers of calculators were often not friendly to gaming on calculators and took steps to prevent it. Some calculator companies sought to protect their monopolistic place lucrative industry of academic technology, and likely saw the ability of their devices to play games as a possible factor that could jeopardize their market position.

Yet calculator gaming persisted despite the odds. As programmable calculators became integrated with academic instruction, they quickly became a common item capable of playing games, yet few large commercial enterprises bothered trying to commercialize the platform. This means that nearly all Calculator games are homebrew, and thus are often fan games made with little concern for IP law, giving additional insight to the popular culture trends of the time. Often games were spread from calculator to calculator over communication cables, rather then from a central source. Furthermore calculator hardware tended to be quite limited in comparison to gaming hardware, giving rise to a demoscene of sorts where skilled programmers would attempt to make games that most considered impossible on the hardware they ran on.

History
The HP-65 was introduced in 1974 as the first mass-produced programmable handheld calculator. Notably, the HP-65 allowed Satoru Iwata to start programming games while in high school during the mid-1970's. This including his first game, a baseball simulator which was well received amongst his friends. This lead him to an illustrious career as both a video game pioneer and a notable leader at Nintendo.

A few deliberate attempts were made to blend calculators and gaming devices were made in the late 1970s to the early 1980's to varying results. The 1977 TI Dataman toy calculator attempted to use games as an educational tool for learning math. In 1980 calculator technology was repurposed to make the first Game & Watch game consoles. Though the Game & Watch were not calculators in and of themselves, they were said to be inspired by a rider on a Shinkansen train playing with a calculator. Had it not been for calculator technology, one of the first handheld gaming consoles to see widespread popularity may have never been made.

Darth Vader's Force Battle was released in 1980 for the TI-59 calculator, becoming among the first documented games developed for calculator hardware which received widespread distribution.

The 1985 introduction the Casio FX-7000G graphing calculator introduced graphing calculators monochrome dot matrix displays, greatly increasing the kinds of games possible on calculators. However it was the 1990 introduction of the TI-81 with TI-Basic helped popularize calculator gaming by making it more accessible to beginner programmers, which naturally worked well with the students who used the calculators who were themselves often beginner programmers. This transformed the calculator into a different sort of educational tool, and helped some self starting students learn computer programming. The addition of a serial port and more capable hardware on the TI-85 in 1992 coupled with a trick developed in 1994 to allow non TI-Basic code to run on the system helped proliferate games coded in assembly language, which could be more advanced by being more efficient with limited system resources.

The more powerful graphing calculators of the late 2000's and the introduction of color screens in the early 2010's ushered in a more standard calculator gaming experience, with more normal looking games and emulators written for these platforms.

By 2014 unofficial ports of complex real time games such as Smash Bros were being made for older TI-84 hardware.

By May 24th, 2020 Texas Instruments had announced that they would be removing support for assembly and C based programs on some of their calculators with a software update as a means to curb cheating, a move which would also impact games using those languages. On May 27th, 2020 the computer enthusiast YouTube channel LinusTechTips demonstrated a significant, though slightly unstable, overclock (16 megahertz to 26.8 megahertz) of on a TI-84 by replacing a resistor with a potentiometer and adding a custom water cooling loop to run a port of Doom at a higher frame rate.

title: History of video games/Calculator


text:
User talk:Ong saluri

I liked the book Keep up the great work. --ScienceGirl-2011 (discuss • contribs) 04:11, 1 February 2021 (UTC)

title: User talk:Ong saluri


text:
Talk:OpenVOGEL

Untitled
Nice!--ScienceGirl-2011 (discuss • contribs) 04:15, 1 February 2021 (UTC)

However I recently came to a notice telling OpenVOGEL was candidate for removal. I'll stop contributing until knowing more about that.--GuillermoHazebrouck (discuss • contribs) 09:49, 12 February 2021 (UTC)

title: Talk:OpenVOGEL


text:
User talk:0912muse

Welcome
Welcome to Wikibooks, 0912muse!

 First steps tutorial Wikibooks is for collaborative development of free textbooks.

You do not need technical skills to contribute. You can easily change most books. Please introduce yourself, and let us know what interests you.

If you already contribute at other Wikimedia projects, our Wikimedia Orientation should quickly get you started. (Would you like to provide feedback on this message?)

  Getting help   Made a mistake?   Goodies, tips and tricks
 * Read the Using Wikibooks book for a friendly introduction to the project, or our help pages for more information.
 * You can get friendly help from the community in the user assistance room or our IRC channel.
 * Upload freely licensed files to Wikimedia Commons. You may request permission to upload fair use files locally. Please include author and source information and a non-free use rationale for non-free files.
 * You can restore a previously saved version.
 * Pages should follow the  naming convention.
 * Need to rename a page? Use the move tab (is available once your account is 4 days old - until then, ask for help).
 * To request a page be deleted, add to the top of the page.
 * Was a page you made deleted? Please read the deletion policy, and check the deletion log to find out why. Also check the RFD archives if applicable. You can request undeletion at WB:RFU, or ask the administrator who deleted the page.
 * Please fill in the edit summary and preview your edits before saving.
 * Sign your name on discussion pages by typing ~~~~
 * User scripts can make many tasks easier. Look at the Gadgets tab of my preferences; check off the boxes for the scripts you want, and hit save!

--Pi zero (discuss • contribs) 05:19, 1 February 2021 (UTC)

title: User talk:0912muse


text:
History of wireless telegraphy and broadcasting in Australia/Topical/Publications/Amateur Radio

BEWARE, JUST A CUT AND PASTE OF AUSTRALASIAN RADIO WORLD AT THIS STAGE, FOR USE AS A TEMPLATE

Australasian Radio World was an early radio periodical which circulated primarily in Australia but also to a lesser extent in New Zealand. It commenced publication in April 1936 and its content was initially focused on the amateur and broadcast listener community with a variety of technical articles as well of reports of amateur radio activities and details of recent loggings of amateur and broadcast (medium wave and shortwave) stations.

Publishers, Owners and Editors
Australasian Radio World was a relatively small publication and throughout its print run the roles of ownership, publisher and editor were mostly commonly held and driven by a single passionate individual, often with little additional support. At its commencement in May 1936, it was published by Alfred Earl "Earl" Read, an expatriate New Zealander and former editor of the New Zealand Radio Times. From the December 1936 issue, the publisher formally became Trade Publications Proprietary Limited, but that firm had been behind the publication from its outset. The company was formed in April 1936 as printers and publishers, with initial subscribers Edward Marriott, Alfred Earl Read, Frederick S. Wales, Archie N. A. Wales, John C. L. Driver, Doris Wood and Clive B. Mellor. First directors were Frederick S. Wales and Archie N. A. Wales. Frederick S. Wales, Archie N. A. Wales and John C. L. Driver also had major interests in the magazine's printers Bridge Printery Pty. Ltd. From the April 1939 issue, with the magazine in financial difficulties, the publisher transitioned to Read Publications, a partnership solely between Alfred Earl Read and Frederick Stephen Wales. The rights to the publication were acquired by Allan Galbraith "Braith" Hull, with the first issue under his proprietorship being March 1940.

Publishers
The magazine was initially published by Trade Publications of Sydney, with A. Earl Read as Editor (he was an expatriate New Zealander). Allen Galbraith Hull (brother of the more widely known Ross Hull) purchased the magazine in 1940 and resigned his editorship of Radio and Hobbies. Hull became editor of Australasian Radio World and continued in that capacity until he sold the publication in November 1950. The new owner was Radio and Electronics (N.Z.) Ltd.

Notes prepared to develop this portion of the article (including transcriptions of publication notes from each magazine issue) can be found here:

Australasian Radio World - Publication Notes - all available issues complete

Printers
Printing of the magazine was undertaken by Bridge Printery from the initial issue in May 1936 until February 1949 and there was a close relationship between this printer and the two publishers of the period. At commencement the printer was located at 214 George St, Sydney, but in January 1940 the firm relocated to 117 Reservoir St., Sydney. Bridge Printery's period of responsibility for production was almost 13 years, including all but the final two years of the magazine's print run. In the magazine's tenth anniversary issue on May 1946, Braith Hull paid tribute to Bridge Printery's service in glowing terms, noting that production was personally supervised by the principal Fred Wales and his son Noel. As well as the actual printing, the firm took responsibility for magazine wrapping and bulk postage. Publisher Hull had relocated to Melbourne in the mid 1940s to assist with the war effort and struggled with liaison with a Sydney printer. Hull's plan was to establish his own printshop at his Mornington mansion. As an interim measure, Crusader Press of Auburn, Victoria printed two issues in early 1949. The following ten issues till March 1950 were printed by Hull's local newspaper, the Mornington Post. As a result of post World War 2 problems with paper supply and printshop capacity, there were no issues produced for April and May of 1950. Hull again reallocated the placement of printing to The Clyde Press of Thornbury and that firm produced the remaining magazine issues for 1950. However, the magazine was sold late 1950 with transfer of ownership commencing 1 December 1950. The new owners Cranch / Radio & Electronics (NZ), returned printing to Sydney, commencing January 1951. Printing was undertaken by R. V. Byers (an ARW advertiser) of North Lidcombe for the first half of 1951. When Cranch's own company Radio & Electronics (Aust.) assumed control, printing was undertaken by Acacia Press of Annandale, New South Wales. However Cranch's financial difficulties resulted in cessation of production, with the last issue being October 1951.

Notes prepared to develop this portion of the article (including transcriptions of statements as to printer from each magazine issue) can be found here:

Australasian Radio World - Printers - all available issues transcribed

Editorials
There were three editors over the lifetime of the magazine: Read, Hull and Cranch. Read only chose to include editorials sporadically, while both Hull and Cranch rarely missed an editorial each month.

For ease of reference, a complete set of the text-corrected editorials is being progressively developed here:

Australasian Radio World - Editorials (all available issues complete)

Issues
An almost complete set of magazines (primarily links to the AmericanRadioHistory webpages) can be found here, a small number have text cut and pasted from the OCR'd PDF, and an even smaller number have been fully text corrected:

Amateur Radio - Issues

Contents
The contents pages of each issue have been amalgamated here as an index and finding aid to specific articles and authors:

Australasian Radio World - Contents - A brief start

Issue List
For ease of reference, to supplement the transcriptions of each monthly issue, particular types of magazine content have been brought together in single pages (eg. publication notes, printer statements, editorials etc.). To assist the creation of this type of content a list of issues has been prepared for use as an initial proforma:

Australasian Radio World - List of Issues ARW

Guide to Editing
Several sections of ARW changed little in format and even content from month to month. To assist in achieving greater consistency of presentation in this Wikibook, a proforma approach has been developed:

Australasian Radio World - Guide to Editing ARW


text:
History of wireless telegraphy and broadcasting in Australia/Topical/Publications/Amateur Radio/Issues

The following issues have been transcribed (at least in part) to date:

1933
Amateur Radio - Vol. 01 No. 01 - October 1933 (A brief start)

Amateur Radio - Vol. 01 No. 02 - November 1933 (A brief start)

Amateur Radio - Vol. 01 No. 03 - December 1933 (A brief start)