Jump to content

OxC0FFEE

Members
  • Posts

    84
  • Joined

  • Last visited

Recent Profile Visitors

3,308 profile views

OxC0FFEE's Achievements

Star Raider

Star Raider (3/9)

72

Reputation

  1. That would be true, if I weren't planning on using all the players for other purposes. I might actually be able to just use a normal-width screen and make sure there's nothing in the columns I want the PM to occupy (they won't be opaque and/or full-height, but rather used for a status display/map that's representative of the main display area.
  2. Yeah, the kernel definitely wouldn’t be worth it, and the other solutions change the display memory mapping so my concept wouldn’t work. Back to the drawing board!
  3. I want to make a (narrow) playfield shifted to the left by 4 characters, so the border is wider on the right, if possible. I know about SDMCTL and poking it to get the narrow, 32 character wide playfield, but is it also possible to shift the playfield left or right? Either would work for my purposes.
  4. Now that I've got most of my tenliner's game logic and details done, I get to the truly hard part and contemplate a rewrite. TBXL or Fastbasic... FB does offer procedures with arguments, but unless they're local variables inside the procedure (which I suspect they're not) I'm not sure it offers any benefit for writing recursive code. @dmsc?
  5. Agreed, the XEXs aren't bootable. The menu disk ATR autoruns turbobasic and loads the menu, which then BRUNs the XEXs. Any clue where to patch this attached XEX, for instance? I'm assuming it waits for keypress after displaying the atascii data, then returns to the OS, but I can't figure that out from the disassembly that the ATR explorer tool gives me. How would we substitute "4CE477" (or is "4C77E4" the proper byte order in the file?) for the part that returns to the OS? earthrise copy.xex
  6. Given that disassembled code I posted from one XEX above, after it displays the entry, is it looping and waiting for key? If so, and then on key it's trying to return, and hence crashing, would it be possible to add/subsitute something to cause it to coldboot instead? ASM is not my forte sadly. If this is possible then it's not ideal but presumably I could edit each XEX to do this to avoid crashing.
  7. Looking at one of the XEXs with ATRImageExplorer, I see a couple segments. I don't know much about segments and loading; is it possible to modify a value to load into a more compatible place in memory? If so, how? Here's an example of the first part of one of the XEXs: EARTHRISXEX (1249 bytes) Executable ; xex file EARTHRIS.XEX is 1249 bytes ; xex segment 006E at 2000:206D ; Disassembly of 2000 to 206D 2000 A9 4C LDA #$4C 2002 8D 30 02 STA $0230 ; SDLSTL SAVE DISPLAY LIST (LOW) 2005 A9 20 LDA #$20 2007 8D 31 02 STA $0231 ; SDLSTH SAVE DISPLAY LIST (HIGH) 200A AD 00 30 LDA $3000 200D 8D C8 02 STA $02C8 ; COLOR4 BACKGROUND 2010 AD 01 30 LDA $3001 2013 8D C6 02 STA $02C6 ; COLOR2 2016 AD 02 30 LDA $3002 2019 8D C5 02 STA $02C5 ; COLOR1 201C AD 10 D0 LDA $D010 ; TRIG0 201F F0 13 BEQ $2034 2021 AD 11 D0 LDA $D011 ; TRIG1 2024 F0 0E BEQ $2034 2026 AD 1F D0 LDA $D01F ; CONSOL 2029 29 01 AND #$01 202B F0 07 BEQ $2034 202D AD 0F D2 LDA $D20F ; SKSTAT 2030 29 04 AND #$04 2032 D0 E8 BNE $201C 2034 A9 00 LDA #$00 2036 8D 1D D0 STA $D01D ; GRACTL 2039 AA TAX 203A 9D 00 D0 STA $D000,X ; M0PF 203D E8 INX 203E D0 FA BNE $203A 2040 A9 FF LDA #$FF 2042 8D 01 D3 STA $D301 ; PORTB 2045 A9 40 LDA #$40 2047 8D 0E D4 STA $D40E ; NMIEN 204A 58 CLI 204B 60 RTS 204C 70 42 BVS $2090 204E 03 ??? 204F 30 02 BMI $2053 2051 02 ??? 2052 02 ??? 2053 02 ??? 2054 02 ??? 2055 02 ??? 2056 02 ??? 2057 02 ??? 2058 02 ??? 2059 02 ??? 205A 02 ??? 205B 02 ??? 205C 02 ??? 205D 02 ??? 205E 02 ??? 205F 02 ??? 2060 02 ??? 2061 02 ??? 2062 02 ??? 2063 02 ??? 2064 02 ??? 2065 02 ??? 2066 02 ??? 2067 02 ??? 2068 02 ??? 2069 02 ??? 206A 02 ??? 206B 41 4C EOR ($4C,X) ; DSTAT DISPLAY STATUS 206D 20 00 00 JSR $0000 ; LINZBS LINBUG STORAGE ; xex segment 0002 at 02E0:02E1 ; run at 2000 ; xex segment 0463 at 3000:3462 ; Disassembly of 3000 to 3462 3000 00 BRK ; Data 3001 to 31A8 (424 bytes) 3001 00 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 3010 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3030 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3040 00 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 3050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3070 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 3080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30C0 00 00 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 30D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30E0 00 00 00 00 00 00 00 00 00 0E 00 00 00 00 00 00 30F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3100 00 00 00 00 00 00 00 3F 00 00 00 00 00 00 00 00 3110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3120 00 00 00 00 00 00 00 00 00 00 00 00 00 49 8D 8A 3130 5B 4F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3140 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 3150 00 00 00 00 00 D6 80 8C BE C2 00 00 00 00 00 00 3160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3170 00 00 00 00 0E 00 00 00 00 00 00 00 00 BC 8C 86 3180 85 C7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31A0 00 00 00 00 00 4B C0 84 83 31A9 4C 00 00 JMP $0000 ; LINZBS LINBUG STORAGE 31AC 00 BRK 31AD 00 BRK ... a bunch more of this until EOF (atascii screen data, presumably)
  8. Similar to @phoney's question here, but in TBXL not FB. I have a menu disk I wrote in TurboBasic XL, and I'd like to cleanly launch executables (tiny, self-contained bootable .xex-es) from it. I'm using `BRUN`, and running into crashing and obvious memory loading issues. I've looked through De Re Atari, but the Atari memory map is still a bit of an eldritch art to me, so forgive me. Is there a more solid way of doing this, that doesn't crash? (specifically, these seem to crash when a key is pressed after they execute. I tried it in both A8MXa and Altirra, cofigs attached; don't have real hw to try it on). I think the underlying issue is that these expect a clean system to boot into, not to be loaded from TBXL; so is there a way to make this work better, like load it into a different part of memory, or reset memory to default before loading it? I've set up a Gr.8 screen and PMG in my menu, both of which use a bunch of RAM, so... I attached my current menu disk effort as an ATR for testing along with the basic file. Any ideas? Note I also tried a different way or executing the entries, which worked even less well: REM the old fragile basic executable loader way (even more fragile): xex$(len(xex$)+1)=chr$(155) poke 5534,0 poke 5535,192 x=adr(xex$) y=int(x/256) poke 853,y poke 852,x-256*y x=USR(ADR(["hL~)~{bbar}"])) atascii23 compo menu - ntsc version.atr atascii23 compo menu - ntsc version.bas
  9. Similar to @phoney's question here, but in TBXL not FB. I have a menu disk I wrote in TurboBasic XL, and I'd like to cleanly launch executables (tiny, self-contained bootable .xex-es) from it. I'm using `BRUN`, and running into crashing and obvious memory loading issues. I've looked through De Re Atari, but the Atari memory map is still a bit of an eldritch art to me, so forgive me. Is there a more solid way of doing this, that doesn't crash? (specifically, these seem to crash when a key is pressed after they execute. I tried it in both A8MXa and Altirra, cofigs attached; don't have real hw to try it on). I think the underlying issue is that these expect a clean system to boot into, not to be loaded from TBXL; so is there a way to make this work better, like load it into a different part of memory, or reset memory to default before loading it? I've set up a Gr.8 screen and PMG in my menu, both of which use a bunch of RAM, so... I attached my current menu disk effort as an ATR for testing along with the basic file. Any ideas? Note I also tried a different way or executing the entries, which worked even less well: REM the old fragile basic executable loader way (even more fragile): xex$(len(xex$)+1)=chr$(155) poke 5534,0 poke 5535,192 x=adr(xex$) y=int(x/256) poke 853,y poke 852,x-256*y x=USR(ADR(["hL~)~{bbar}"])) atascii23 compo menu - ntsc version.atr atascii23 compo menu - ntsc version.bas
  10. @Mark Simonson you might be interested to hear that there's an attempt to make an IDE (using VS code) for fastbasic, and that has mac compatibility. I just got it working on my M1 Macbook Pro and successfully compiling the starter project! https://github.com/EricCarrGH/fastbasic-starterproject hat tip to @Savetz et al at ANTIC Podcast for their latest ep in which they mentioned this. Maybe now I can get back in the tenliner game.
  11. Just a heads-up that Sigils could be moved from in-progress to completed. It's got a completed binary and github repo, if you'd like to update the post. Thanks for playing my game I'm currently noodling on some games and tools for this year's 10-liner contest.
  12. Tried that, got 25x the error: error: invalid argument '-std=c++14' not allowed with 'C' I'm going to see if updating XCode/commandline tools helps.
  13. I'm on an Apple Silicon M1 MBP running Monterey 12.5.1. I downloaded the latest release for mac, tried the cross-compiler, and got an error: kim@Kims-MBP fastbasic-v4 % ./fastbasic test.bas dyld[7657]: Symbol not found: (__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm) Referenced from: '/Users/kim/Downloads/fastbasic-v4/fastbasic' Expected in: '/usr/lib/libstdc++.6.dylib' zsh: abort ./fastbasic test.bas Tried to compile from source, but got a couple of errors, one about spaces between > > kim@Kims-MBP fastbasic % make Submodule 'testsuite/mini65' (https://github.com/dmsc/mini65-sim) registered for path 'testsuite/mini65' Cloning into '/Users/kim/Repositories/fastbasic/testsuite/mini65'... Submodule path 'testsuite/mini65': checked out '4b991c92d019a409db12e2315da85daead9a08aa' Compile CA65 Assembly FP src/actions.asm Assembly FP src/errors.asm Assembly FP src/memptr.asm Compile src/compiler/synt-emit-asm.cc In file included from src/compiler/synt-emit-asm.cc:20: In file included from src/compiler/synt-emit-asm.h:21: src/compiler/synt-sm-list.h:34:55: error: a space is required between consecutive right angle brackets (use '> >') std::map<std::string, std::unique_ptr<statemachine>> sms; ^~ > > src/compiler/synt-emit-asm.cc:27:15: warning: alias declarations are a C++11 extension [-Wc++11-extensions] using dcode = statemachine::dcode; ^ src/compiler/synt-emit-asm.cc:41:13: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &c : data) ^ src/compiler/synt-emit-asm.cc:41:21: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &c : data) ^ src/compiler/synt-emit-asm.cc:75:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto x = transform_bytes(data); ^ src/compiler/synt-emit-asm.cc:86:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto x = transform_bytes(data); ^ src/compiler/synt-emit-asm.cc:91:13: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &ch : str) ^ src/compiler/synt-emit-asm.cc:91:22: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &ch : str) ^ src/compiler/synt-emit-asm.cc:104:19: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &c : pc) ^ src/compiler/synt-emit-asm.cc:104:27: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &c : pc) ^ src/compiler/synt-emit-asm.cc:133:19: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &line : sm.get_code()) ^ src/compiler/synt-emit-asm.cc:133:30: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &line : sm.get_code()) ^ src/compiler/synt-emit-asm.cc:151:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.tok.map()) ^ src/compiler/synt-emit-asm.cc:151:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.tok.map()) ^ src/compiler/synt-emit-asm.cc:164:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:164:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:171:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:171:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:179:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:179:18: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:187:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:187:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:189:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:189:18: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:195:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:195:18: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ 25 warnings and 1 error generated. make: *** [build/obj/cxx/synt-emit-asm.o] Error 1 Then, after I put a space between them, I got this, longer and more serious standard library error: kim@Kims-MBP fastbasic % make Compile src/compiler/synt-emit-asm.cc src/compiler/synt-emit-asm.cc:27:15: warning: alias declarations are a C++11 extension [-Wc++11-extensions] using dcode = statemachine::dcode; ^ src/compiler/synt-emit-asm.cc:41:13: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &c : data) ^ src/compiler/synt-emit-asm.cc:41:21: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &c : data) ^ src/compiler/synt-emit-asm.cc:75:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto x = transform_bytes(data); ^ src/compiler/synt-emit-asm.cc:86:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto x = transform_bytes(data); ^ src/compiler/synt-emit-asm.cc:91:13: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &ch : str) ^ src/compiler/synt-emit-asm.cc:91:22: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &ch : str) ^ src/compiler/synt-emit-asm.cc:104:19: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &c : pc) ^ src/compiler/synt-emit-asm.cc:104:27: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &c : pc) ^ src/compiler/synt-emit-asm.cc:133:19: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &line : sm.get_code()) ^ src/compiler/synt-emit-asm.cc:133:30: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &line : sm.get_code()) ^ src/compiler/synt-emit-asm.cc:151:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.tok.map()) ^ src/compiler/synt-emit-asm.cc:151:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.tok.map()) ^ src/compiler/synt-emit-asm.cc:164:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:164:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:171:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:171:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:179:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:179:18: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:187:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:187:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto i : sl.ext.map()) ^ src/compiler/synt-emit-asm.cc:189:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:189:18: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:195:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-emit-asm.cc:195:18: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ 25 warnings generated. Compile src/compiler/synt-optimize.cc src/compiler/synt-optimize.cc:37:15: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &sm : sl.sms) ^ src/compiler/synt-optimize.cc:37:24: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &sm : sl.sms) ^ src/compiler/synt-optimize.cc:39:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto n = sm.second->name(); ^ src/compiler/synt-optimize.cc:42:19: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &sm2 : sl.sms) ^ src/compiler/synt-optimize.cc:42:29: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &sm2 : sl.sms) ^ src/compiler/synt-optimize.cc:52:23: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &sm2 : sl.sms) ^ src/compiler/synt-optimize.cc:52:33: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &sm2 : sl.sms) ^ src/compiler/synt-optimize.cc:80:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &n : to_delete) ^ src/compiler/synt-optimize.cc:80:17: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &n : to_delete) ^ src/compiler/synt-optimize.cc:98:15: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &sm : sl.sms) ^ src/compiler/synt-optimize.cc:98:24: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &sm : sl.sms) ^ src/compiler/synt-optimize.cc:102:13: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto n = sm.second->name(); ^ src/compiler/synt-optimize.cc:111:23: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(const auto &sm2 : sl.sms) ^ src/compiler/synt-optimize.cc:111:33: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(const auto &sm2 : sl.sms) ^ src/compiler/synt-optimize.cc:117:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &n : to_delete) ^ src/compiler/synt-optimize.cc:117:17: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &n : to_delete) ^ src/compiler/synt-optimize.cc:121:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ src/compiler/synt-optimize.cc:121:18: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto &sm : sl.sms) ^ 18 warnings generated. Compile src/compiler/synt-parser.cc src/compiler/synt-parser.cc:72:13: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto smi = sl.sms.find(name); ^ src/compiler/synt-parser.cc:80:17: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] auto sm = ^ src/compiler/synt-parser.cc:81:26: error: no member named 'make_unique' in namespace 'std' std::make_unique<statemachine>(p, name, sl.tok, sl.ext, sl.syms); ~~~~~^ src/compiler/synt-parser.cc:81:38: error: 'statemachine' does not refer to a value std::make_unique<statemachine>(p, name, sl.tok, sl.ext, sl.syms); ^ src/compiler/synt-sm.h:31:7: note: declared here class statemachine ^ src/compiler/synt-parser.cc:81:52: warning: expression result unused [-Wunused-value] std::make_unique<statemachine>(p, name, sl.tok, sl.ext, sl.syms); ^ src/compiler/synt-parser.cc:81:55: warning: expression result unused [-Wunused-value] std::make_unique<statemachine>(p, name, sl.tok, sl.ext, sl.syms); ^~~~ src/compiler/synt-parser.cc:81:64: warning: expression result unused [-Wunused-value] std::make_unique<statemachine>(p, name, sl.tok, sl.ext, sl.syms); ~~ ^~~ src/compiler/synt-parser.cc:81:72: warning: expression result unused [-Wunused-value] std::make_unique<statemachine>(p, name, sl.tok, sl.ext, sl.syms); ~~ ^~~ 6 warnings and 2 errors generated. make: *** [build/obj/cxx/synt-parser.o] Error 1 (it's a pity there's no <details><summary>...</summary>...</details> support here. Sorry about the wall of text.)
  14. It's always reminded me of Yar's Revenge (this time, an accident rather than by design)
  15. I'm getting the picture. It might just be easier to poke a fake "cursor" into the right place in the text window. Avoids the needing to tickle the screen editor and the last row/column issue.
×
×
  • Create New...