Commits

Ryan Macnak committed 20515e3

Update for Pascal comments and new block types.

  • Participants
  • Parent commits c472a69

Comments (0)

Files changed (3)

 |)
 () : ()
 class Collections = (
-"
+(*
 Collection
 	Queue
 	List
 WeakHashMap = Map
 
 Interval
-")
+*))
 (
 class ArrayList = List (
-"An array-based implementation of List. Takes less space than a LinkedList and provides constant-time random access, but does not provide constant-time insertion or deletion."||)
+(*An array-based implementation of List. Takes less space than a LinkedList and provides constant-time random access, but does not provide constant-time insertion or deletion.*)||)
 () : ()
 class Association key: k value: v = (
-"Associations are key-value pairs, such as those found in Dictionaries."|
+(*Associations are key-value pairs, such as those found in Dictionaries.*)|
 	public key = k.
 	public value = v.
 |)
 	value printOn: stream.
 )) : ()
 class Collection = (
-"A collection is a set of elements with no guarentees about order or uniqueness.
+(*A collection is a set of elements with no guarentees about order or uniqueness.
 
 ?
 #,
 
 must override do:
 should override size
-"|
+*)|
 |)
 ('accessing'
 size ^<Integer> = (
-	"Answer the number of elements in this collection"
+	(*Answer the number of elements in this collection*)
 )'as yet unclassified'
 any = (
-	"Consider: anElement, anyElement, someElement"
+	(*Consider: anElement, anyElement, someElement*)
 )'converting'
-collect: block <[E, ^R]> ^<Collection[R]> = (
-	"Answer a collection whose elements are the result of evaluating the argument with each element of the receiver"
+collect: block <[:E | R]> ^<Collection[R]> = (
+	(*Answer a collection whose elements are the result of evaluating the argument with each element of the receiver*)
 )
 reduce: binaryBlock = (
-	"Consider #fold:"
-	"Consider #reducedBy:"
+	(*Consider #fold:*)
+	(*Consider #reducedBy:*)
 	^reduce: binaryBlock ifEmpty: [error: 'Cannot reduce an empty collection']
 )
 reduce: binaryBlock ifEmpty: onEmpty = (
-	"Consider #fold:ifEmpty:"
+	(*Consider #fold:ifEmpty:*)
 )
 reject: predicate = (
-	"Answer a new collection with only the elements of this collection for which the predicate evaluates to false."
+	(*Answer a new collection with only the elements of this collection for which the predicate evaluates to false.*)
 )
 select: predicate = (
-	"Answer a new collection with only the elements of this collection for which the predicate evaluates to true."
+	(*Answer a new collection with only the elements of this collection for which the predicate evaluates to true.*)
 )'iterating'
-detect: predicate <[E, ^Boolean]> ^<E> = (
-	"Answer the first element in the enumeration of this collection for which the predicate evalutes to true"
+detect: predicate <[:E | Boolean]> ^<E> = (
+	(*Answer the first element in the enumeration of this collection for which the predicate evalutes to true*)
 	^self detect: predicate ifNone: [
-		error: 'No matching element detected' "NoSuchElementException?"]
+		error: 'No matching element detected' (*NoSuchElementException?*)]
 )
-detect: predicate <[E, ^Boolean]> ifNone: fail <[^X def]> ^<E|X> = (
-	"Answer the first element in the enumeration of this collection for which the predicate evalutes to true. Answer the result of evaluating fail if there is no such element."
+detect: predicate <[:E | Boolean]> ifNone: fail <[X def]> ^<E|X> = (
+	(*Answer the first element in the enumeration of this collection for which the predicate evalutes to true. Answer the result of evaluating fail if there is no such element.*)
 )
 do: action separatedBy: betweenBlock = (
 )
-do: block <[E]> = (
-	"Evaluate the argument with each element of the receiver"
+do: block <[:E]> = (
+	(*Evaluate the argument with each element of the receiver*)
 )'testing'
-public allSatisfy: predicate <[Boolean]> ^<Boolean> = (
-	"Answer whether the predicate evaluates to true for every element in the collection."
+public allSatisfy: predicate <[:Boolean]> ^<Boolean> = (
+	(*Answer whether the predicate evaluates to true for every element in the collection.*)
 )
-public anySatisfy: predicate <[Boolean]> ^<Boolean> = (
-	"Answer whether the predicate evaluates to true for any element in the collection."
+public anySatisfy: predicate <[:Boolean]> ^<Boolean> = (
+	(*Answer whether the predicate evaluates to true for any element in the collection.*)
 )
-includes: anElement <[E]> ^<Boolean> = (
-	#REVIEW. "Rename contains:?  This may be somewhat confusing to Smalltalkers since contains: acts likes anySatisfy: in Smalltalk."
+includes: anElement <[:E]> ^<Boolean> = (
+	#REVIEW. (*Rename contains:?  This may be somewhat confusing to Smalltalkers since contains: acts likes anySatisfy: in Smalltalk.*)
 )
 includesAll: otherCollection = (
-	#REVIEW. "Rename containsAll: ?"
+	#REVIEW. (*Rename containsAll: ?*)
 
-	"self includesAll: otherCollection =>
-	 otherCollection allSatisfy: [:ea | self includes: ea]"
+	(*self includesAll: otherCollection =>
+	 otherCollection allSatisfy: [:ea | self includes: ea]*)
 )
 includesAny: otherCollection = (
-	#REVIEW. "Rename containsAll: ?"
+	#REVIEW. (*Rename containsAll: ?*)
 
-	"self includesAll: otherCollection =>
-	 otherCollection anySatisfy: [:ea | self includes: ea]"
+	(*self includesAll: otherCollection =>
+	 otherCollection anySatisfy: [:ea | self includes: ea]*)
 )
 isCollection ^<Boolean> = (
 	^true
 )
 isEmpty ^<Boolean> = (
 )
-noneSatisfy: predicate <[Boolean]> ^<Boolean> = (
-	"Answer whether the predicate evaluates to false for every element in the collection."
+noneSatisfy: predicate <[:Boolean]> ^<Boolean> = (
+	(*Answer whether the predicate evaluates to false for every element in the collection.*)
 )) : ()
 class Dictionary = (
-"A set of associations of keys to values such that the keys are unique."|
+(*A set of associations of keys to values such that the keys are unique.*)|
 |)
 ('as yet unclassified'
 associations ^<Set[Association[K,V]]> = (
 	#REVIEW.
-	"Logically, a Map is a set of Associations, so there is little value in providing a collection where this is also physically true"
+	(*Logically, a Map is a set of Associations, so there is little value in providing a collection where this is also physically true*)
 )
 at: key = (
 	
 class IdentityDictionary = Dictionary ()
 () : ()
 class LinkedList = List (
-"A linked-list implementation of List, with constant-time insertion and deletion.")
+(*A linked-list implementation of List, with constant-time insertion and deletion.*))
 () : ()
 class List = (
-"An ordered collection"|
+(*An ordered collection*)|
 |)
 ('accessing'
 at: index = (
 	
 )) : ()
 class MutableList = (
-"A list that supports adding and removing elements"|
+(*A list that supports adding and removing elements*)|
 |)
 ('as yet unclassified'
 add: element = (
 class Queue = ()
 () : ()
 class Set = (
-"A collection of unique elements"|
+(*A collection of unique elements*)|
 |)
 ('as yet unclassified'
 add: element = (
 class SortedSet = ()
 () : ()
 class TreeMap = (
-"An implementation of a sorted Dictionary with O(logn) insert, deletion and lookup")
+(*An implementation of a sorted Dictionary with O(logn) insert, deletion and lookup*))
 () : ()) : ()
 class Cryptography = (
-"?"|
+(*?*)|
 |)
 () : ()
 class Devices = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Files = (
-"To be replaced with some sort of object store?"|
+(*To be replaced with some sort of object store?*)|
 |)
 () : ()
 class Geometry = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 (
 class AffineTransform = (
-"Consider just Transform"|
+(*Consider just Transform*)|
 |)
 () : ()
 class Point x: xcoord <Real> y: ycoord <Real> = Value (
-"A two-dimensional point."|
+(*A two-dimensional point.*)|
 	public x <Real> = xcoord.
 	public y <Real> = ycoord.
 |)
 () : ()
 class Shape = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 class Graphics = ()
 (
 class Bitmap = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Canvas = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 	
 )) : ()
 class Surface = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 class Kernel = (||)
 (
 class AbstractMixin = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Behavior = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 |)
 () : ()
 class Boolean = Value (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Class = Behavior (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class ClassMixin = AbstractMixin (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class False = Boolean (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class InstanceMixin = AbstractMixin (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 |)
 () : ()
 class Metaclass = Behavior (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Object = ImplementationBase (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class True = Boolean (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class UndefinedObject = Value (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Value = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 class Mirrors = (||)
 (
 class ActorMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class ClassDeclarationMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class ClassHeaderMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class ClassMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class ClosureActivationMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class ClosureMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class MessageMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class MethodActiviationMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class MethodMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class MixinMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class ObjectMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class SlotMirror = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 class IPAddress = ()
 () : ()
 class TCPSocket = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class UDPSocket = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()) : ()
 class Numbers usingPlatform: p = (
-"This module is not live in the system.  Numbers are still represented as instances of the Squeak classes.
+(*This module is not live in the system.  Numbers are still represented as instances of the Squeak classes.
 
 Number (arithmetic, trig operations)
   Complex
     Integer (add bitwise operations)
 
 isExact: false for Float and Complex with Float components, true otherwise
-"|
+*)|
 	private Interval = p collections Interval.
 	private Magnitude = p kernel Magnitude.
 	
 |)
 (
 class Complex real: r imaginary: i = Number (
-"Complex numbers are /not/ Magnitudes."|
+(*Complex numbers are /not/ Magnitudes.*)|
 	public real <Number> = r.
 	public imaginary <Number> = i.
 |)
 ('arithmetic'
 public abs ^<Real> = (
-	"Answer the distance of the receiver from zero (0 + 0 i)."
+	(*Answer the distance of the receiver from zero (0 + 0 i).*)
 	^ ((real * real) + (imaginary * imaginary)) sqrt
 )
 public arg ^<Real> = (
-	"Answer the argument of the receiver."
+	(*Answer the argument of the receiver.*)
 )'testing'
 isComplex ^<Boolean> = (
 	^true
 		imaginary: abs * arg sin.
 ))
 class FixedPoint = Real (
-""|
+(**)|
 	num denom scale
 |)
 () : ()
 	^true
 )) : ('as yet unclassified'
 public numerator: numerator <Integer> denominator: denominator <Integer> ^<Fraction> = (
-	"Invariant: instances of Fraction must always be in reduced form"
+	(*Invariant: instances of Fraction must always be in reduced form*)
 	| gcd numer denom |
 	numerator = 0 ifTrue: [^0].
 	gcd:: numerator gcd: denominator.
 	^Fraction reducedNumerator: numer denominator: denom
 ))
 class Integer = Number (|
-"If ^ becomes available as a selector, consider changing the bitwise operations to the convention symbols
+(*If ^ becomes available as a selector, consider changing the bitwise operations to the convention symbols
 
 & | ^ >> <<
 
 Although, one might like 2^8 to mean '2 to the power of 8' rather than '2 xor 8'
 
-"
+*)
 
 |)
 ('arithmetic'
 	^self * int / (self gcd: int)
 )'as yet unclassified'
 timesRepeat: block <[]> ^<Self> = (
-	"Normally compiled inline and therefore not subject to override"
+	(*Normally compiled inline and therefore not subject to override*)
 	
 	| count |
 	count: 1.
 	^true
 )) : ()
 class Number = Value (
-""||)
+(**)||)
 ('converting'
 @ y ^<Point> = (
 	#BOGUS yourself.
-	"Change the selector to comma so points can be represented in conventional notation: (1,2) ?"
+	(*Change the selector to comma so points can be represented in conventional notation: (1,2) ?*)
 
 	^Point x: self y: y
 )
 	^Complex real: 0 imaginary: self
 )'functions'
 abs ^<Number> = (
-	"Answer the absolute value of the receiver"
+	(*Answer the absolute value of the receiver*)
 	self < 0 ifTrue: [^0 - self].
 )
 acos ^<Number> = (
-	"Answer the arc cosine of the receiver in radians."
+	(*Answer the arc cosine of the receiver in radians.*)
 	^self asFloat acos
 )
 asin ^<Number> = (
 	^self asFloat cos
 )
 exp ^<Number> = (
-	"Answer e raised to the power of the receiver"
+	(*Answer e raised to the power of the receiver*)
 	^self asFloat exp
 )
 ln ^<Number> = (
-	"Return the natural logarithmn of the receiver"
+	(*Return the natural logarithmn of the receiver*)
 	^self asFloat ln
 )
 log ^<Number> = (
-	"Return the common logarithmn of the receiver"
+	(*Return the common logarithmn of the receiver*)
 	^self asFloat log
 )
 sin ^<Number> = (
 to: stop <Number> by: step <Number> ^<Interval> = (
 	^Interval from: self to: stop by: step
 )
-to: stop <Number> by: step <Number> do: block <[Number]> = (
-	"Normally compiled inline and therefore not subject to override"
+to: stop <Number> by: step <Number> do: block <[:Number]> = (
+	(*Normally compiled inline and therefore not subject to override*)
 	notYetImplemented
 )
-to: stop <Number> do: block <[Number]> = (
-	"Normally compiled inline and therefore not subject to override"
+to: stop <Number> do: block <[:Number]> = (
+	(*Normally compiled inline and therefore not subject to override*)
 	notYetImplemented
 )'operations'
 * number <Number> ^<Number> = (
-	"Answer the receiver multiplied by the argument"
+	(*Answer the receiver multiplied by the argument*)
 	subclassResponsibility
 )
 ** number <Number> ^<Number> = (
-	"Answer the receiver raised to the argument power"
+	(*Answer the receiver raised to the argument power*)
 	subclassResponsibility
 )
 + number <Number> ^<Number> = (
-	"Answer the sum of the receiver and the argument"
+	(*Answer the sum of the receiver and the argument*)
 	subclassResponsibility
 )
 - number <Number> ^<Number> = (
-	"Answer the difference of the argument from the receiver"
+	(*Answer the difference of the argument from the receiver*)
 	subclassResponsibility
 )
 / number <Number> ^<Number> = (
-	"Answer the receiver divided by the argument.
-	 'Exact' division. For integer division see // and quo: "
+	(*Answer the receiver divided by the argument.
+	 'Exact' division. For integer division see // and quo: *)
 	subclassResponsibility
 )
 // number <Number> ^<Number> = (
-	"Answer the receiver divided by the argument, rounded to nearest integer toward negative infinity.  The remainder of this division is given by \\"
+	(*Answer the receiver divided by the argument, rounded to nearest integer toward negative infinity.  The remainder of this division is given by \\*)
 	subclassResponsibility
 )
 \\ number <Number> ^<Number> = (
-	"Answer the remainder of division rounded to the nearest integer toward negative inifinity.  The quoitent of this division is given by //"
+	(*Answer the remainder of division rounded to the nearest integer toward negative inifinity.  The quoitent of this division is given by //*)
 	subclassResponsibility
 )
 quo: number <Number> ^<Number> = (
-	"Answer the receiver divided by the argument, rounded to nearest integer toward zero.  The remainder of this division is given by rem:"
+	(*Answer the receiver divided by the argument, rounded to nearest integer toward zero.  The remainder of this division is given by rem:*)
 	subclassResponsibility
 )
 rem: number <Number> ^<Number> = (
-	"Answer the remainder of division rounded to the nearest integer toward zero.  The quoitent of this division is given by quo:"
+	(*Answer the remainder of division rounded to the nearest integer toward zero.  The quoitent of this division is given by quo:*)
 	subclassResponsibility
 )'printing'
 printOn: stm <WriteStream> = (
 
 )'rounding'
 ceiling ^<Integer> = (
-	"The nearest integer to the reciever toward positive infinity"
+	(*The nearest integer to the reciever toward positive infinity*)
 	subclassResponsibility
 )
 floor ^<Integer> = (
-	"The nearest integer to the receiver toward negative infinity"
+	(*The nearest integer to the receiver toward negative infinity*)
 	subclassResponsibility
 )
 truncated ^<Integer> = (
-	"The receiver without its fraction part"
+	(*The receiver without its fraction part*)
 	subclassResponsibility
 )'testing'
 isInfinite ^<Boolean> = (
 	^true
 )) : ()) : ()
 class Serialization = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Streams = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Synchronization = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Text = (
-"
+(*
 String (interface) = List :> Magnitude :> Value
 	Character (implementation)
 	ByteString  (implementation)
 MarkedUpString / Text
 
 RegExp --do regex make the cut for general purpose language?
-"|
+*)|
 |)
 (
 class Character = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class MarkedUpString = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class Regex = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()
 class String = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 ('as yet unclassified'
 , otherString = (
-	"concatenate"
+	(*concatenate*)
 )
 at: position <Integer> ^<String> = (
 	
 	
 )
 from: start to: end = (
-	"substring"
+	(*substring*)
 )
 indexOf: otherString = (
-	"Inconsistent with List protocol?"
+	(*Inconsistent with List protocol?*)
 )
 lastIndexOf: otherString = (
-	"Inconsistent with List protocol?"
+	(*Inconsistent with List protocol?*)
 )
 split: pattern = (
 	
 	
 )
 toLowerCase = (
-	"withLowerCase, asLowerCase?"
+	(*withLowerCase, asLowerCase?*)
 )
 toUpperCase = (
-	"withUpperCase, asUpperCase?"
+	(*withUpperCase, asUpperCase?*)
 )
 trim = (
 
 )) : ()
 class StringBuffer = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 () : ()) : ()
 class Time = (
-"Date, Time, TimeZone, Duration?
+(*Date, Time, TimeZone, Duration?
 
-How to wait for a wall clock amount of time with actors?"|
+How to wait for a wall clock amount of time with actors?*)|
 |)
 () : ()
 class UI = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	slot1
 	slot2
 |)
 Newspeak3
 'Oceania'
 class Devices usingPlatform: p vmmirror: vmm = (|
-	"The more justified black market imports for threading and memory access."
+	(*The more justified black market imports for threading and memory access.*)
 	Processor = p smalltalk Processor.
 	Semaphore = p smalltalk Semaphore.
 	Alien = p smalltalk Alien.
 
-	"PCI vendor/device id data stored after read in under a host OS."
+	(*PCI vendor/device id data stored after read in under a host OS.*)
 	PCI = p smalltalk PCI.
 
-	"Hook up with Morphic keyboard/mouse events, etc."
+	(*Hook up with Morphic keyboard/mouse events, etc.*)
 	HandMorph = p smalltalk HandMorph.
 	Sensor = p smalltalk Sensor.
 	ReadStream = p smalltalk ReadStream.
 	Display = p smalltalk Display.
 	Delay = p smalltalk Delay.
 
-	"Nice, clean imports"
+	(*Nice, clean imports*)
 	Set = p collections Set.
 	Map = p collections Dictionary.
 	Dictionary = p collections Dictionary.
 	monolithicStack = p network monolithicStack.
 	vmmirror = vmm.
 
-	"In principle this poor man's database should be populated by driver definitions mostly from external modules. Only system bus devices should really be part of the main module."
+	(*In principle this poor man's database should be populated by driver definitions mostly from external modules. Only system bus devices should really be part of the main module.*)
 	driverDefinitions = {CMOS. PS2KeyboardAndMouse. PCIBusController. Intel825xx. EhciOosbuhController. AC97}.
 
-	"Module state"
+	(*Module state*)
 	drivers = Set new.
 	services = Set new.
-	allocPtr ::= 128*1024*1024. "BOGUS: the VM might extend object memory here."
+	allocPtr ::= 128*1024*1024. (*BOGUS: the VM might extend object memory here.*)
 |drivers add: SystemBus new)
 (
 class AC97 = Driver (
-"First BAR = NAMBAR, native audio mixer.  p319
+(*First BAR = NAMBAR, native audio mixer.  p319
 Second BAR = NABMBAR, native audio bus mastering. p 321
 
 Buffer descriptor ICH AC97 p13
 32:buffer pointer, 2-byte aligned
 1:interrupt on completion 1:buffer-underrun-policy 14:zeros 15:buffer len (in samples)
-"| mixerSpace busSpace descriptors |)
+*)| mixerSpace busSpace descriptors |)
 (
 class BufferDescriptor at: mem = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	memory = mem.
 |)
 ('as yet unclassified'
 	memory longAt: 0 put: addr
 )
 bufferLength: len = (
-	"length in sampes"
+	(*length in sampes*)
 	memory shortAt: 4 put: len
 )
 interruptOnCompletion: bool = (
 
 	lastValidIndex: 31.
 
-	mixerSpace byteAt: 16r1B put: 2r11101. "POCR - run. p325"
+	mixerSpace byteAt: 16r1B put: 2r11101. (*POCR - run. p325*)
 
 	println: 'audio go'.
 )
 )
 unmute = (
 
-	mixerSpace shortAt: 16r02 "master volume mute" put:  2r0011111100111111.
+	mixerSpace shortAt: 16r02 (*master volume mute*) put:  2r0011111100111111.
 
-	mixerSpace shortAt: 16r18 "pcm out volume mute" put: 2r0001111100011111.
+	mixerSpace shortAt: 16r18 (*pcm out volume mute*) put: 2r0001111100011111.
 
 )) : ('as yet unclassified'
 canDrive: device = (
 		and: [device deviceID = 16r2415]
 ))
 class CMOS = Driver (
-"The real time clock accessed through CMOS.
+(*The real time clock accessed through CMOS.
 
-http://wiki.osdev.org/CMOS"| ioSpace |)
+http://wiki.osdev.org/CMOS*)| ioSpace |)
 (
 class CMOSClock = (|
 |)
 	^device isSystemBusDevice
 ))
 class Device = Service (
-"A kind of service that needs a driver attached. The driver will in turn either provide more Device services, if it is some kind of bus, or actual end services like Clock or Keyboard, otherwise"|
+(*A kind of service that needs a driver attached. The driver will in turn either provide more Device services, if it is some kind of bus, or actual end services like Clock or Keyboard, otherwise*)|
 	driver
 |)
 ('testing'
 			activeDefinitions = drivers collect: [:ea | ea class]. 
 			canDefns = driverDefinitions reject: [:ea | activeDefinitions includes: ea].
 			|
-			"Must ignore definitions already attached."	
+			(*Must ignore definitions already attached.*)	
 			driveDevice: s candidateDefinitions: canDefns.
 		] ifFalse: [
 			driveDevice: s candidateDefinitions: driverDefinitions.
 		].
 	] ifFalse: [
-		"Keyboard, Mouse, Clock, ..."
+		(*Keyboard, Mouse, Clock, ...*)
 		s isClock ifTrue: [
 			[[println: s now printString.
 			(Delay forSeconds: 60) wait.] repeat] fork.	
 	].
 )) : ()
 class EhciOosbuhController = Driver (
-"Just a stub"|
+(*Just a stub*)|
 	
 |)
 ('as yet unclassified'
 drive: device = (
 	super drive: device.
 
-	"Extract an IO or Memory aperture and start doing things"
+	(*Extract an IO or Memory aperture and start doing things*)
 
 	println: 'Hello, Oosbuh!'.
 )) : ('as yet unclassified'
 canDrive: device = (
 	^device isPCIDevice
-		and: [device classCode = 16r0C "Serial Bus Controller"]
-		and: [device subclassCode = 16r03 "USB Controller"]
-		and: [device progIf = 16r20 "EHCI USB Controller"]
+		and: [device classCode = 16r0C (*Serial Bus Controller*)]
+		and: [device subclassCode = 16r03 (*USB Controller*)]
+		and: [device progIf = 16r20 (*EHCI USB Controller*)]
 ))
 class Intel825xx = Driver (
-"A family of gigabit Ethernet controllers.
+(*A family of gigabit Ethernet controllers.
 
 This driver is based on http://randomaccessit.com/osdev/i825xx.c, with a correction to initializing the transmit descriptor tail.
-"|
+*)|
 	mmio
-	numDescriptors = 16. "must be multiple of 8"
+	numDescriptors = 16. (*must be multiple of 8*)
 	rxDescriptors
 	rxTail
 	txDescriptors
 	txTail
 	cachedMacAddress
 
-	receiveBlock <[EthernetFrame]> ::= nil.
+	receiveBlock <[:EthernetFrame]> ::= nil.
 	
 |)
 (
 macAddress = (
 	^cachedMacAddress
 )
-onReceive: block <[EthernetFrame]> = (
+onReceive: block <[:EthernetFrame]> = (
 	receiveBlock: block.
 )
 send: frame <EthernetFrame> = (
 	transmitPoll: frame asByteArray.
 )) : ()
 class ReceiveDescriptor atMemory: m = (
-"
+(*
 0 - 63:0 buffer address
 8 - 63:48 special, 47:40 errors, 39:32 status, 31:16 checksum, 15:0 length
-"|
+*)|
 	memory = m.
 	buffer
 |)
 	memory byteAt: 12 put: value
 )) : ()
 class TransmitDescriptor atMemory: m = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	memory = m.
 	buffer
 |)
 )
 eepromAt: addr = (
 	| tmp |
-	mmio longAt: 16r14 "EERD" put: 1 | (addr<<8).
+	mmio longAt: 16r14 (*EERD*) put: 1 | (addr<<8).
 
-	[tmp:: mmio longAt: 16r14 "EERD".  tmp anyMask: 1<<4] whileFalse.
+	[tmp:: mmio longAt: 16r14 (*EERD*).  tmp anyMask: 1<<4] whileFalse.
 
 	^(tmp>>16) bitAnd: 16rFFFF
 )
 enableInterruptsAndClearPending = (
-	mmio longAt: 16rD0 "IMS" put: 16r1F6DC "?".
-	mmio longAt: 16rC0 "ICR".
+	mmio longAt: 16rD0 (*IMS*) put: 16r1F6DC (*?*).
+	mmio longAt: 16rC0 (*ICR*).
 )
 enableReceive = (
 	mmio 
-		longAt: 16r0100 "RCTL" 
-		put: (mmio longAt: 16r0100 "RCTL") | (1<<1) "EN receive enable"
+		longAt: 16r0100 (*RCTL*) 
+		put: (mmio longAt: 16r0100 (*RCTL*)) | (1<<1) (*EN receive enable*)
 )
 enableTransmit = (
 	mmio 
-		longAt: 16r0400 "TCTL" 
-		put: (mmio longAt: 16r0400 "TCTL") | (1<<1) "EN transmit enable"
+		longAt: 16r0400 (*TCTL*) 
+		put: (mmio longAt: 16r0400 (*TCTL*)) | (1<<1) (*EN transmit enable*)
 )
 initializeMulticastTableArray = (
 
 		ea status: 0.
 	].
 
-	mmio longAt: 16r2804 "RDBAH" put: 0.
-	mmio longAt: 16r2800 "RDBAL" put: chunk address.
-	mmio longAt: 16r2808 "RDLEN" put: numDescriptors * 16.
-	mmio longAt: 16r2810 "RDH" put: 0.
-	mmio longAt: 16r2818 "RDT" put: numDescriptors. rxTail:: 0.
-	mmio longAt: 16r0100 "RCTL" put: 
+	mmio longAt: 16r2804 (*RDBAH*) put: 0.
+	mmio longAt: 16r2800 (*RDBAL*) put: chunk address.
+	mmio longAt: 16r2808 (*RDLEN*) put: numDescriptors * 16.
+	mmio longAt: 16r2810 (*RDH*) put: 0.
+	mmio longAt: 16r2818 (*RDT*) put: numDescriptors. rxTail:: 0.
+	mmio longAt: 16r0100 (*RCTL*) put: 
 
-	(1<<2) "SBP store bad packets" | 
-	(1<<3) "UPE unicast promiscuous enabled" | 
-	(1<<4) "MPE multicast promiscuous enabled" | 
-	(0<<8) "RDMTS receive descriptor min threshold size = 1/2" | 
-	(1<<26) "SECRC strip ethernet crc from incoming packet" | 	
-	(1<<5) "LPE long packet enable" | 
-	(1<<15) "BAM broarcast accept mode" | 
-	(2r10 << 16) "BSIZE receive buffer size =  8192".
+	(1<<2) (*SBP store bad packets*) | 
+	(1<<3) (*UPE unicast promiscuous enabled*) | 
+	(1<<4) (*MPE multicast promiscuous enabled*) | 
+	(0<<8) (*RDMTS receive descriptor min threshold size = 1/2*) | 
+	(1<<26) (*SECRC strip ethernet crc from incoming packet*) | 	
+	(1<<5) (*LPE long packet enable*) | 
+	(1<<15) (*BAM broarcast accept mode*) | 
+	(2r10 << 16) (*BSIZE receive buffer size =  8192*).
 
 )
 initializeTransmit = (
 		ea command: 0; status: 0; length: 0.
 	].
 
-	mmio longAt: 16r3804 "TDBAH" put: 0.
-	mmio longAt: 16r3800 "TDBAL" put: chunk address.
-	mmio longAt: 16r3808 "TDLEN" put: numDescriptors * 16.
-	mmio longAt: 16r3810 "TDH" put: 0.
-	mmio longAt: 16r3818 "TDT" put: 0"numDescriptors?". txTail::0.
-	mmio longAt: 16r0400 "TCTL" put:
-		(1<<3) "PSP Pad short packets".
+	mmio longAt: 16r3804 (*TDBAH*) put: 0.
+	mmio longAt: 16r3800 (*TDBAL*) put: chunk address.
+	mmio longAt: 16r3808 (*TDLEN*) put: numDescriptors * 16.
+	mmio longAt: 16r3810 (*TDH*) put: 0.
+	mmio longAt: 16r3818 (*TDT*) put: 0(*numDescriptors?*). txTail::0.
+	mmio longAt: 16r0400 (*TCTL*) put:
+		(1<<3) (*PSP Pad short packets*).
 )
 macAddress = (
 	| mac |
 
 		des status: 0.
 		rxTail:: rxTail + 1 rem: numDescriptors.
-		mmio longAt: 16r2810 "RDH" put: rxTail.
-		"mmio longAt: 16r2818 ""RDT"" put: rxTail." "<Original>"
+		mmio longAt: 16r2810 (*RDH*) put: rxTail.
+		(*mmio longAt: 16r2818 ""RDT"" put: rxTail.*) (*<Original>*)
 	].
 )
 respondToInterrupt = (
-	| icr ::= mmio longAt: 16rC0 "ICR". |
+	| icr ::= mmio longAt: 16rC0 (*ICR*). |
 
 	println: 'Intel825xx interrupt'.
 
 	(icr anyMask: 1<<2) ifTrue: [
 		println: '--Link status change'.
 		icr:: icr bitClear: 1<<2.
-		mmio longAt: 16r00 "CTRL" put: (mmio longAt: 16r00 "CTRL") | (1<<6) "SLU"
+		mmio longAt: 16r00 (*CTRL*) put: (mmio longAt: 16r00 (*CTRL*)) | (1<<6) (*SLU*)
 	].
 
 	(icr anyMask: 1<<6) | (icr anyMask: 1<<4) ifTrue: [
 
 	icr ~= 0 ifTrue: [println: '--unhandled interrupt'. printlnBin: icr.].
 
-	mmio longAt: 16rC0 "clear pending interrupts"
+	mmio longAt: 16rC0 (*clear pending interrupts*)
 )
 setLinkUp = (
-	mmio longAt: 16r00 "CTRL" put: (mmio longAt: 16r00 "CTRL") | (1<<6 "SLU")
+	mmio longAt: 16r00 (*CTRL*) put: (mmio longAt: 16r00 (*CTRL*)) | (1<<6 (*SLU*))
 )
 softwareReset = (
-	mmio longAt: 16r00 "CTRL" put: 1<<26
+	mmio longAt: 16r00 (*CTRL*) put: 1<<26
 )
 swapSixBytes: int = (
 	| a b c d e f |
 	des buffer replaceFrom: 0 to: pkt size - 1 with: pkt.
 	des length: pkt size.
 	des status: 0.
-	des command: (1<<3) "Report status" | (3) "Insert FCS, End of Packet".
+	des command: (1<<3) (*Report status*) | (3) (*Insert FCS, End of Packet*).
 
 	txTail:: txTail + 1 rem: numDescriptors.
-	mmio longAt: 16r3818 "TDT" put: txTail.
+	mmio longAt: 16r3818 (*TDT*) put: txTail.
 	
 	[des status anyMask: 16rF] whileFalse: [(Delay forMilliseconds: 10) wait.].
 
 |)
 (
 class PCIDevice bus: b device: d function: f = Device (
-"http://wiki.osdev.org/PCI"|
+(*http://wiki.osdev.org/PCI*)|
 public busNumber = b.
 public deviceNumber = d.
 public functionNumber = f.
 
-"Note here we are assuming these values will not change. However, PCI might actually allow one to relocate io/memory resource by writing to the appropriate config space, but I'm not clear on that.  Anyhow, it that is possible we should take care not to expose this ability to clients of this class."
+(*Note here we are assuming these values will not change. However, PCI might actually allow one to relocate io/memory resource by writing to the appropriate config space, but I'm not clear on that.  Anyhow, it that is possible we should take care not to expose this ability to clients of this class.*)
 public vendorID = getVendorID.
 public deviceID = getDeviceID.
 public ioResources = getIOResources.
 baseMemory64AddressRegisterSize: index original: originalLo = (
 	| enabled answer originalHi |
 
-	"enabled:: self hasMemoryEnabled."
+	(*enabled:: self hasMemoryEnabled.*)
 
 	originalHi:: self baseAddressRegister: index+1.
 
 	self baseAddressRegister: index put: 16rFFFFFFFF.
 	self baseAddressRegister: index+1 put: 16rFFFFFFFF.
 
-	"from spec it's not clear if reg at index+1 has lower bits correct or not. From testing, apparently it has"
+	(*from spec it's not clear if reg at index+1 has lower bits correct or not. From testing, apparently it has*)
 	answer:: (self baseAddressRegister: index + 1) << 32 + (self baseAddressRegister: index).
 
 	self baseAddressRegister: index put: originalLo.
 	self baseAddressRegister: index+1 put: originalHi.
 
-	"enabled ifTrue: [self enableMemory]."
+	(*enabled ifTrue: [self enableMemory].*)
 
 	^ ((answer bitAnd: 15 bitInvert) bitInvert + 1) bitAnd: 16rFFFFFFFFFFFFFFFF
 )
 		nextPutAll: classCodeDescription;
 		nextPut: $)
 
-	"stm cr.
+	(*stm cr.
 	ioResources do: [:ea | ea printOn: stm. stm space].
 	memoryResources do: [:ea | ea printOn: stm. stm space].
-	interrupt printOn: stm."
+	interrupt printOn: stm.*)
 )
 progIf = (
 	^configByteAt: 9
 baseIOAddressRegisterSize: index original: original = (
 	| enabled answer |
 
-	"enabled:: self hasIOEnabled."
+	(*enabled:: self hasIOEnabled.*)
 
 	self baseAddressRegister: index put: 16rFFFFFFFF.
 	answer:: self baseAddressRegister: index.
 	self baseAddressRegister: index put: original.
 
-	"enabled ifTrue: [self enableIO]."
+	(*enabled ifTrue: [self enableIO].*)
 
 	(answer noMask: 16rFFFF0000)
 		ifTrue: [answer:: answer + 16rFFFF0000].
 baseMemory32AddressRegisterSize: index original: original = (
 	| enabled answer |
 
-	"enabled:: self hasMemoryEnabled."
+	(*enabled:: self hasMemoryEnabled.*)
 
 	self baseAddressRegister: index put: 16rFFFFFFFF.
 	answer:: self baseAddressRegister: index.
 	self baseAddressRegister: index put: original.
 
-	"enabled ifTrue: [self enableMemory]."
+	(*enabled ifTrue: [self enableMemory].*)
 
 	^ ((answer bitAnd: 15 bitInvert) bitInvert + 1) bitAnd: 16rFFFFFFFF
 )
 	size:: original bitAnd: 2r110.
 	
 	size = 2r100 ifTrue: [^ self baseMemory64AddressRegisterSize: index original: original].
-	size = 2r110 ifTrue: ["reserved mode" ^ self error: 'Unknown memory model'].
+	size = 2r110 ifTrue: [(*reserved mode*) ^ self error: 'Unknown memory model'].
 
-	" can be 2r000 (32 bits) or 2r010 (32 bits < 1Meg) "
+	(* can be 2r000 (32 bits) or 2r010 (32 bits < 1Meg) *)
 	^ self baseMemory32AddressRegisterSize: index original: original.
 )
 configAddressFor: registerNumber = (
 	0 to: 5 do: [:i |
 		addr:: self baseAddressRegister: i.
 		addr even
-			ifTrue: ["is memory"]
+			ifTrue: [(*is memory*)]
 			ifFalse: [
 				answer add: 
 					(addr bitAnd: 3 bitInvert) -> (self baseIOAddressRegisterSize: i original: addr).
 	0 to: 5 do: [:i |
 		addr:: self baseAddressRegister: i.
 		(addr ~= 0 and: [addr even])
-			ifTrue: ["is memory"
+			ifTrue: [(*is memory*)
 				answer add: 
 					(addr bitAnd: 3 bitInvert) -> (self baseMemoryAddressRegisterSize: i original: addr).
 			]].
 	^device isSystemBusDevice
 ))
 class PS2KeyboardAndMouse = Driver (
-"A really old keyboard. This driver is mostly SqueakNOS code and could use some clean up."|
+(*A really old keyboard. This driver is mostly SqueakNOS code and could use some clean up.*)|
  	ioSpace
 
  modifiersAndButtons mouseCoord mouseDataCount events previousScanCode configBits decoder keysMapping 
 	stm nextPutAll: 'PS2Mouse'
 )) : ()
 class ScancodeDecoder = (
-""| "instance variables" previousScanCode actualScanCode  |)
+(**)| (*instance variables*) previousScanCode actualScanCode  |)
 ('as yet unclassified'
 altGrPressedIn: aModifiersRegister = (
 	^(aModifiersRegister bitAnd: 16r40) > 0 and: [(aModifiersRegister bitAnd: 16r10 ) > 0 ].
 )
 correspondingMapWith: aModifiersRegister = (
 
-	"rule 1 - extended keys aren't affected by modifiers like control and alt gr.
-	 rule 2 - caps lock isn't handled here, because <fill when you know the answer>"
+	(*rule 1 - extended keys aren't affected by modifiers like control and alt gr.
+	 rule 2 - caps lock isn't handled here, because <fill when you know the answer>*)
 	
 	| modifiers |
 	modifiers:: OrderedCollection new.
 	
 )
 nextKeyReady = (
-	 ^(actualScanCode == 16rE0 | (actualScanCode == 16rE1)) not. "If extended scancode we have to wait next to complete"
+	 ^(actualScanCode == 16rE0 | (actualScanCode == 16rE1)) not. (*If extended scancode we have to wait next to complete*)
 	
 )
 nextScanCode: aScanCode = (
 
 	| normalizedCode |
 	
-	previousScanCode = 16rE0 ifTrue: [^ 0]. "Is an extended scancode, can't be a modifier"
+	previousScanCode = 16rE0 ifTrue: [^ 0]. (*Is an extended scancode, can't be a modifier*)
 	
 	normalizedCode:: actualScanCode bitClear: 16r80.
 	
-	normalizedCode == 16r2A ifTrue: [^ 8].		" left shift "	
-	normalizedCode == 16r36 ifTrue: [^ 8].		" right shift "
-	normalizedCode == 16r38 ifTrue: [^ 16r40].	" left ALT (command key) "
-	normalizedCode == 16r1D ifTrue: [^ 16r10].	" left CTRL "
+	normalizedCode == 16r2A ifTrue: [^ 8].		(* left shift *)	
+	normalizedCode == 16r36 ifTrue: [^ 8].		(* right shift *)
+	normalizedCode == 16r38 ifTrue: [^ 16r40].	(* left ALT (command key) *)
+	normalizedCode == 16r1D ifTrue: [^ 16r10].	(* left CTRL *)
 
 	^ 0.
 )) : ()'I/O'
 		]
 	].
 
-	"isPharo" false ifFalse: [
+	(*isPharo*) false ifFalse: [
 		| p |
 		p:: Sensor eventTicklerProcess.
 		p notNil ifTrue: [p terminate].
 	self serviceAdded: PS2Mouse new.	
 )
 report: str = (
-	"Transcript show: str; cr"
+	(*Transcript show: str; cr*)
 )'command byte'
 clearCommandBit: bit = (
 	^ self commandByte: (self commandByte bitClear: 1 << bit)
 )
 version = (
 	self controllerCommand: 16rAD.
-"	^ self readData."
+(*	^ self readData.*)
 )
 versionNumber = (
 	self controllerCommand: 16rA1.
-"	^ self readData."
+(*	^ self readData.*)
 )'hardware status'
 inputBufferFull = (
 	^ self statusPort anyMask: 2
 		initializeKeyboardHardware;
 		initializeMouseHardware.
 
-"	self enableKeyboardInputBufferFullInterrupt;	not needed, commandByte: 16r47 enables all
+(*	self enableKeyboardInputBufferFullInterrupt;	not needed, commandByte: 16r47 enables all
 		enableKeyboardInterface.
-"
-	self commandByte: 16r47.	" enable mouse and keyboard, and set scan code 1 "
+*)
+	self commandByte: 16r47.	(* enable mouse and keyboard, and set scan code 1 *)
 )
 initializeKeyboardHardware = (
 
 			^ false].
 	self report: 'keyboard echo: Ok'.
 
-	"self
+	(*self
 		keyboardLeds: 0;
-		keyboardScanCodeSet: 1"		" this two commented out because they take too long to complete :( "
+		keyboardScanCodeSet: 1*)		(* this two commented out because they take too long to complete :( *)
 )
 initializeMouseHardware = (
 
 				self report: 'Enabling mouse scrolling.'.
 				self enableMouseScrollingParsing]
 			ifFalse: [self disableMouseScrollingParsing].
-"		self disableMouseScrollingParsing."
-		self "disableMouse;
-			resetMouse;"
-			enableMouse";
+(*		self disableMouseScrollingParsing.*)
+		self (*disableMouse;
+			resetMouse;*)
+			enableMouse(*;
 			enableMouseInputBufferFullInterrupt;	 not needed, commandByte: 16r47 enables all 
-			enableMouseInterface"].
+			enableMouseInterface*)].
 )'irq handling'
 handleIRQ = (
 	[self keyboardOutputBufferFull] whileTrue: [
 	decoder nextKeyReady ifFalse: [^self].
 	
 	decoder isModifier
-		ifFalse: [ "it's an ascii caracter"
+		ifFalse: [ (*it's an ascii caracter*)
 			key:: decoder keyUsing: keysMapping modifiers: modifiersAndButtons.
 			key asciiValue = 0 ifTrue: [^self].
 			decoder isKeyUp 
 				ifTrue: [ self newKeyboardUpEvent: key ]
 				ifFalse: [ self newKeyboardDownEvent: key].
 		]
-		ifTrue: [ " it's a modifier "
-			"modifiersAndButtons:: modifiersAndButtons bitXor: decoder translateModifierScanCode."
+		ifTrue: [ (* it's a modifier *)
+			(*modifiersAndButtons:: modifiersAndButtons bitXor: decoder translateModifierScanCode.*)
 			
 			decoder isKeyUp
 				ifTrue: [ modifiersAndButtons:: modifiersAndButtons bitClear: decoder translateModifierScanCode ]
 	| data |
 	data:: self readMouseData.
 
-	"self mouseScrollingEnabled
+	(*self mouseScrollingEnabled
 			ifTrue:  [Keys1 add: 'Number ', mouseDataCount asString, ' data ', data asString, '
-'. ]."
+'. ].*)
 			
-	mouseDataCount == 0 ifTrue: [ "button state"
+	mouseDataCount == 0 ifTrue: [ (*button state*)
 		mouseDataCount:: mouseDataCount + 1.
 		^ modifiersAndButtons:: (((modifiersAndButtons bitClear: 16r7)
 			bitOr: (data bitAnd: 2))
 
 	data >= 16r80 ifTrue: [data:: data - 16r100].
 
-	mouseDataCount == 1 ifTrue: [ "x delta "
+	mouseDataCount == 1 ifTrue: [ (*x delta *)
 		mouseDataCount:: mouseDataCount + 1.
 		^ mouseCoord:: data @ 0 + mouseCoord].
 
 	
-	mouseDataCount = 2 ifTrue: [ " y delta "
+	mouseDataCount = 2 ifTrue: [ (* y delta *)
 		mouseCoord:: mouseCoord  - (0 @ data) adhereTo: Display boundingBox.
 		].
 
 				mouseDataCount:: 0.
 				^self newMouseEvent].
 	
-	" mouseDataCount == 3: z delta "
+	(* mouseDataCount == 3: z delta *)
 	mouseDataCount:: 0.
-	data < 0 ifTrue:["Scrolling up"
+	data < 0 ifTrue:[(*Scrolling up*)
 		^self newKeyboardControlCharEvent: Character arrowUp].
-	data > 0 ifTrue:["Scrolling down"
+	data > 0 ifTrue:[(*Scrolling down*)
 		^self newKeyboardControlCharEvent: Character arrowDown].
 	self newMouseEvent.
 )
 	self newKeyboardEvent: aCharacter type: EventKeyChar.
 )
 newKeyboardEvent: aCharacter type: byteType = (
-	" taken from EventSensor >> #nextEventSynthesized "
+	(* taken from EventSensor >> #nextEventSynthesized *)
 	| event |
 	(event:: Array new: 8)
-		at: 1 put: EventTypeKeyboard; "evt type"
-		at: 2 put: Time millisecondClockValue; "time stamp"
-		at: 3 put: aCharacter asciiValue; "char code"
-		at: 4 put: byteType; "key press/release"
-		at: 5 put: modifiersAndButtons >> 3; "modifier keys"
-		at: 6 put: aCharacter asciiValue; "reserved, but nil breaks something called UTF32InputInterpreter"
+		at: 1 put: EventTypeKeyboard; (*evt type*)
+		at: 2 put: Time millisecondClockValue; (*time stamp*)
+		at: 3 put: aCharacter asciiValue; (*char code*)
+		at: 4 put: byteType; (*key press/release*)
+		at: 5 put: modifiersAndButtons >> 3; (*modifier keys*)
+		at: 6 put: aCharacter asciiValue; (*reserved, but nil breaks something called UTF32InputInterpreter*)
 		at: 7 put: 0;
 		at: 8 put: 0.
 
-	"Transcript show: modifiersAndButtons."
+	(*Transcript show: modifiersAndButtons.*)
 	events nextPut: event.
 )
 newKeyboardUpEvent: aCharacter = (
 	value == 1
 		ifTrue: [self setCommandBit: 6]
 		ifFalse: [self clearCommandBit: 6].
-"	self keyboardCommand: 16rF0.
+(*	self keyboardCommand: 16rF0.
 	self waitKeyboardAck.
 	self keyboardCommand: value.
 	^self waitKeyboardAck.
-"
+*)
 )
 keyboardTypematicRateDelay: value = (
 	self keyboardCommand: 16rF3.
 	| answer |
 	(self mouseCommand: 16rFF) ifFalse: [^false].
 	answer:: self readMouseData.
-	answer == 16rAA ifTrue: [^self readMouseData == 0 " mouse sends device ID after reset "].
+	answer == 16rAA ifTrue: [^self readMouseData == 0 (* mouse sends device ID after reset *)].
 	answer ~~ 16rFC ifTrue: [self report: 'Unexpected answer to reset command: ', answer hex].
 	^ false
 )
 class Service = (|
 |)
 () : ()
-class SystemBus = Driver ("The root driver."|
+class SystemBus = Driver ((*The root driver.*)|
 	private interrupts <Map[Integer,Interrupt]> = Dictionary new.
 	private masterPIC = PIC8259 master.
 |self serviceAdded: SystemBusDevice new.
 	self serviceAdded: SystemBusDevice new)
 (
 class IOSpace from: start <Integer> to: end <Integer> = (
-"I allow access to a region of I/O space, from address (inclusive) to address+size (exclusive). Unlike arrays, my accessors are zero-origin because essentially all hardware documentation is written using zero-origin offsets. 
+(*I allow access to a region of I/O space, from address (inclusive) to address+size (exclusive). Unlike arrays, my accessors are zero-origin because essentially all hardware documentation is written using zero-origin offsets. 
 
 Other systems sometimes call this an I/O aperture.
 
 
 [Tangent: It seems x86 is unique in having a separate I/O space; MIPS, ARM and PowerPC have only memory-mapped I/O. MMIO is nicer in not needing special instructions to access it and having a larger space (x86 has a only 16-bit I/O space). The only advantages I can see to a separate I/O space are freeing up memory space, although this was probably only useful in the days before 32-bit memory spaces, and making it easier to get caching right, since I/O accesses should not be cached.]
 
-[TODO: Do Itanium and SPARC have a separate I/O space?"|
+[TODO: Do Itanium and SPARC have a separate I/O space?*)|
 	public address <Integer> = start.
 	public size <Integer> = end - start.
 |)
 ('accessing'
 public byteAt: index <Integer> ^<Integer> = (
-	"Read an 8-bit unsigned value from the port"
+	(*Read an 8-bit unsigned value from the port*)
 	^vmmirror readByteFromPort: self address + index
 )
 public byteAt: index <Integer> put: value <Integer> ^<Integer> = (
-	"Write an 8-bit unsigned value to the port. Return the argument."
+	(*Write an 8-bit unsigned value to the port. Return the argument.*)
 	^vmmirror toPort: self address + index writeByte: value
 )
 public longAt: index <Integer> ^<Integer> = (
-	"Read an 32-bit unsigned value from the port"
+	(*Read an 32-bit unsigned value from the port*)
 	^vmmirror readLongFromPort: self address + index
 )
 public longAt: index <Integer> put: value <Integer> ^<Integer> = (
-	"Write an 32-bit unsigned value to the port. Return the argument."
+	(*Write an 32-bit unsigned value to the port. Return the argument.*)
 	^vmmirror toPort: self address + index writeLong: value
 )
 public shortAt: index <Integer> ^<Integer> = (
-	"Read an 16-bit unsigned value from the port"
+	(*Read an 16-bit unsigned value from the port*)
 	^vmmirror readShortFromPort: self address + index
 )
 public shortAt: index <Integer> put: value <Integer> ^<Integer> = (
-	"Write an 16-bit unsigned value to the port. Return the argument."
+	(*Write an 16-bit unsigned value to the port. Return the argument.*)
 	^vmmirror toPort: self address + index writeShort: value
 )'as yet unclassified'
 printOn: stm = (
 	process name: 'Interrupt listener for IRQ', number printString
 )) : ()
 class MemorySpace from: start <Integer> to: end <Integer> = (
-"I allow access to a region of memory, from address (inclusive) to address+size (exclusive). Unlike arrays, my accessors are zero-origin because essentially all hardware documentation is written using zero-origin offsets. 
+(*I allow access to a region of memory, from address (inclusive) to address+size (exclusive). Unlike arrays, my accessors are zero-origin because essentially all hardware documentation is written using zero-origin offsets. 
 
-[TODO: It would be nice to have accessors that use numbers for lengths instead of names, e.g. 32bit instead of long, since the terminology for multiples of byte are distasteful. Of course, 32at: is not a legal selector, so perhaps u32at:, etc. Whether selectors we end up using, the same protocol should be available on ByteArray.]"|
+[TODO: It would be nice to have accessors that use numbers for lengths instead of names, e.g. 32bit instead of long, since the terminology for multiples of byte are distasteful. Of course, 32at: is not a legal selector, so perhaps u32at:, etc. Whether selectors we end up using, the same protocol should be available on ByteArray.]*)|
 
 	public address <Integer> = start.
 	public size <Integer> = end - start.
 
-	private alien <Alien> = Alien forPointer: start. "The implementation available on the current kernel. Alien accessors are one-origin."
+	private alien <Alien> = Alien forPointer: start. (*The implementation available on the current kernel. Alien accessors are one-origin.*)
 |)
 ('accessing'
 public byteAt: index <Integer> ^<Integer> = (
-	"Read an 8-bit unsigned value"
+	(*Read an 8-bit unsigned value*)
 	^self alien unsignedByteAt: index + 1
 )
 public byteAt: index <Integer> put: value <Integer> ^<Integer> = (
-	"Write an 8-bit unsigned value. Return the argument."
+	(*Write an 8-bit unsigned value. Return the argument.*)
 	^self alien unsignedByteAt: index + 1 put: value
 )
 copyFrom: start to: stop = (
-	"Read from start (inclusive) to stop (inclusive) into a ByteArray"
+	(*Read from start (inclusive) to stop (inclusive) into a ByteArray*)
 	|
 	length = stop - start + 1. 
 	result = ByteArray new: length.
 	^result
 )
 public longAt: index <Integer> ^<Integer> = (
-	"Read an 32-bit unsigned value"
+	(*Read an 32-bit unsigned value*)
 	^self alien unsignedLongAt: index + 1
 )
 public longAt: index <Integer> put: value <Integer> ^<Integer> = (
-	"Write an 32-bit unsigned value. Return the argument."
+	(*Write an 32-bit unsigned value. Return the argument.*)
 	^self alien unsignedLongAt: index + 1 put: value
 )
 replaceFrom: start to: stop with: replacement = (
-	"This destructively replaces elements from start to stop in the receiver."
+	(*This destructively replaces elements from start to stop in the receiver.*)
 	replacement size = (stop - start + 1)
 		ifFalse: [self error: 'Size of replacement doesnt match'].
 	alien replaceFrom: start + 1 to: stop + 1 with: replacement startingAt: 1
 )
 public shortAt: index <Integer> ^<Integer> = (
-	"Read an 16-bit unsigned value"
+	(*Read an 16-bit unsigned value*)
 	^self alien unsignedShortAt: index + 1
 )
 public shortAt: index <Integer> put: value <Integer> ^<Integer> = (
-	"Write an 16-bit unsigned value. Return the argument."
+	(*Write an 16-bit unsigned value. Return the argument.*)
 	^self alien unsignedShortAt: index + 1 put: value
 )
 public signedShortAt: index <Integer> put: value <Integer> ^<Integer> = (
-	"Write an 16-bit signed value. Return the argument."
+	(*Write an 16-bit signed value. Return the argument.*)
 	^self alien signedShortAt: index + 1 put: value
 )'as yet unclassified'
 printOn: stm = (
 		 collect: [:subStart |	MemorySpace from: subStart to: subStart + n].
 )) : ('as yet unclassified'
 allocate: bytes = (
-	^self allocate: bytes aligned: 8 "quad word"
+	^self allocate: bytes aligned: 8 (*quad word*)
 )
 allocate: bytes aligned: alignment = (
-	"A cheap implementation to get us started. Note we should be tracking these allocations so they can potentially be freed. We should also make sure these allocations do not touch object memory."
+	(*A cheap implementation to get us started. Note we should be tracking these allocations so they can potentially be freed. We should also make sure these allocations do not touch object memory.*)
 	| addr |
 	addr:: allocPtr.
 	[(addr rem: alignment) == 0] whileFalse: [addr: addr + 1].
 	allocPtr:: addr + bytes.
 	^self from: addr to: addr + bytes
 ))
-class PIC8259 withIOSpace: s = ("The Programmable Interrupt Controller. Manages hardware interrupts."|
+class PIC8259 withIOSpace: s = ((*The Programmable Interrupt Controller. Manages hardware interrupts.*)|
 	ioSpace = s.
 	slave
 	savedMask
 (
 class ARPPacket = (|
 	bytes = ByteArray new: 28.
-|self hardwareType: 1. "ethernet"
-	self protocolType: 16r800. "IPv4"
-	self hardwareAddressLength: 6. "sizeof MAC address"
+|self hardwareType: 1. (*ethernet*)
+	self protocolType: 16r800. (*IPv4*)
+	self hardwareAddressLength: 6. (*sizeof MAC address*)
 	self protocolAddressLength: 4)
 ('as yet unclassified'
 asByteArray = (
 	bytes at: 5 put: len.
 )
 hardwareType: t = (
-	assert: [t = 1 "ethernet"] message: ''.
+	assert: [t = 1 (*ethernet*)] message: ''.
 	bytes at: 1 put: (t>>8 bitAnd: 16rFF).
 	bytes at: 2 put: (t>>0 bitAnd: 16rFF).
 )
 )) : ('as yet unclassified'
 testPacket = (
 	| p = self new. |
-	p operation: 1. "request"
+	p operation: 1. (*request*)
 	p senderHardwareAddress: (MACAddress fromInteger: 16r080027D3705F).
 	p senderProtocolAddress: (IPv4Address fromInteger: 16r0A0000BB).
 	p targetHardwareAddress: (MACAddress fromInteger: 0).
 		yourself.
 ))
 class EthernetFrame fromByteArray: a = (
-"Detailed description: http://www.infocellar.com/networks/ethernet/frame.htm"|
+(*Detailed description: http://www.infocellar.com/networks/ethernet/frame.htm*)|
 	bytes = a.
 |)
 ('accessing'
 	f:: EthernetFrame withPayload: p asByteArray.
 	f destination: MACAddress broadcast.
 	f source: (MACAddress fromInteger: 16r080027D3705F).
-	f type: 16r806. "ARP_ETHERTYPE"
+	f type: 16r806. (*ARP_ETHERTYPE*)
 	^f
 )
 withPayload: payload = (
 
-	"assert: [(payload size >= 46) & (payload size <= 1500)] 
-		message: 'Invalid payload length'."
+	(*assert: [(payload size >= 46) & (payload size <= 1500)] 
+		message: 'Invalid payload length'.*)
 
 	^(self fromByteArray: (ByteArray new: payload size + 6 + 6 + 2))
 		payload: payload
 ))
 class IPv4Address fromInteger: i = (
-"Describe the class in this comment."|
+(*Describe the class in this comment.*)|
 	asInteger = i.
 |)
 ('as yet unclassified'
 asByteArray = (
-	"Note that MAC addresses are written in big endian order."
+	(*Note that MAC addresses are written in big endian order.*)
 	| a = ByteArray new: 4. |
 	a at: 1 put: ((asInteger >> 24) bitAnd: 16rFF).
 	a at: 2 put: ((asInteger >> 16) bitAnd: 16rFF).
 |)
 ('as yet unclassified'
 asByteArray = (
-	"Note that MAC addresses are written in big endian order."
+	(*Note that MAC addresses are written in big endian order.*)
 	| a = ByteArray new: 6. |
 	a at: 1 put: ((asInteger >> 40) bitAnd: 16rFF).
 	a at: 2 put: ((asInteger >> 32) bitAnd: 16rFF).
 	^self fromInteger: 16rFFFFFFFFFFFF
 )
 fromByteArray: a = (
-	"Note that MAC addresses are written in big endian order."
+	(*Note that MAC addresses are written in big endian order.*)
 	| addr ::= 0. |
 	1 to: 6 do: [:octet | addr:: (addr << 8) bitOr: (a at: octet)].
 	^self fromInteger: addr.
 	| arp frame |
 
 	arp:: ARPPacket new.
-	arp operation: 1. "request"
+	arp operation: 1. (*request*)
 	arp senderHardwareAddress: eth macAddress.
 	arp senderProtocolAddress: (IPv4Address fromInteger: 16r0A0000BB).
 	arp targetHardwareAddress: (MACAddress fromInteger: 0).
 	frame:: EthernetFrame withPayload: arp asByteArray.
 	frame destination: MACAddress broadcast.
 	frame source: eth macAddress.
-	frame type: 16r806. "ARP_ETHERTYPE"
+	frame type: 16r806. (*ARP_ETHERTYPE*)
 
 	eth send: frame.
 )) : ()'as yet unclassified'