hp 264x font update

This commit is contained in:
minjaesong
2020-11-23 15:06:02 +09:00
parent 387b82c563
commit 8b296aeb4a
4 changed files with 35 additions and 10 deletions

BIN
hp2640.kra LFS

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -35,12 +35,12 @@ open class GraphicsAdapter(val vm: VM, val config: AdapterConfig) :
return vm return vm
} }
private val WIDTH = config.width protected val WIDTH = config.width
private val HEIGHT = config.height protected val HEIGHT = config.height
private val VRAM_SIZE = config.vramSize protected val VRAM_SIZE = config.vramSize
private val TTY_FORE_DEFAULT = config.ttyDefaultFore protected val TTY_FORE_DEFAULT = config.ttyDefaultFore
private val TTY_BACK_DEFAULT = config.ttyDefaultBack protected val TTY_BACK_DEFAULT = config.ttyDefaultBack
private val theme = config.theme protected val theme = config.theme
internal val framebuffer = Pixmap(WIDTH, HEIGHT, Pixmap.Format.Alpha) internal val framebuffer = Pixmap(WIDTH, HEIGHT, Pixmap.Format.Alpha)
protected var rendertex = Texture(1, 1, Pixmap.Format.RGBA8888) protected var rendertex = Texture(1, 1, Pixmap.Format.RGBA8888)
@@ -50,7 +50,7 @@ open class GraphicsAdapter(val vm: VM, val config: AdapterConfig) :
rgba.shr((3 - channel) * 8).and(255) / 255f rgba.shr((3 - channel) * 8).and(255) / 255f
} }
protected val chrrom0 = Texture(config.chrRomPath) protected val chrrom0 = Texture(config.chrRomPath)
private val faketex: Texture protected val faketex: Texture
internal val spriteAndTextArea = UnsafeHelper.allocate(10660L) internal val spriteAndTextArea = UnsafeHelper.allocate(10660L)
protected val unusedArea = ByteArray(92) protected val unusedArea = ByteArray(92)
@@ -576,9 +576,9 @@ open class GraphicsAdapter(val vm: VM, val config: AdapterConfig) :
rendertex = Texture(framebuffer, Pixmap.Format.RGBA8888, false) rendertex = Texture(framebuffer, Pixmap.Format.RGBA8888, false)
outFBOs[1].inUse { outFBOs[1].inUse {
blendNormal(batch)
batch.shader = null batch.shader = null
batch.inUse { batch.inUse {
blendNormal(batch)
batch.color = decayColor batch.color = decayColor
batch.draw(outFBOs[0].colorBufferTexture, 0f, HEIGHT.toFloat(), WIDTH.toFloat(), -HEIGHT.toFloat()) batch.draw(outFBOs[0].colorBufferTexture, 0f, HEIGHT.toFloat(), WIDTH.toFloat(), -HEIGHT.toFloat())
} }

View File

@@ -1,10 +1,13 @@
package net.torvald.tsvm.peripheral package net.torvald.tsvm.peripheral
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.GL20
import com.badlogic.gdx.graphics.Pixmap import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.tsvm.VM import net.torvald.tsvm.VM
import net.torvald.tsvm.kB import net.torvald.tsvm.kB
import kotlin.math.absoluteValue
class TexticsAdapter(vm: VM) : GraphicsAdapter(vm, AdapterConfig( class TexticsAdapter(vm: VM) : GraphicsAdapter(vm, AdapterConfig(
"crt", "crt",
@@ -31,6 +34,8 @@ class TexticsAdapter(vm: VM) : GraphicsAdapter(vm, AdapterConfig(
0.64f 0.64f
)) {*/ )) {*/
private val crtGradTex = Texture("./crt_grad.png")
override fun peek(addr: Long): Byte? { override fun peek(addr: Long): Byte? {
return when (addr) { return when (addr) {
in 0 until 250880 -> (-1).toByte() in 0 until 250880 -> (-1).toByte()
@@ -45,4 +50,24 @@ class TexticsAdapter(vm: VM) : GraphicsAdapter(vm, AdapterConfig(
} }
} }
private val TEX_HEIGHT = WIDTH * Math.sqrt(HEIGHT.toDouble() / WIDTH).toFloat()
private val ALIGN = (HEIGHT - TEX_HEIGHT).absoluteValue / 2f
override fun render(delta: Float, batch: SpriteBatch, xoff: Float, yoff: Float) {
super.render(delta, batch, xoff, yoff)
// CRT's default grey
batch.inUse {
batch.enableBlending()
batch.setBlendFunction(GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_COLOR)
batch.color = Color.WHITE
batch.draw(crtGradTex, xoff, HEIGHT + ALIGN + yoff, WIDTH.toFloat(), -TEX_HEIGHT)
//batch.draw(crtGradTex, xoff, HEIGHT + yoff, WIDTH.toFloat(), -HEIGHT.toFloat())
}
}
override fun dispose() {
crtGradTex.dispose()
super.dispose()
}
} }