# MMBasic Screen Refresh

**URL:** <https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906>\
**Category:** PicoCalc\
**Tags:** picocalc\
**Created:** [September 29, 2025, 5:17am UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906 "2025-09-29T05:17:06Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![M57](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/m57/32/12528_2.png) [@M57](https://forum.clockworkpi.com/u/M57)\
**Post date:** [September 29, 2025, 5:17am UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906/1 "2025-09-29T05:17:07Z")

</div>

I dont think its possible but I was curious to know if its possible to refresh the screen without having to write over already drawed pixels / images. In simpler terms, Im trying to use wireframe graphics for my Elite re-write but im having a problem with having to clear the screen every time objects change positions, I’d like to know if theres any sneaky ways around this?

---

<div class="post-metadata">

**Author:** ![pelrun](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/pelrun/32/12323_2.png) [@pelrun](https://forum.clockworkpi.com/u/pelrun)\
**Post date:** [September 29, 2025, 5:33am UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906/2 "2025-09-29T05:33:06Z")

</div>

You will always have to overdraw; either by filling the entire screen (or a subarea), or by drawing back over the lines you already drew but using the background colour.

Unfortunately the display and the way it’s connected don’t give us any good ways of accelerating things - every pixel that changes has to be explicitly written.

---

<div class="post-metadata">

**Author:** ![M57](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/m57/32/12528_2.png) [@M57](https://forum.clockworkpi.com/u/M57)\
**Post date:** [September 29, 2025, 5:47am UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906/3 "2025-09-29T05:47:11Z")

</div>

Damn. That sucks. I’m guessing its the same for micropython?

---

<div class="post-metadata">

**Author:** ![pelrun](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/pelrun/32/12323_2.png) [@pelrun](https://forum.clockworkpi.com/u/pelrun)\
**Post date:** [September 29, 2025, 8:09am UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906/4 "2025-09-29T08:09:11Z")

</div>

It’s a fundamental hardware limitation.

---

<div class="post-metadata">

**Author:** ![picouser](https://avatars.discourse-cdn.com/v4/letter/p/e495f1/32.png) [@picouser](https://forum.clockworkpi.com/u/picouser)\
**Post date:** [September 29, 2025, 8:29am UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906/5 "2025-09-29T08:29:34Z")

</div>

Do your writing to a framebuffer which can be cleared almost instantly and then use the framebuffer copy to update the screen. see [https://www.youtube.com/shorts/UXRmoCaHYkU](https://www.youtube.com/shorts/UXRmoCaHYkU) for a demo which was posted by the MMbasic author

Found another one here [https://www.youtube.com/watch?v=3BBCxP\_z\_vU](https://www.youtube.com/watch?v=3BBCxP_z_vU)

---

<div class="post-metadata">

**Author:** ![M57](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/m57/32/12528_2.png) [@M57](https://forum.clockworkpi.com/u/M57)\
**Post date:** [September 29, 2025, 8:30am UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906/6 "2025-09-29T08:30:32Z")

</div>

As far as i know, it still clears the screen before rewriting. (It feels like it stutters but it doesn’t. Id say it’s about 1fps id not half a frame per second)

---

<div class="post-metadata">

**Author:** ![maple](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/maple/32/12677_2.png) [@maple](https://forum.clockworkpi.com/u/maple)\
**Post date:** [September 29, 2025, 12:45pm UTC](https://forum.clockworkpi.com/t/mmbasic-screen-refresh/19906/7 "2025-09-29T12:45:29Z")

</div>

you can keep things that don’t change in the framebuffer and the things that change in the layer and erase only the layer (in mmbasic)
