Skip to content

Releases

Odin Turbo Pascal 3.0.0-beta.1

Pre-release

Choose a tag to compare

@Syamsuddin Syamsuddin released this 25 Oct 22:40

Warning

Pra-rilis. 3.0.0-beta.1 mengganti tampilan DOS dengan antarmuka berjendela modern. Rilis stabil tetap 2.9.0. Beta ini lulus seluruh tes di Mac Intel dan di CI lima runner, dan pemasang macOS Intel sudah dipasang dan dibuka di Mac pengembang; tampilan di Mac Apple Silicon, PC Windows, dan desktop Linux fisik belum diperiksa. Masukan sangat diharapkan.

Pra-rilis pertama OTP-Win: tampilan DOS diganti antarmuka berjendela modern (menu teks dengan dropdown, toolbar berikon, jendela editor, Output, dan Messages yang bisa digeser, diubah ukurannya, di-minimize, dan di-maximize di dalam jendela utama), dengan bahasa, toolchain, dan pintasan Turbo Pascal yang sama. Buku tutorial bertambah Bab 21–24 (class, grafik, dan AI dengan OTP-AI), menjadi 537 halaman. Ini beta: diuji di Mac Intel dan di CI lima runner, belum di perangkat fisik Apple Silicon, Windows, dan Linux.

Ditambahkan

  • Buku tutorial (Help › Buku) mendapat Bagian VII: Class dan Grafik. Bab 21 (Pemrograman Berorientasi Objek dengan Class) membahas kesembilan contoh File › Examples - OOP, dan Bab 22 (Grafik dengan Unit Graph) membahas keempat belas contoh File › Examples - Graph. Gaya kedua bab sama dengan bab lain: tujuan pembelajaran, infografik, listing, keluaran, penjelasan baris demi baris, kesalahan yang sering terjadi dengan pesan odinpc asli, rangkuman, dan latihan. Gambar di Bab 22 adalah piksel jendela grafik yang sebenarnya: scripts/build_book.py menerima framebuffer program lewat GraphChannel seperti IDE. Peta buku, penutup, daftar program (113 berkas), dan glosarium ikut diperbarui. Baris listing yang lebih lebar dari halaman kini dilipat di bawah indentasinya sendiri.
  • Buku tutorial (Help › Buku) kini membahas semua contoh bawaan: Bagian VIII: Kecerdasan Buatan dengan OTP-AI berisi Bab 23 (Machine Learning: Data dan Model Pertama) dan Bab 24 (Model Lanjutan dan AI Klasik) untuk kedua puluh contoh File › Examples - AI, dinomori menurut urutan topik di menu. Gayanya sama dengan bab lain, dari tujuan pembelajaran sampai latihan, dengan pesan odinpc asli di bagian kesalahan. Grafik SVG yang ditulis contoh OTP-AI saat dijalankan ikut ditampilkan (tag x-svg di scripts/build_book.py), dan contoh dijalankan dengan folder kerja yang menemukan ../DATA seperti di IDE. Peta buku, penutup, daftar program (133 berkas), glosarium, dan sampul ikut diperbarui.

Diubah

  • Antarmuka IDE berjendela modern (cabang OTP-Win, OTP_WIN_PLAN.md), menggantikan tiruan layar DOS:
    • menu teks di dalam jendela utama, sama di macOS, Linux, dan Windows (File, Edit, Search, Run, Compile, Debug, Options, Window, Help) dengan dropdown dan submenu File › Examples (Tutorial, AI, Graph, OOP) dan File › Open recent; di macOS bar menu global hanya berisi menu aplikasi, yang kini bernama Odin Turbo Pascal, bukan Python;
    • toolbar berikon dengan tooltip (odin/icons.py: ikon digambar dari bentuk sederhana dan di-encode ke PNG tanpa berkas gambar);
    • jendela child di dalam area kerja: editor, Output, Messages, Watches, Local variables, dan Call stack, masing-masing dengan bilah judul, tombol minimize/maximize/close, bisa digeser dan diubah ukurannya; menu Window dengan Tile, Cascade, Arrange icons, Zoom (F5), Next/Previous (F6/Shift+F6), Close, dan daftar jendela;
    • program berjalan di jendela Output (pengganti User screen); pesan compiler beserta perintah dan keluaran odinpc di jendela Messages, dan kompilasi yang gagal langsung menuju error pertama;
    • editor dengan nomor baris, sorotan baris kursor, menu klik kanan, tema Terang (bawaan) dan Gelap; status bar dengan baris/kolom, INS/OVR, dan encoding;
    • satu dialog Options bertab (Compiler, Directories, Editor, Environment) dengan Apply; ukuran font jendela Output tersendiri;
    • logo, tag versi, kredit penulis, hak cipta, dan lisensi di tengah area kerja.
  • Desktop tersimpan: saat keluar, Odin mengingat berkas yang terbuka (dengan posisi kursor dan breakpoint), jendela Output, Messages, dan debugger, beserta posisi, ukuran, dan keadaan minimize/maximize, lalu memulihkannya pada pembukaan berikutnya. Bisa dimatikan di Options › Environment.
  • Pengaturan baru di settings.json: theme, console_font_size, save_desktop, dan desktop. Ukuran font editor bawaan kini 14.
  • DebugSession menerima sambungan TCP dari odinpc debug di thread pembaca, sehingga jendela tidak tertahan selama debugger dimulai di Windows.
  • Fit Output: bila layar 80×25 tidak muat di jendela Output, huruf konsolnya mengecil (paling kecil 7 pt) sampai seluruh layar terlihat; bisa dimatikan di Options › Environment. Editor di tata letak awal kini setinggi 58% area kerja.
  • Setup Windows untuk versi pra-rilis: Inno Setup hanya menerima angka di VersionInfoVersion, jadi build_setup_windows.py mengirim versi tanpa akhiran pra-rilis (3.0.0) untuk kolom itu.

Diperbaiki

  • Halaman pembuka Bab 21 dan Bab 22 di buku: daftar program yang panjang memampatkan bagian atas berwarna, sehingga judul Bab 21 tertimpa lintasan nomor bab dan judul Bab 22 hilang. Bagian atas kini tidak menyusut, dan bab dengan lebih dari tujuh program memakai daftar ringkas satu baris.

Pengujian

  • Diuji di macOS Intel saja: seluruh tes Rust (191, termasuk korpus) dan 160 tes Python lulus (10 dilewati), termasuk tests/test_gui.py (38 tes: menu bar, jendela child, Tile/Cascade/minimize/maximize, geser dan ubah ukuran, toolbar dan tooltip, dialog Options, desktop tersimpan, Run/Debug/Ukur di jendela Output, Odin Vision dengan mouse) dan tests/test_icons.py. Pemasang OdinTurboPascal-3.0.0-beta.1-macos-x86_64.pkg dipasang di Mac Intel pengembang (installer -target CurrentUserHomeDirectory, pemeriksaan compile pascapasang lulus) dan aplikasinya dibuka lewat LaunchServices.
  • CI GitHub Actions di cabang OTP-Win: tes Rust (termasuk korpus) dan 146 tes Python, termasuk tes antarmuka berjendela, lulus di macOS Intel, macOS Apple Silicon, Ubuntu 24.04 x86_64 dan arm64, serta Windows Server 2025; keempat jenis pemasang (.pkg Intel dan Apple Silicon, setup Windows, .run x86_64 dan aarch64) dibangun dan lulus pemeriksaannya. Tampilan di Mac Apple Silicon, PC Windows, dan desktop Linux fisik belum diperiksa.

Pemasang macOS

  • OdinTurboPascal-3.0.0-beta.1-macos-x86_64.pkg (Mac Intel) dan OdinTurboPascal-3.0.0-beta.1-macos-arm64.pkg (Apple Silicon): pemasang offline, memasang ke ~/Applications tanpa kata sandi administrator, membawa Python 3.13 dengan Tk sendiri. Pemasang mengganti aplikasi Odin Turbo Pascal yang sudah ada (program Pascal dan pengaturan tidak berubah); simpan salinan aplikasi lama bila ingin kembali ke 2.9.0. Paket belum ditandatangani Apple: bila macOS menahannya, klik kanan lalu Open, atau System Settings › Privacy & Security › Open Anyway. Versi Intel dipasang dan dibuka di Mac Intel pengembang; versi Apple Silicon hanya dibangun dan diperiksa di CI.

SHA-256 Intel: c3d00df5fd19b5b70b84ca7d91abf41fe3c1c660397da008701271c8fb18e9a0
SHA-256 Apple Silicon: 3988f69318a79d597742878b7d77e07b6392c4dcf94da53fcd343d363803be00

Pemasang Windows x86_64

OdinTurboPascal-3.0.0-beta.1-Setup-x64.exe: pemasang per pengguna tanpa hak administrator, Windows 10 versi 1809 atau lebih baru. Dibangun dan diperiksa (pemasangan senyap, kompilasi dengan odinpc.exe) di runner Windows Server 2025; belum dicoba di PC Windows.

SHA-256: 676d99f4d759f05a6a19720f0daeca6910e0a17306770e4beb9816152b6f0183

Pemasang Linux

OdinTurboPascal-3.0.0-beta.1-linux-x86_64.run dan OdinTurboPascal-3.0.0-beta.1-linux-aarch64.run: pemasang offline tanpa root, sh BERKAS.run (hapus: --uninstall). Dibangun dan diperiksa di runner Ubuntu 24.04; belum dicoba di desktop Linux.

SHA-256 x86_64: 45fabef104bdf50beabc171d05acc8478f26e6f91abb8c6c701afed99296d782
SHA-256 aarch64: 549a111d811c2a721482928dcae9ac310d6fe0e6c236d9c00679dc8e05eeeaed

Lainnya

  • odinpc.exe: compiler Odin untuk Windows (dari CI), SHA-256 058e62d690824e3f8b8fb1d6380bc402a5e7b3d0a6d366fe8ce6b632b02c60be
  • Belajar_Pemrograman_Bahasa_Pascal-3.0.0-beta.1.pdf: buku tutorial 537 halaman (Bab 1–24), SHA-256 cb81cf8df0a9f9da91c5e77509a62e725f8cc4c83fc392b3da517fc1b5e10855

Odin Turbo Pascal 2.9.0

Choose a tag to compare

@Syamsuddin Syamsuddin released this 23 Oct 08:51

Rilis 2.9.0 memperluas bahasa Turbo Pascal 7 dengan OOP berbasis class (Tahap 10), tanpa mode khusus dan tanpa kata tercadang baru, sehingga program TP7 tetap dikompilasi apa adanya.

Ditambahkan

  • OOP berbasis class (Tahap 10 di IMPLEMENTATION_PLAN.md). Bahasanya tetap Turbo Pascal 7 secara bawaan, dan odinpc kini juga memahami class seperti Delphi dan Free Pascal, tanpa direktif atau mode dan tanpa kata tercadang baru:
    • class, class(Induk) dengan akar System.TObject, deklarasi forward TFoo = class;, dan class of TFoo;
    • bagian private, protected, public, published, strict private, dan strict protected (protected kini juga berlaku untuk object);
    • constructor dan destructor (Create, Destroy, Free), virtual/dynamic, override, abstract, reintroduce, inherited dengan nama atau tanpa nama;
    • property lewat field, class var, atau getter/setter, termasuk property hanya-baca, property larik, dan property larik default;
    • class var, class procedure/class function (juga virtual), dan constructor virtual yang dipanggil lewat rujukan class;
    • overload untuk method dan constructor, dengan versi yang paling cocok dengan tipe argumen;
    • operator is dan as, with pada objek, typecast antara class, Pointer, dan integer.
  • System.TObject dan TClass: Create, Destroy, Free, ClassName, ClassNameIs, ClassParent, ClassType, InstanceSize, InheritsFrom, ToString.
  • Unit Classes (rtl/classes.pas): TList dan TStringList (Sorted, Find, CaseSensitive, Objects, LoadFromFile, SaveToFile). Unit Contnrs (rtl/contnrs.pas): TObjectList yang membebaskan objeknya sendiri. FreeAndNil di SysUtils.
  • Galat compiler baru 904–910 (tipe class diharapkan, override tanpa method virtual, pemanggilan method abstract, akses property, overload tidak cocok atau ambigu, fitur khusus class) dan peringatan 1004 untuk method yang menyembunyikan method virtual. Runtime error baru: 211 (method abstract) dan 219 (as gagal).
  • Debugger: variabel class menampilkan isi field objeknya, dan Obj.Field bisa dievaluasi di Watches dan Evaluate.
  • File › Examples - OOP...: sembilan contoh berbahasa Indonesia di examples-oop/, dari oop_01_class_pertama.pas sampai proyek oop_09_proyek_toko.pas. Ikut dalam bundel macOS dan paket Windows.
  • Penyorot sintaks mengenali override, abstract, overload, published, strict, is, as, dan kata class lainnya.
  • Tes: korpus tests/pascal/classes/ (11 program dan unit ZOO.PAS, termasuk program TP7 yang memakai kata-kata class sebagai nama), 10 kasus galat semantik CLS_*, tes parser untuk sintaks class, test_class_fields_and_self (debugger), test_every_oop_example_compiles_and_runs, dan daftar File › Examples - OOP.
  • Dokumen: bagian Tahap 10 di IMPLEMENTATION_PLAN.md, bagian 9 (class) di rtl/COMPILER_INTERFACE.md, BAHASA: TP7 DENGAN PERLUASAN CLASS di docs/COMPATIBILITY.txt, CLASS (PERLUASAN OOP), UNIT CLASSES, dan UNIT CONTNRS di docs/PASCAL.txt (juga di bantuan HTML dan F1).

Diubah

  • Pointer maju PFoo = ^TFoo kini selalu menunjuk TFoo yang dideklarasikan sesudahnya di bagian type yang sama, walaupun nama itu sudah terlihat dari luar (misalnya System.TObject). Unit Objects bergantung pada aturan ini.
  • Alias T = Class; ke tipe bernama Class kini dibaca sebagai deklarasi forward sebuah class.

Diperbaiki

  • CI Windows: setup Inno Setup dijalankan dengan MSYS_NO_PATHCONV=1. Git Bash mengubah /VERYSILENT dan flag lain menjadi path, sehingga setup menunggu wizard dan langkah itu (serta tes Python Windows sesudahnya) gagal sejak setup ditambahkan.
  • Tes test_crt_screen_matches_snapshot di Windows: konsol Windows tidak punya blink, jadi Crt di sana menerangkan latar teks yang berkedip (sengaja, seperti Crt FPC di Windows). Tes kini membandingkan dengan tests/pascal/crt/CRT_WINDOW.windows.snap, yang hanya berbeda di sel-sel itu.
  • Daftar isi docs/PASCAL.txt terpotong sesudah UNIT GRAPH oleh paragraf Graph yang salah tempat; paragraf itu kini menggantikan teks lama di bagian UNIT GRAPH.

Pengujian

  • Diuji di macOS Intel: seluruh tes Rust (korpus 97 program dalam tiga mode build, galat semantik, parser) dan 147 tes Python (10 dilewati), termasuk debugger dan tes GUI. Seluruh korpus juga lulus di VM Lima Ubuntu 24.04 untuk x86_64-linux dan aarch64-linux (qemu-user), dan korpus classes serta objects untuk x86_64-windows lulus di bawah Wine.
  • CI GitHub Actions: tes Rust (termasuk korpus) dan tes Python lulus di macOS Intel, macOS Apple Silicon, Ubuntu 24.04 x86_64, dan Ubuntu 24.04 arm64. Di Windows Server 2025, tes Rust, pemeriksaan pemasang, dan setup lulus; 132 tes Python juga lulus setelah dua perbaikan di bagian Diperbaiki (setup CI dan snapshot Crt Windows); keduanya kegagalan lama yang juga muncul di main tanpa perubahan class. Mac Apple Silicon dan PC Windows fisik belum diuji langsung.

Pemasang Linux x86_64

OdinTurboPascal-2.9.0-linux-x86_64.run — pemasang offline tanpa root: sh OdinTurboPascal-2.9.0-linux-x86_64.run (hapus: --uninstall). Membawa IDE, odinpc, dan Python 3.13 dengan Tk sendiri, serta contoh OOP, Graph, dan OTP-AI. odinpc di paket ini dibangun dari source sebagai biner statis (target x86_64-unknown-linux-musl, linker rust-lld). Diuji di Ubuntu x86_64: pemasangan, pemeriksaan kompilasi, serta kompilasi dan eksekusi contoh OOP.

SHA-256: e64721385b5192f69b8d04a89fc6c610d14052e25e0f204fa116091fca6e83fc

Odin Turbo Pascal 2.8.0

Choose a tag to compare

@Syamsuddin Syamsuddin released this 22 Oct 17:11

Ditambahkan

  • Jendela grafik sungguhan: program yang memakai Graph kini membuka jendela Tk (odin/graphwindow.py) yang menampilkan piksel sebenarnya, bukan lagi hanya pratinjau setengah blok di User screen. IDE membuka soket TCP di 127.0.0.1 (odin/graphics.py), memberi program ODIN_GRAPH_PORT dan ODIN_GRAPH_TOKEN, dan rtl/graph.pas mengirim framebuffer dengan run-length hanya untuk baris yang berubah, bersama palet (jadi SetRGBPalette tampil dengan warna sebenarnya) dan perubahan mode. Tombol yang diketik di jendela diteruskan ke program lewat input User screen, jadi ReadKey bekerja. Jendela tetap dengan gambar terakhir bila program selesai tanpa CloseGraph, dan hilang saat CloseGraph, RestoreCrtMode menyembunyikannya, dan jendela yang ditutup tidak mematikan program. Tanpa IDE (terminal biasa) atau dengan setelan graph_window = false, Graph tetap memakai pratinjau terminal.
  • File › Examples - Graph...: 14 contoh di examples-graph/ (grafik_01_halo_grafik.pas sampai grafik_14_teks_dan_font.pas): garis dan gaya garis, bentuk dasar, warna dan palet berputar, pola isian dan FloodFill, grafik batang, diagram pai, grafik fungsi, animasi dua halaman, sprite GetImage/PutImage dengan XOR, Mandelbrot, jam analog, menggambar dengan tombol panah, dan teks. Ikut dalam bundel macOS dan paket Windows.
  • Tes: GraphChannelTests (protokol soket dan token), GraphExampleTests (keempat belas contoh dikompilasi dan berakhir sendiri), tes GUI jendela grafik dengan piksel sebenarnya, dan daftar File › Examples - Graph.

Pengujian

  • Diuji di macOS Intel: 144 tes Python dan seluruh tes Rust (korpus dalam tiga mode build). Jendela grafik dan kode soketnya baru dicoba di macOS Intel (tes GUI dengan jendela Tk sungguhan dan tes protokol); versi Windows (ws2_32) belum dijalankan di Windows.

Odin Turbo Pascal 2.7.0

Choose a tag to compare

@Syamsuddin Syamsuddin released this 22 Oct 16:54

Ditambahkan

  • Unit Graph (rtl/graph.pas): antarmuka BGI Turbo Pascal 7 lengkap. Gambar disimpan di framebuffer di memori (satu byte per piksel, resolusi asli mode BGI), jadi GetPixel, GetImage, dan PutImage memberi hasil piksel demi piksel. InitGraph mengenal driver CGA, MCGA, EGA, EGA64, EGAMono, IBM8514, HercMono, ATT400, VGA, dan PC3270 dengan semua modenya; ada garis dengan gaya dan ketebalan, mode tulis XOR, Rectangle, Bar, Bar3D, Circle, Arc, Ellipse, FillEllipse, PieSlice, Sector, DrawPoly, FillPoly, FloodFill, 12 pola isian dan pola buatan sendiri, palet (SetPalette, SetRGBPalette, SetBkColor), viewport dengan klip, halaman aktif dan visual, GetImage/PutImage dengan lima operasi, dan teks (OutText, OutTextXY, SetTextStyle, SetTextJustify, TextWidth, TextHeight) dengan font bitmap 8 x 8. Tanpa berkas .BGI dan .CHR: font stroke diganti font bitmap yang diskalakan.
  • Tampilan Graph di terminal: pratinjau kasar dengan karakter setengah blok (dua subpiksel per sel, 16 warna CRT, sekitar 80 x 50 titik di layar 80 x 25), diskalakan dan ditaruh di tengah dengan perbandingan lebar-tinggi yang benar. Teks BGI ditampilkan sebagai karakter asli supaya terbaca. Layar digambar ulang saat program menunggu lewat Crt, tiap 0,1 detik saat menggambar, dan saat program selesai; gambar terakhir tetap di layar bila program selesai tanpa CloseGraph. Keluaran yang dialihkan ke berkas tidak menampilkan apa-apa.
  • Unit Crt: CursorOn, CursorOff, CrtScreenWidth, CrtScreenHeight, CrtOutputIsTty, CrtPutText (menulis sel UTF-8 tanpa scroll), dan CrtIdleHook (dipanggil sebelum ReadKey, KeyPressed, dan Delay), dipakai Graph.
  • Unit WinDos (rtl/windos.pas): Dos dengan PChar, diteruskan ke Dos (FindFirst/FindNext, FileSplit, FileExpand, FileSearch, GetCurDir, SetCurDir, CreateDir, RemoveDir, GetArgStr, GetEnvVar, TSearchRec, fa*, fc*, fs*).
  • Unit Math (rtl/math.pas): trigonometri dan hiperbolik, Power, IntPower, Log10, Log2, LogN, Ceil, Floor, RoundTo, Min/Max (Int64; MinF/MaxF untuk Real), Sign, SameValue, statistik larik (Sum, Mean, StdDev, Variance, MomentSkewKurtosis, ...), fungsi keuangan, dan nilai khusus IEEE. Galat domain menjadi runtime error 207.
  • Unit SysUtils (rtl/sysutils.pas): IntToStr, IntToHex, StrToInt dan variasi Def/Try, StrToFloat, FloatToStr, FloatToStrF, FormatFloat, UpperCase, Trim, StringReplace, rutin nama berkas dan direktori, FileExists, DeleteFile, ForceDirectories, TDateTime (EncodeDate, DecodeDate, FormatDateTime, StrToDate, IncMonth, ...), Sleep, GetTickCount64. Tanpa kelas, exception, Format, dan parameter bawaan (galat konversi menjadi runtime error 106).
  • Unit Overlay (rtl/overlay.pas): antarmuka overlay TP7; OvrInit selalu berhasil karena seluruh kode ada di memori. Direktif {$O ...} diabaikan.
  • Tes: tests/pascal/graph/ (enam program yang mencetak framebuffer lewat GetPixel, ekspektasi .expect, dijalankan tests/test_graph.py bersama tiga tes tampilan lewat PTY), korpus untuk Math, SysUtils, WinDos, dan Overlay. python3 tests/test_graph.py --bless menulis ulang ekspektasi Graph.
  • Dokumen: bagian UNIT GRAPH, WINDOS, MATH, SYSUTILS, dan OVERLAY di docs/PASCAL.txt (dan bantuan HTML), serta docs/COMPATIBILITY.txt.

Pengujian

  • Diuji di macOS Intel: korpus (cargo test -p odinpc) dan suite Python. Korpus Math, SysUtils, WinDos, dan Overlay serta keenam program Graph juga dijalankan di VM Lima Ubuntu 24.04 (x86_64) dan di bawah qemu (aarch64) dengan keluaran yang sama. Unit baru dikompilasi untuk x86_64 Windows, tetapi belum dijalankan di Windows dan Apple Silicon fisik, dan tampilan Graph di terminal baru diuji di macOS Intel.

Odin Turbo Pascal 2.3.0

Choose a tag to compare

@Syamsuddin Syamsuddin released this 16 Oct 00:38

Rilis 2.3.0: Odin Turbo Pascal kini menyertakan buku tutorial berwarna penuh, Belajar Pemrograman Bahasa Pascal dengan ODIN Turbo Pascal, yang dibuka dari menu Help › Buku. Contoh bawaan diganti dengan tutorial 20 bab, dan editor memakai warna sintaks Turbo Biru Lembut. Toolchain Odin tidak berubah selain nomor versinya.

Buku tutorial (baru)

  • 403 halaman A4 berwarna penuh karya Syams Ideris: sampul, kata pengantar, daftar isi, 20 bab dalam enam bagian, penutup, dan enam lampiran (pemasangan, pintasan keyboard, kata tercadang, arti pesan kesalahan, daftar program, glosarium).
  • Gaya tutorial: setiap bab memuat infografik, gambar layar IDE, rangkuman, dan latihan bertingkat.
  • Ke-89 program dan unit contoh dibahas satu per satu: listing dicetak langsung dari examples/, keluaran adalah hasil menjalankan program dengan odinpc, dan pesan galat kompiler adalah pesan aslinya.
  • Gambar layar IDE digambar ulang dari menu, warna editor, dan kode asli aplikasi.
  • Menu Help › Buku, di atas About Odin, membuka docs/Belajar_Pemrograman_Bahasa_Pascal.pdf di aplikasi PDF bawaan sistem. PDF yang sama dilampirkan di rilis ini.

Lainnya

  • File › Examples berisi tutorial Pascal pemula: 90 berkas dalam 20 bab (89 program dan unit matematika.pas). Halaman bawaan IDE kini bab01_01_halo_dunia.pas.
  • Warna sintaks Turbo Biru Lembut aktif secara bawaan: latar biru tua #000080 dengan warna pastel. Mematikan Syntax colors di Options › Editor mengembalikan teks kuning klasik.
  • Pewarnaan sintaks sekitar 30 kali lebih cepat pada berkas besar.
  • Windows: program tidak lagi sesekali berhenti dengan runtime error 216 saat Exec menjalankan program lewat PATH.

Pengujian

  • Mac Intel (macOS 15.7, Python 3.13, Tk 9.1, FPC 3.2.2, Rust 1.99): 97 tes Python lulus (6 dilewati), termasuk tes GUI untuk Help › Buku; 177 tes Rust lulus.
  • GitHub Actions: kelima job lulus untuk rilis ini, yaitu macOS 15 Apple Silicon, macOS 15 Intel, Ubuntu 24.04 x86_64 dan arm64, serta Windows Server 2025 x86_64 (97 tes Python, 2 dilewati). odinpc.exe 2.3.0 dibangun di job Windows itu dan dilampirkan di sini.

Belum diverifikasi langsung: PC Windows fisik, Install.cmd lengkap (winget, pintasan, menu Start), Windows on ARM, Mac Apple Silicon dan PC Linux fisik, Install.command di Apple Silicon, Gatekeeper, dan pembukaan buku lewat Help › Buku di luar Mac Intel. Halaman buku diperiksa lewat gambar hasil render, belum satu per satu di aplikasi pembaca PDF. Tidak ada klaim bahwa bundel telah ditandatangani atau dinotarisasi Apple, maupun bahwa odinpc.exe ditandatangani.

Rincian: CHANGELOG.md

Lisensi GNU GPL v3 atau yang lebih baru, hak cipta (c) 2026 Syams Ideris.

Odin Turbo Pascal 2.2.0

Choose a tag to compare

@Syamsuddin Syamsuddin released this 15 Oct 15:52

Rilis 2.2.0: IDE, toolchain Odin (compiler, debugger terpadu, Odin Vision) kini juga berjalan di Windows (x86_64). Rilis ini juga membawa dukungan Apple Silicon dan Linux dari 2.1.0-alpha.1; tidak ada rilis 2.1.0 terpisah.

Dukungan per mesin

Mesin Backend Odin Debugger Cara memasang Diuji di
Mac Intel (x86_64) ✅ bawaan ✅ Install.command Mac pengembang + runner CI
Mac Apple Silicon (arm64) ✅ bawaan ✅ Install.command (bundel berisi odinpc universal) runner GitHub Actions macOS 15 arm64
Linux x86_64 ✅ bawaan ✅ dari source (lihat README › Linux) VM Ubuntu 24.04 + runner CI
Linux arm64 ✅ bawaan ✅ dari source qemu + runner CI Ubuntu arm64
Windows 10 1809+ (x86_64) ✅ bawaan (baru) ✅ (baru) Install.cmd (paket berisi toolchain/odinpc.exe) runner GitHub Actions Windows Server 2025

Linux butuh glibc 2.34+ (Ubuntu 22.04+, Debian 12+, Fedora 35+). Windows on ARM belum didukung.

Yang baru di Windows

  • Target x86_64-windows di odinpc: konvensi panggil Win64 dan linker PE32+ (kernel32.dll + ucrtbase.dll).
  • Runtime library Windows: System, Crt (konsol VT), Dos (FindFirst, Exec, path dengan huruf drive), Printer, dan Odin Vision (lapisan konsol Windows, dialog berkas dengan \ dan C:\).
  • Debugger terpadu lewat TCP 127.0.0.1.
  • User screen ConPTY: Stop menghentikan seluruh pohon proses, dan Ctrl+C sampai ke program.
  • Pemasang Install.cmd dan Uninstall.cmd: mencari Python dengan Tk dan Free Pascal (menawarkan winget), memeriksa kompilasi dengan Free Pascal dan odinpc.exe, lalu memasang di %LOCALAPPDATA%\Programs\OdinTurboPascal dengan pintasan Start dan Desktop.
  • odinpc.exe dibangun di runner CI Windows. Salinannya juga dilampirkan di rilis ini.

Pengujian

  • Mac Intel: 92 tes Python (6 tes khusus Windows dilewati), 185 tes Rust, korpus diferensial 77 program (build biasa dan debug) identik dengan Free Pascal 3.2.2.
  • Runner GitHub Actions Windows Server 2025: korpus 77 program (biasa dan debug) identik dengan Free Pascal 3.2.2 untuk Windows; 92 tes Python lulus (2 tes khusus Unix dilewati), termasuk GUI, debugger, dan Odin Vision di ConPTY; pemeriksaan kompilasi dan penyalinan pemasang lulus.
  • macOS 15 Intel dan Apple Silicon serta Ubuntu 24.04 x86_64 dan arm64 tetap lulus di CI.

Belum diverifikasi langsung: PC Windows fisik, Install.cmd lengkap (winget, pintasan, menu Start), Windows on ARM, Mac Apple Silicon dan PC Linux fisik, Install.command di Apple Silicon, dan Gatekeeper. Tidak ada klaim bahwa bundel telah ditandatangani atau dinotarisasi Apple, maupun bahwa odinpc.exe ditandatangani.

Rincian: CHANGELOG.md

Lisensi GNU GPL v3 atau yang lebih baru, hak cipta (c) 2026 Syams Ideris.

Odin Turbo Pascal 2.1.0-alpha.1

Pre-release

Choose a tag to compare

@Syamsuddin Syamsuddin released this 15 Oct 14:21

Rilis alfa pertama menuju 2.1.0: toolchain Odin (compiler, debugger terpadu, Odin Vision) kini juga berjalan di Apple Silicon dan Linux.

Dukungan per mesin

Mesin Backend Odin Debugger Cara memasang Diuji di
Mac Intel (x86_64) ✅ bawaan ✅ Install.command Mac pengembang + runner CI
Mac Apple Silicon (arm64) ✅ bawaan (baru) ✅ (baru) Install.command (bundel berisi odinpc universal) runner GitHub Actions macOS 15 arm64
Linux x86_64 ✅ bawaan (baru) ✅ (baru) dari source (lihat README › Linux) VM Ubuntu 24.04 + runner CI
Linux arm64 ✅ bawaan (baru) ✅ (baru) dari source qemu + runner CI Ubuntu arm64
Windows ⏳ belum didukung ⏳ — sedang dikerjakan untuk 2.2.0

Linux butuh glibc 2.34+ (Ubuntu 22.04+, Debian 12+, Fedora 35+).

Yang baru

  • Codegen AArch64, encoder dan assembler arm64 (575 encoding diverifikasi terhadap clang).
  • Linker ELF (PIE dinamis untuk glibc) di samping Mach-O.
  • Runtime library per sistem operasi (macOS/Linux × x86_64/arm64); di arm64, galat floating point tetap menjadi runtime error 200/205/207 seperti di x86-64.
  • User screen menjawab permintaan posisi kursor (Crt milik FPC di Linux tidak lagi macet), dan keluaran program yang sangat cepat tidak lagi hilang di macOS.
  • CI GitHub Actions di lima runner.

Pengujian

  • Mac Intel: 92 tes Python, 185 tes Rust, korpus diferensial 77 program (build biasa dan debug) identik dengan Free Pascal 3.2.2.
  • Korpus yang sama lulus di VM Ubuntu (x86_64, dan aarch64 lewat qemu) dan berjalan native di runner GitHub Actions macOS Apple Silicon, Ubuntu x86_64, dan Ubuntu arm64, bersama tes IDE dengan backend Odin (GUI, debugger, Odin Vision).

Belum diverifikasi langsung: Mac Apple Silicon dan PC Linux fisik, Install.command di Apple Silicon, Gatekeeper, dan seluruh dukungan Windows. Tidak ada klaim bahwa bundel telah ditandatangani atau dinotarisasi Apple.

Rincian: CHANGELOG.md

Lisensi GNU GPL v3 atau yang lebih baru, hak cipta (c) 2026 Syams Ideris.

Odin Turbo Pascal 2.0.1

Choose a tag to compare

@Syamsuddin Syamsuddin released this 15 Oct 10:46

Rilis perbaikan kecil setelah 2.0.0. Compiler, runtime library, dan debugger sama dengan 2.0.0.

Yang baru

  • Tag versi selalu terlihat. v2.0.1 tampil di desktop IDE (di bawah logo), baris status saat startup, Help › About, jendela Environment, dan komentar contoh HELLO.PAS yang terbuka sebagai halaman bawaan. Semuanya diambil dari satu sumber, dan tag di HELLO.PAS diperbarui otomatis setiap kali bundle dibangun.
  • scripts/set_version.py X.Y.Z menaikkan nomor versi di semua berkas yang menuliskannya dan mengubah bagian [Unreleased] di CHANGELOG menjadi rilis baru. Skrip hanya menulis bila semua pola cocok.
  • scripts/update_checksums.py membuat ulang SHA256SUMS.json.

Dukungan per mesin

Sama dengan 2.0.0.

Mesin Backend compiler Debugger Status
Mac Intel (x86_64), macOS 11+ Odin native (bawaan), Free Pascal bisa dipilih Debugger terpadu Diuji di macOS 15.7
Apple Silicon (arm64), macOS 11+ Free Pascal (dipakai otomatis) Belum ada Belum diverifikasi di perangkat asli
Linux Free Pascal, dijalankan dari source Belum ada Terakhir diuji di rilis 1.0.0

Instalasi

  1. Unduh Source code (zip) di bawah, lalu ekstrak seluruhnya.
  2. Buka Install.command. Bila versi lama sudah terpasang, pemasang menawarkan untuk menggantinya dan menyimpan cadangan.

Pengujian

Di Mac Intel (macOS 15.7, Python 3.13, Tk 9.1, Free Pascal 3.2.2, Rust 1.99):

  • 58 tes Python lulus, termasuk 17 tes GUI dengan jendela Tk sungguhan, 4 tes snapshot Odin Vision, dan 2 tes versi;
  • 110 tes Rust lulus;
  • 77 program uji memberi keluaran dan kode keluar yang sama dengan Free Pascal 3.2.2, baik dengan build biasa maupun build debug.

Belum diverifikasi langsung: Apple Silicon, peluncuran lewat Finder/LaunchServices, Gatekeeper, Option sebagai Alt di keyboard Mac sungguhan, dan pencetakan lewat Printer. Tidak ada klaim bahwa bundel telah ditandatangani atau dinotarisasi Apple.

Rincian: CHANGELOG.md · Perbandingan: v2.0.0...v2.0.1

Lisensi GNU GPL v3 atau yang lebih baru, hak cipta (c) 2026 Syams Ideris.

Odin Turbo Pascal 2.0.0

Choose a tag to compare

@Syamsuddin Syamsuddin released this 15 Oct 10:29

Odin Turbo Pascal 2.0.0 membawa toolchain Pascal milik Odin sendiri: compiler, assembler, linker Mach-O, runtime library, debugger terpadu, dan Odin Vision (Turbo Vision milik Odin). Semuanya ditulis dari nol dengan Rust dan Pascal. Di Mac Intel, toolchain ini menjadi backend bawaan. Free Pascal tetap tersedia sebagai pilihan di Options › Compiler.

Dukungan per mesin

Mesin Backend compiler Debugger Status
Mac Intel (x86_64), macOS 11+ Odin native (bawaan), Free Pascal bisa dipilih Debugger terpadu Diuji di macOS 15.7
Apple Silicon (arm64), macOS 11+ Free Pascal (dipakai otomatis) Belum ada Belum diverifikasi di perangkat asli
Linux Free Pascal, dijalankan dari source Belum ada Terakhir diuji di rilis 1.0.0

Dukungan Apple Silicon dan Linux untuk toolchain Odin direncanakan untuk rilis 2.1.0.

Yang baru sejak 1.0.0

  • Toolchain Odin native (odinpc): bahasa Turbo Pascal 7, termasuk tipe object, dengan unit System, Crt, Dos, Strings, Printer, dan Objects. Pesan galat berbahasa Indonesia dengan nomor gaya TP7. Tidak memerlukan Free Pascal maupun Xcode.
  • Debugger terpadu pengganti konsol LLDB: breakpoint, Trace into (F7), Step over (F8), Go to cursor (F4), jendela Watches, Local variables, dan Call stack, serta Evaluate/Modify (Ctrl+F7).
  • Odin Vision: menu, jendela, dialog, dialog berkas, editor, dan outline, dengan dukungan keyboard dan mouse. Contohnya ada di examples/VISION.PAS.
  • User screen meneruskan mouse, tombol bermodifier, dan Alt+huruf ke program, serta mendukung layar alternatif.
  • Logo dan ikon baru.

Rinciannya ada di CHANGELOG.md.

Instalasi

  1. Unduh Source code (zip) di bawah, lalu ekstrak seluruhnya.
  2. Buka Install.command. Pemasang mendeteksi chip Mac, memeriksa Python dengan Tk, Free Pascal, dan Xcode Command Line Tools, lalu mengompilasi dan menjalankan program uji sebelum memasang.

Pengujian

Di Mac Intel (macOS 15.7, Python 3.13, Tk 9.1, Free Pascal 3.2.2, Rust 1.99):

  • 56 tes Python lulus, termasuk 17 tes GUI dengan jendela Tk sungguhan dan 4 tes snapshot Odin Vision;
  • 110 tes Rust lulus;
  • 77 program uji memberi keluaran dan kode keluar yang sama dengan Free Pascal 3.2.2, baik dengan build biasa maupun build debug.

Belum diverifikasi langsung: Apple Silicon, peluncuran lewat Finder/LaunchServices, Gatekeeper, Option sebagai Alt di keyboard Mac sungguhan, dan pencetakan lewat Printer. Tidak ada klaim bahwa bundel telah ditandatangani atau dinotarisasi Apple.

Lisensi GNU GPL v3 atau yang lebih baru, hak cipta (c) 2026 Syams Ideris.