Repository navigation
Releases
Odin Turbo Pascal 3.0.0-beta.1
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
odinpcasli, rangkuman, dan latihan. Gambar di Bab 22 adalah piksel jendela grafik yang sebenarnya:scripts/build_book.pymenerima framebuffer program lewatGraphChannelseperti 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
odinpcasli di bagian kesalahan. Grafik SVG yang ditulis contoh OTP-AI saat dijalankan ikut ditampilkan (tagx-svgdiscripts/build_book.py), dan contoh dijalankan dengan folder kerja yang menemukan../DATAseperti 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
odinpcdi 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, dandesktop. Ukuran font editor bawaan kini 14. DebugSessionmenerima sambungan TCP dariodinpc debugdi 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, jadibuild_setup_windows.pymengirim 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) dantests/test_icons.py. PemasangOdinTurboPascal-3.0.0-beta.1-macos-x86_64.pkgdipasang 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 (.pkgIntel dan Apple Silicon, setup Windows,.runx86_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) danOdinTurboPascal-3.0.0-beta.1-macos-arm64.pkg(Apple Silicon): pemasang offline, memasang ke~/Applicationstanpa 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-256058e62d690824e3f8b8fb1d6380bc402a5e7b3d0a6d366fe8ce6b632b02c60beBelajar_Pemrograman_Bahasa_Pascal-3.0.0-beta.1.pdf: buku tutorial 537 halaman (Bab 1–24), SHA-256cb81cf8df0a9f9da91c5e77509a62e725f8cc4c83fc392b3da517fc1b5e10855
Odin Turbo Pascal 2.9.0
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 diIMPLEMENTATION_PLAN.md). Bahasanya tetap Turbo Pascal 7 secara bawaan, danodinpckini juga memahami class seperti Delphi dan Free Pascal, tanpa direktif atau mode dan tanpa kata tercadang baru:class,class(Induk)dengan akarSystem.TObject, deklarasi forwardTFoo = class;, danclass of TFoo;- bagian
private,protected,public,published,strict private, danstrict protected(protectedkini juga berlaku untukobject); - constructor dan destructor (
Create,Destroy,Free),virtual/dynamic,override,abstract,reintroduce,inheriteddengan nama atau tanpa nama; propertylewat field, class var, atau getter/setter, termasuk property hanya-baca, property larik, dan property larikdefault;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
isdanas,withpada objek, typecast antara class,Pointer, dan integer.
System.TObjectdanTClass:Create,Destroy,Free,ClassName,ClassNameIs,ClassParent,ClassType,InstanceSize,InheritsFrom,ToString.- Unit Classes (
rtl/classes.pas):TListdanTStringList(Sorted,Find,CaseSensitive,Objects,LoadFromFile,SaveToFile). Unit Contnrs (rtl/contnrs.pas):TObjectListyang membebaskan objeknya sendiri.FreeAndNildi 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 (
asgagal). - Debugger: variabel class menampilkan isi field objeknya, dan
Obj.Fieldbisa dievaluasi di Watches dan Evaluate. - File › Examples - OOP...: sembilan contoh berbahasa Indonesia di
examples-oop/, darioop_01_class_pertama.passampai proyekoop_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 unitZOO.PAS, termasuk program TP7 yang memakai kata-kata class sebagai nama), 10 kasus galat semantikCLS_*, 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) dirtl/COMPILER_INTERFACE.md, BAHASA: TP7 DENGAN PERLUASAN CLASS didocs/COMPATIBILITY.txt, CLASS (PERLUASAN OOP), UNIT CLASSES, dan UNIT CONTNRS didocs/PASCAL.txt(juga di bantuan HTML dan F1).
Diubah
- Pointer maju
PFoo = ^TFookini selalu menunjukTFooyang dideklarasikan sesudahnya di bagiantypeyang sama, walaupun nama itu sudah terlihat dari luar (misalnyaSystem.TObject). UnitObjectsbergantung pada aturan ini. - Alias
T = Class;ke tipe bernamaClasskini dibaca sebagai deklarasi forward sebuah class.
Diperbaiki
- CI Windows: setup Inno Setup dijalankan dengan
MSYS_NO_PATHCONV=1. Git Bash mengubah/VERYSILENTdan 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_snapshotdi Windows: konsol Windows tidak punya blink, jadi Crt di sana menerangkan latar teks yang berkedip (sengaja, seperti Crt FPC di Windows). Tes kini membandingkan dengantests/pascal/crt/CRT_WINDOW.windows.snap, yang hanya berbeda di sel-sel itu. - Daftar isi
docs/PASCAL.txtterpotong 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
classessertaobjectsuntuk 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
maintanpa 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
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 programODIN_GRAPH_PORTdanODIN_GRAPH_TOKEN, danrtl/graph.pasmengirim framebuffer dengan run-length hanya untuk baris yang berubah, bersama palet (jadiSetRGBPalettetampil dengan warna sebenarnya) dan perubahan mode. Tombol yang diketik di jendela diteruskan ke program lewat input User screen, jadiReadKeybekerja. Jendela tetap dengan gambar terakhir bila program selesai tanpaCloseGraph, dan hilang saatCloseGraph,RestoreCrtModemenyembunyikannya, dan jendela yang ditutup tidak mematikan program. Tanpa IDE (terminal biasa) atau dengan setelangraph_window= false, Graph tetap memakai pratinjau terminal. - File › Examples - Graph...: 14 contoh di
examples-graph/(grafik_01_halo_grafik.passampaigrafik_14_teks_dan_font.pas): garis dan gaya garis, bentuk dasar, warna dan palet berputar, pola isian danFloodFill, grafik batang, diagram pai, grafik fungsi, animasi dua halaman, spriteGetImage/PutImagedengan 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
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), jadiGetPixel,GetImage, danPutImagememberi hasil piksel demi piksel.InitGraphmengenal 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/PutImagedengan lima operasi, dan teks (OutText,OutTextXY,SetTextStyle,SetTextJustify,TextWidth,TextHeight) dengan font bitmap 8 x 8. Tanpa berkas.BGIdan.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), danCrtIdleHook(dipanggil sebelumReadKey,KeyPressed, danDelay), dipakai Graph. - Unit WinDos (
rtl/windos.pas):DosdenganPChar, diteruskan keDos(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/MaxFuntuk 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,StrToIntdan variasiDef/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;OvrInitselalu berhasil karena seluruh kode ada di memori. Direktif{$O ...}diabaikan. - Tes:
tests/pascal/graph/(enam program yang mencetak framebuffer lewatGetPixel, ekspektasi.expect, dijalankantests/test_graph.pybersama tiga tes tampilan lewat PTY), korpus untuk Math, SysUtils, WinDos, dan Overlay.python3 tests/test_graph.py --blessmenulis ulang ekspektasi Graph. - Dokumen: bagian UNIT GRAPH, WINDOS, MATH, SYSUTILS, dan OVERLAY di
docs/PASCAL.txt(dan bantuan HTML), sertadocs/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
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 denganodinpc, 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.pdfdi 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 kinibab01_01_halo_dunia.pas. - Warna sintaks Turbo Biru Lembut aktif secara bawaan: latar biru tua
#000080dengan 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
Execmenjalankan 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.exe2.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
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-windowsdiodinpc: 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\danC:\). - Debugger terpadu lewat TCP 127.0.0.1.
- User screen ConPTY: Stop menghentikan seluruh pohon proses, dan
Ctrl+Csampai ke program. - Pemasang
Install.cmddanUninstall.cmd: mencari Python dengan Tk dan Free Pascal (menawarkan winget), memeriksa kompilasi dengan Free Pascal danodinpc.exe, lalu memasang di%LOCALAPPDATA%\Programs\OdinTurboPascaldengan pintasan Start dan Desktop. odinpc.exedibangun 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
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
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.1tampil di desktop IDE (di bawah logo), baris status saat startup, Help › About, jendela Environment, dan komentar contohHELLO.PASyang terbuka sebagai halaman bawaan. Semuanya diambil dari satu sumber, dan tag diHELLO.PASdiperbarui otomatis setiap kali bundle dibangun. scripts/set_version.py X.Y.Zmenaikkan 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.pymembuat ulangSHA256SUMS.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
- Unduh Source code (zip) di bawah, lalu ekstrak seluruhnya.
- 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
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 tipeobject, dengan unitSystem,Crt,Dos,Strings,Printer, danObjects. 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
- Unduh Source code (zip) di bawah, lalu ekstrak seluruhnya.
- 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.