You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
1.1KB

  1. # E07-S03: build the single-file tokenizer PRG and a fresh D81 for it. The
  2. # editor-written SEQ file is added to the image after Vim creates it.
  3. [CmdletBinding()]
  4. param()
  5. $ErrorActionPreference = "Stop"
  6. $project = Split-Path $PSScriptRoot -Parent
  7. Import-Module (Join-Path $PSScriptRoot "lib\Nova128Test.psm1") -Force
  8. $out = Join-Path $project "build\vim-roundtrip"
  9. New-Item -ItemType Directory -Force -Path $out | Out-Null
  10. $link = Invoke-Nova128Link -Name "tokenize-seq" -BuildDir $out `
  11. -Config (Join-Path $project "cfg\compiler.cfg") -Sources @(
  12. (Join-Path $project "src\compiler\mmu.s"),
  13. (Join-Path $project "src\compiler\diskio.s"),
  14. (Join-Path $project "src\compiler\source.s"),
  15. (Join-Path $project "src\compiler\lexer.s"),
  16. (Join-Path $project "tests\disk\tokenize-seq.s"))
  17. if ((Get-Nova128Label $link.Labels "test_entry") -ne 0x1C0D) { throw "test_entry is not at `$1C0D" }
  18. $disk = Join-Path $out "tokenize-seq.d81"
  19. New-Nova128Disk -Path $disk -Files @(
  20. @{ Name = "tokenize-seq"; Path = $link.Program; Type = "prg" })
  21. Write-Host ("built {0}" -f $link.Program)
  22. Write-Host ("disk {0}" -f $disk)

Powered by TurnKey Linux.