<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 10/24/2023 10:34 PM, Vanessa Freudenberg via Cuis-dev wrote:
<blockquote
cite="mid:CAOWGXNCJtVL16kqqOEyiDAnftQc9VFVwSsX0Ze_8tStiUBzpFw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr">Hi all,
<div><br>
</div>
<div>I was trying to run Cuis on SqueakJS for fun. The spur
images need some prims that SqueakJS doesn't have yet, but
the v3 image worked. Or almost worked. The Transcript was
showing tons of errors which made the system unusable:</div>
<div><br>
</div>
</div>
</div>
<blockquote style="margin: 0pt 0pt 0pt 40px; border: medium
none; padding: 0px;">
<div class="gmail_quote">
<div>
<div>
<p style="margin: 0px; font-stretch: normal; font-size:
12px; line-height: normal; font-family: Helvetica;">HybridCanvas(MorphicCanvas)>>drawWorld:repair:</p>
</div>
</div>
</div>
<div class="gmail_quote">
<div>
<div>
<p style="margin: 0px; font-stretch: normal; font-size:
12px; line-height: normal; font-family: Helvetica;">BitBIt
>> copyBits failed. Will retry with parameters
rounded. Requested parameters are:</p>
</div>
</div>
</div>
<div class="gmail_quote">
<div>
<div>
<p style="margin: 0px; font-stretch: normal; font-size:
12px; line-height: normal; font-family: Helvetica;">#('dest,
source, halftone, rule:' Form(1512x807×32) nil a
Bitmap:1 of length 1 0)</p>
</div>
</div>
</div>
<div class="gmail_quote">
<div>
<div>
<p style="margin: 0px; font-stretch: normal; font-size:
12px; line-height: normal; font-family: Helvetica;">#('dest,
extent, source, clipOrigin, clipExtent' 523@46 158@280
0@0 0@0 681@326)</p>
</div>
</div>
</div>
<div class="gmail_quote">
<div>
<div>
<p style="margin: 0px; font-stretch: normal; font-size:
12px; line-height: normal; font-family: Helvetica;">#('colorMap'
a Bitmap:4096 of length 4096)</p>
</div>
</div>
</div>
<div class="gmail_quote">
<div>
<div>
<p style="margin: 0px; font-stretch: normal; font-size:
12px; line-height: normal; font-family: Helvetica;">#copyBitsAgain
failed. Requested BitBIt operation not performed. Call
stack follows:</p>
</div>
</div>
</div>
<div class="gmail_quote">
<div>
<div>
<p style="margin: 0px; font-stretch: normal; font-size:
12px; line-height: normal; font-family: Helvetica;">BitBitCanvasEngine(BitBIt)>>copyBitsAgain</p>
</div>
</div>
</div>
</blockquote>
<div class="gmail_quote">
<div dir="ltr">
<div><br>
</div>
<div>Turned out the BitBlt failed because some bitmaps were
1 word longer than width*height would require, and my (10
year old) version of BitBlt complained about that, it
expected an exact size match.</div>
<div><br>
</div>
<div>I implemented a workaround in my VM which warns about
the mismatch but doesn't fail the BitBlt primitive. It
works now, try it here 🎉</div>
<div><br>
</div>
<div> <a moz-do-not-send="true"
href="https://tinyurl.com/cuis6053" target="_blank">https://tinyurl.com/cuis6053</a><br>
</div>
<div><br>
</div>
<div>Cuis on a phone 😍 although not exactly usable there
(you could set highdpi to false in the URL but then the UI
gets huge).</div>
<div><br>
</div>
<div>
<div>But my question is: Was the image wrong or the VM?
I've never seen this problem in Squeak images, old or
new.</div>
<div><br>
</div>
<div>Vanessa</div>
</div>
<div><br>
</div>
<div><img src="cid:part1.08070504.02060405@cuis.st"
alt="IMG_0FC5A40A0908-1.jpeg" height="542" width="250"><br>
</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
Hi Vanessa,<br>
<br>
This is very nice, thank you!<br>
<br>
WRT the (self wordsPerLine * height) + 1, it is there because of a
bug in VectorEnginePlugin, that could access an invalid position
beyond the end. See senders of #VEPapi5. But as SqueakJS doesn't
include the VectorEnginePlugin, that hack is not needed. Just pushed
an update for that. In order to use it, you'd need to pull repo,
start Cuis with an OpenSmalltalk VM, do World / Changes / Install
new updates, then save the image.<br>
<br>
Still, I wonder why the Spur image flavors won't run on SqueakJS. Is
Cuis using some primitive that Squeak doesn't use? (I mean, Spur
Squeak does run on SqueakJS, right?) If so, do you plan to include
them? If not, please tell which they are, I can borrow workaround
code for them from older Cuis, or from Squeak, so Spur Cuis will run
on SqueakJS.<br>
<br>
Main reason is that in the future I'd like to have a single,
immediate, Unicode ready Character class. Right now Character is the
old byte style from Smalltalk-80, and UnicodeCodePoint is immediate
on Spur but not on V3. I'd like to clean all that.<br>
<br>
Thanks!<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>